242 case 'l': |
242 case 'l': |
243 settings.showlinenumbers = 0; |
243 settings.showlinenumbers = 0; |
244 break; |
244 break; |
245 case 'h': |
245 case 'h': |
246 printhelp(); |
246 printhelp(); |
247 return 0; |
247 return EXIT_SUCCESS; |
248 case 'v': |
248 case 'v': |
249 case 'V': |
249 case 'V': |
250 #ifdef VERSION_DEVELOP |
250 #ifdef VERSION_DEVELOP |
251 printf("%d.%d (unstable)\n", VERSION_MAJOR, VERSION_MINOR); |
251 printf("%d.%d (unstable)\n", VERSION_MAJOR, VERSION_MINOR); |
252 #else |
252 #else |
253 printf("%d.%d\n", VERSION_MAJOR, VERSION_MINOR); |
253 printf("%d.%d\n", VERSION_MAJOR, VERSION_MINOR); |
254 #endif |
254 #endif |
255 return 0; |
255 return EXIT_SUCCESS; |
256 default: |
256 default: |
257 return 1; |
257 return EXIT_FAILURE; |
258 } |
258 } |
259 } |
259 } |
260 |
260 |
261 if (optind != argc-1) { |
261 if (optind != argc-1) { |
262 printhelp(); |
262 printhelp(); |
266 FILE *fout; |
266 FILE *fout; |
267 if (settings.outfilename) { |
267 if (settings.outfilename) { |
268 fout = fopen(settings.outfilename, "w"); |
268 fout = fopen(settings.outfilename, "w"); |
269 if (!fout) { |
269 if (!fout) { |
270 perror("Error opening output file"); |
270 perror("Error opening output file"); |
271 return -1; |
271 return EXIT_FAILURE; |
272 } |
272 } |
273 } else { |
273 } else { |
274 fout = stdout; |
274 fout = stdout; |
275 } |
275 } |
276 |
276 |
277 if (copyfile(settings.headerfile, fout)) { |
277 if (copyfile(settings.headerfile, fout)) { |
278 perror("Error opening header file"); |
278 perror("Error opening header file"); |
279 retcode = -1; |
279 retcode = EXIT_FAILURE; |
280 goto prog_end; |
280 goto prog_end; |
281 } |
281 } |
282 |
282 |
283 highlighter_t highlighter; |
283 highlighter_t highlighter; |
284 highlighter_t *hptr = &highlighter; |
284 highlighter_t *hptr = &highlighter; |
306 fout, |
306 fout, |
307 settings.showlinenumbers); |
307 settings.showlinenumbers); |
308 freeinputfilebuffer(inputfile); |
308 freeinputfilebuffer(inputfile); |
309 } else { |
309 } else { |
310 perror("Error opening input file"); |
310 perror("Error opening input file"); |
311 retcode = -1; |
311 retcode = EXIT_FAILURE; |
312 } |
312 } |
313 |
313 |
314 if (copyfile(settings.footerfile, fout)) { |
314 if (copyfile(settings.footerfile, fout)) { |
315 perror("Error opening footer file"); |
315 perror("Error opening footer file"); |
316 retcode = -1; |
316 retcode = EXIT_FAILURE; |
317 } |
317 } |
318 |
318 |
319 prog_end: |
319 prog_end: |
320 if (fout != stdout) { |
320 if (fout != stdout) { |
321 fclose(fout); |
321 fclose(fout); |