/* libpbm1.c - pbm utility library part 1 ** ** Copyright (C) 1988 by Jef Poskanzer. ** ** Permission to use, copy, modify, and distribute this software and its ** documentation for any purpose and without fee is hereby granted, provided ** that the above copyright notice appear in all copies and that both that ** copyright notice and this permission notice appear in supporting ** documentation. This software is provided "as is" without express or ** implied warranty. */ #define _POSIX_SOURCE /* This makes sure fileno() is in stdio.h */ /* On some systems, all the POSIX declarations we need are there without _POSIX_SOURCE, so we just undefine it. */ #if defined(__OpenBSD__) || defined(__bsdi__) #undef _POSIX_SOURCE #undef _POSIX_C_SOURCE #endif #include #include "pbm.h" #include "version.h" #include "compile.h" #include "libpbm.h" #include "shhopt.h" void pbm_init(int *argcP, char *argv[]) { pm_init(argcP, argv); } void pbm_nextimage(FILE *file, int * const eofP) { pm_nextimage(file, eofP); } void pbm_check(FILE * file, const enum pm_check_type check_type, const int format, const int cols, const int rows, enum pm_check_code * const retval_p) { if (check_type != PM_CHECK_BASIC) { if (retval_p) *retval_p = PM_CHECK_UNKNOWN_TYPE; } else if (format != RPBM_FORMAT) { if (retval_p) *retval_p = PM_CHECK_UNCHECKABLE; } else { const unsigned int bytes_per_row = (cols+7)/8; const unsigned int need_raster_size = rows * bytes_per_row; pm_check(file, check_type, need_raster_size, retval_p); } }