size_t len = strlen(alt_asm);
char *cmd = malloc(len + 3);
- cmd[0] = '"';
- memcpy(&cmd[1], alt_asm, len);
- cmd[len + 1] = '"';
- cmd[len + 2] = '\0';
- pic16_linkCmd[0] = cmd;
+ if (0)
+ {
+ // fails for --asm="/bin/sh script.sh --options"
+ cmd[0] = '"';
+ memcpy(&cmd[1], alt_asm, len);
+ cmd[len + 1] = '"';
+ cmd[len + 2] = '\0';
+ }
+ else
+ {
+ // requires --asm="'my prog with spaces'"
+ memcpy(&cmd[0], alt_asm, len);
+ cmd[len] = 0;
+ }
+ pic16_asmCmd[0] = cmd;
}
if (alt_link && alt_link[0] != '\0')
{
- size_t len = strlen(alt_asm);
+ size_t len = strlen(alt_link);
char *cmd = malloc(len + 3);
- cmd[0] = '"';
- memcpy(&cmd[1], alt_link, len);
- cmd[len + 1] = '"';
- cmd[len + 2] = '\0';
+ if (0)
+ {
+ // fails for --link="/bin/sh script.sh --options"
+ cmd[0] = '"';
+ memcpy(&cmd[1], alt_link, len);
+ cmd[len + 1] = '"';
+ cmd[len + 2] = '\0';
+ }
+ else
+ {
+ // requires --link="'my prog with spaces'"
+ memcpy(&cmd[0], alt_link, len);
+ cmd[len] = 0;
+ }
pic16_linkCmd[0] = cmd;
}
- if (!pic16_options.no_crt)
+ if (!pic16_options.no_crt)
{
pic16_options.omit_ivt = 1;
pic16_options.leave_reset = 0;
}
- if (options.model == MODEL_SMALL)
- addSet(&asmOptionsSet, Safe_strdup("-DSDCC_MODEL_SMALL"));
+ if (options.model == MODEL_SMALL)
+ {
+ addSet(&asmOptionsSet, Safe_strdup("-DSDCC_MODEL_SMALL"));
+ }
else if(options.model == MODEL_LARGE)
{
char buf[128];
addSet(&asmOptionsSet, Safe_strdup(buf));
}
- if (STACK_MODEL_LARGE)
+ if (STACK_MODEL_LARGE)
{
addSet(&preArgvSet, Safe_strdup("-DSTACK_MODEL_LARGE"));
addSet(&asmOptionsSet, Safe_strdup("-DSTACK_MODEL_LARGE"));