100 fprintf(
stderr,
"usage: makeBpt file.data [outfile]\n");
104 plastSlash = strrchr(argv[1],
'/');
105 plastSlash = (plastSlash ? plastSlash+1 : argv[1]);
106 outFilename = calloc(1,strlen(plastSlash)+2);
108 fprintf(
stderr,
"calloc failed\n");
111 strcpy(outFilename,plastSlash);
112 pext = strstr(outFilename,
".data");
114 fprintf(
stderr,
"Input file MUST have .data extension\n");
119 outFilename = calloc(1,strlen(argv[2])+1);
121 fprintf(
stderr,
"calloc failed\n");
124 strcpy(outFilename,argv[2]);
126 inFile = fopen(argv[1],
"r");
128 fprintf(
stderr,
"Error opening %s\n",argv[1]);
131 outFile = fopen(outFilename,
"w");
133 fprintf(
stderr,
"Error opening %s\n",outFilename);
139 while(isspace((
int)*pbeg) && *pbeg!=
'\0') pbeg++;
140 if(*pbeg ==
'!' || *pbeg ==
'\0')
continue;
141 while(*pbeg!=
'"' && *pbeg!=
'\0') pbeg++;
142 if(*pbeg!=
'"' ) errExit(
"Illegal Header");
144 while(*pend!=
'"' && *pend!=
'\0') pend++;
145 if(*pend!=
'"') errExit(
"Illegal Header");
147 if(len<=1) errExit(
"Illegal Header");
148 pname = calloc(len+1,
sizeof(
char));
150 fprintf(
stderr,
"calloc failed while processing line %d\n",linenum);
153 strncpy(pname,pbeg,len);
156 if(getNumber(&pbeg,&value)) errExit(
"Illegal Header");
158 if(getNumber(&pbeg,&value)) errExit(
"Illegal Header");
160 if(getNumber(&pbeg,&value)) errExit(
"Illegal Header");
162 if(getNumber(&pbeg,&value)) errExit(
"Illegal Header");
164 if(getNumber(&pbeg,&value)) errExit(
"Illegal Header");
166 if(getNumber(&pbeg,&value)) errExit(
"Illegal Header");
168 if(getNumber(&pbeg,&value)) errExit(
"Illegal Header");
170 if(getNumber(&pbeg,&value)) errExit(
"Illegal Header");
174 errExit(
"Illegal Header");
184 while(!getNumber(&pbeg,&value)) {
188 fprintf(
stderr,
"calloc failed (after header)" 189 " while processing line %d\n",linenum);
195 pnext->
next = pdataList;
196 pdataList->
value = value;
201 errExit(
"create_break failed: no name specified\n");
211 pdata[n] = pnext->
value;
214 free((
void *)pdataList);
218 errExit(
"create_break failed\n");
219 fprintf(outFile,
"breaktable(%s) {\n",pname);
220 for(n=0; n<nBreak; n++) {
221 fprintf(outFile,
"\t%f %f\n",
brkint[n].raw,
brkint[n].eng);
223 fprintf(outFile,
"}\n");
brkInt brkint[MAX_BREAKS]