i know, i know, i've done it a billion times myself --
but Hugs (in input.c) restricts the size of "preprocessors" and filenames
to 99 characters. a complicated command with pipes and full pathnames
could easily break this ---- giving rather confusing results to those not
in the know.
i would suggest re-coding the preprocessor code as follows:
if (preprocessor) {
int len = strlen(preprocessor) + strlen(nm) + 10;
char * cmd = (char *) malloc(len);
strncpy(cmd,preprocessor,len);
strncat(cmd," ",len);
strncat(cmd,nm,len);
cmd[len-1] = '\0'; /* paranoia */
inputStream = popen(cmd,"r");
free(cmd);
} else {
instead of what's there now:
if (preprocessor) {
char cmd[100];
strncpy(cmd,preprocessor,100);
strncat(cmd," ",100);
strncat(cmd,nm,100);
cmd[99] = '\0'; /* paranoia */
inputStream = popen(cmd,"r");
} else {
byron