} /* stop rtk server -----------------------------------------------------------*/ static void stopsvr(vt_t *vt) { char s[3][MAXRCVCMD]={"","",""},*cmds[]={NULL,NULL,NULL}; int i,ret; trace(3,"stopsvr:\n"); if (!svr.state) return; /* read stop commads from command files */ for (i=0;i<3;i++) { if (!*rcvcmds[i]) continue; if (!readcmd(rcvcmds[i],s[i],1)) { printvt(vt,"no command file: %s\n",rcvcmds[i]); } else cmds[i]=s[i]; } /* stop rtk server */ rtksvrstop(&svr,cmds); /* execute stop command */ if (*stopcmd&&(ret=system(stopcmd))) { trace(2,"command exec error: %s (%d)\n",stopcmd,ret); printvt(vt,"command exec error: %s (%d)\n",stopcmd,ret); }
/* close procssing session ---------------------------------------------------*/ static void closeses(pcvs_t *pcvs, pcvs_t *pcvr) { trace(3,"closeses:\n"); /* free antenna parameters */ free(pcvs->pcv); pcvs->pcv=NULL; pcvs->n=pcvs->nmax=0; free(pcvr->pcv); pcvr->pcv=NULL; pcvr->n=pcvr->nmax=0; /* close geoid data */ closegeoid(); /* close solution statistics and debug trace */ rtkclosestat(); traceclose(); }