diff --git a/src/rtkcmn.c b/src/rtkcmn.c index bb4ac760c..3bb325903 100644 --- a/src/rtkcmn.c +++ b/src/rtkcmn.c @@ -2698,33 +2698,44 @@ extern pcv_t *searchpcv(int sat, const char *type, gtime_t time, *-----------------------------------------------------------------------------*/ extern void readpos(const char *file, const char *rcv, double *pos) { - static double poss[2048][3]; - static char stas[2048][16]; - FILE *fp; - int i,j,len,np=0; - char buff[256],str[256]; + trace(3, "readpos: file=%s\n", file); - trace(3,"readpos: file=%s\n",file); + FILE *fp = fopen(file, "r"); + if (fp == NULL) { + fprintf(stderr, "reference position file open error : %s\n", file); + return; + } - if (!(fp=fopen(file,"r"))) { - fprintf(stderr,"reference position file open error : %s\n",file); - return; - } - while (np<2048&&fgets(buff,sizeof(buff),fp)) { - if (buff[0]=='%'||buff[0]=='#') continue; - if (sscanf(buff,"%lf %lf %lf %255s",&poss[np][0],&poss[np][1],&poss[np][2], - str)<4) continue; - sprintf(stas[np++],"%.15s",str); - } - fclose(fp); - len=(int)strlen(rcv); - for (i=0;i