8#include "tpcclibConfig.h"
20static char *info[] = {
21 "Converts FIT files (1) to RES files (2).",
23 "Usage: @P [Options] fitfile(s)",
29 "1. https://www.turkupetcentre.net/petanalysis/format_tpc_fit.html",
30 "2. https://www.turkupetcentre.net/petanalysis/format_tpc_res.html",
32 "See also: fit2dat, rescoll, resdiff, res2html, reslist, resmatch, parformat",
34 "Keywords: FIT, RES, simulation, tool, results",
53int main(
int argc,
char **argv)
55 int ai, help=0, version=0, verbose=1;
56 int ret, fileNr=0, ffi=0;
57 char fitfile[FILENAME_MAX], resfile[FILENAME_MAX];
58 char *cptr, tmp[FILENAME_MAX];
67 if(argc==1) {
tpcPrintUsage(argv[0], info, stderr);
return(1);}
68 fitfile[0]=resfile[0]=(char)0;
71 for(ai=1; ai<argc; ai++)
if(*argv[ai]==
'-') {
72 cptr=argv[ai]+1;
if(*cptr==
'-') cptr++;
if(cptr==NULL)
continue;
74 fprintf(stderr,
"Error: invalid option '%s'.\n", argv[ai]);
79 if(help==2) {
tpcHtmlUsage(argv[0], info,
"");
return(0);}
84 for(; ai<argc; ai++) {
91 fprintf(stderr,
"Error: missing command-line argument; use option --help\n");
98 printf(
"fileNr := %d\n", fileNr);
109 for(ai=ffi; ai<argc; ai++) {
111 strlcpy(fitfile, argv[ai], FILENAME_MAX);
112 if(verbose>0 && fileNr>1) fprintf(stdout,
"%s :\n", fitfile);
117 strlcpy(resfile, fitfile, FILENAME_MAX);
118 cptr=strrchr(resfile,
'.');
if(cptr!=NULL) *cptr=(char)0;
119 strlcat(resfile,
".res", FILENAME_MAX);
120 if(verbose>2) printf(
"converting %s -> %s\n", fitfile, resfile);
125 if(verbose>2) printf(
"reading '%s'\n", fitfile);
126 if((ret=
fitRead(fitfile, &fit, verbose-2))) {
127 fprintf(stderr,
"Error in reading fit file: %s\n",
fiterrmsg);
134 if(verbose>2) printf(
"converting\n");
137 fprintf(stderr,
"Error: %s; not converted\n", tmp);
146 if(verbose>0) fprintf(stdout,
" writing %s\n", resfile);
147 ret=
resWrite(&res, resfile, verbose-3);
149 fprintf(stderr,
"Error in writing result file: %s\n",
reserrmsg);
161 fprintf(stderr,
"Error: no fit file was successfully converted.\n");
164 if(verbose>0) printf(
"converted %d fit file(s).\n", fileNr);
int fitToResult(FIT *fit, RES *res, char *status)
Header file for libtpccurveio.
int fitRead(char *filename, FIT *fit, int verbose)
int resWrite(RES *res, char *filename, int verbose)
Header file for libtpcmisc.
int tpcProcessStdOptions(const char *s, int *print_usage, int *print_version, int *verbose_level)
size_t strlcpy(char *dst, const char *src, size_t dstsize)
int tpcHtmlUsage(const char *program, char *text[], const char *path)
size_t strlcat(char *dst, const char *src, size_t dstsize)
void tpcPrintBuild(const char *program, FILE *fp)
void tpcPrintUsage(const char *program, char *text[], FILE *fp)