--- aumix-2.7/src/common.c.orig Thu Jul 13 13:33:30 2000 +++ aumix-2.7/src/common.c Wed Mar 14 20:12:00 2001 @@ -327,7 +327,7 @@ } } } - fclose(setfile); + CloseDefaultFile(setfile); return 0; } @@ -348,7 +348,7 @@ fprintf(setfile, "%s:%i:%i:%c\n", dev_name[i], (tmp & 0xFF), ((tmp >> 8) & 0xFF), ((1 << i) & recsrc ? 'R' : 'P')); } } - if (fclose(setfile)) + if (CloseDefaultFile(setfile)) return EFILE; return 0; } @@ -587,8 +587,25 @@ return NULL; } } else - setfile = fopen(save_filename, mode); + if(save_filename[0] == '-' && !save_filename[1]) + if(*mode == 'r') + setfile = stdin; + else + setfile = stdout; + else + setfile = fopen(save_filename, mode); return setfile; +} + +int CloseDefaultFile(FILE *file) +{ +/* Close the settings file for reading or writing. + FIXME: comment + */ + if(save_filename[0] == '-' && !save_filename[1]) + return 0; + else + return fclose(file); } int SetShowNoninter(int dev)