/* mrftopbm - convert mrf to pbm * public domain by RJM * * Adapted to Netpbm by Bryan Henderson 2003.08.09. Bryan got his copy from * ftp://ibiblio.org/pub/linux/apps/convert, dated 1997.08.19. * */ #include #include #include #include #include "pm_c_util.h" #include "nstring.h" #include "pbm.h" static int bitbox; static int bitsleft; static void bit_init(void) { bitbox=0; bitsleft=0; } static int bit_input(FILE * const in) { if (bitsleft == 0) { int rc; rc = fgetc(in); if (rc == EOF) pm_error("Unexpected EOF reading image data."); bitbox = rc; bitsleft = 8; } --bitsleft; return((bitbox&(1<= 1 && streq(argv[1], "-a")) { expandAll = TRUE; argc--,argv++; } if (argc-1 > 1) pm_error("Too many arguments: %d. Only argument is input file", argc-1); if (argc-1 == 1) ifP = pm_openr(argv[1]); else ifP = stdin; ofP = stdout; readMrfImage(ifP, expandAll, &image, &cols, &rows); pm_close(ifP); writeOutput(ofP, cols, rows, image); free(image); return 0; }