diff --git a/rffit.c b/rffit.c index 30104f5..6c18297 100644 --- a/rffit.c +++ b/rffit.c @@ -188,7 +188,7 @@ int identify_satellite_from_doppler(tle_array_t *tle_array, double rmsmax) } if (rmsname) { - printf("%05d: %.3f kHz %.6f MHz | %s\n", orb.satno, tle->name, rms, d.ffit/1000.0, tle->name); + printf("%05d: %.3f kHz %.6f MHz | %s\n", orb.satno, rms, d.ffit/1000.0, tle->name); } else { printf("%05d: %.3f kHz %.6f MHz\n", orb.satno, rms, d.ffit/1000.0); } @@ -294,7 +294,7 @@ int main(int argc,char *argv[]) float t,f,vtca,foffset=0.0; char c,nfdtca[32]="2014-01-01T00:00:00",nfd[32]="2014-01-01T00:00:00",nfdepoch[32]="2014-01-01T00:00:00"; int mode=0,posn=0,click=0; - char *catalog=NULL,*datafile=NULL,filename[64],string[64],bstar[10]=" 00000-0"; + char *catalog=NULL,*datafile=NULL,filename[64],default_filename[64],string[64],bstar[10]=" 00000-0"; int arg=0,nobs=0; FILE *fp,*std,*fpres; char line0[72],line1[72],line2[72]; @@ -1066,11 +1066,20 @@ int main(int argc,char *argv[]) // Save if (c=='S') { - printf("%s_%.3f_%04d_%05d.dat\n",nfdtca,d.ffit/1000.0,d.p[0].site_id,satno); - printf("Save highlighted points, provide filename: "); - status=scanf("%s",filename); - save_data(xmin,ymin,xmax,ymax,filename); - printf("\n================================================================================\n"); + snprintf(default_filename,sizeof(default_filename), "%s_%.3f_%04d_%05d.dat",nfdtca,d.ffit/1000.0,d.p[0].site_id,satno); + printf("Save highlighted points, provide filename [%s]: ", default_filename); + + if (fgets(filename, sizeof(filename), stdin)) { + // Strip newline + filename[strcspn(filename, "\n")] = '\0'; + + if (strlen(filename) == 0) { + strcpy(filename,default_filename); + } + + save_data(xmin,ymin,xmax,ymax,filename); + printf("\n================================================================================\n"); + } } // Unselect