static int read_ppm_init(int fd, struct ppm_info *ppm) { /* Check magic number. */ ppm->format = ppm_read_magic_number( fd ); if (ppm->format == PLUGIN_ERROR) return PLUGIN_ERROR; switch (ppm->format) { case PPM_FORMAT: case RPPM_FORMAT: return read_ppm_init_rest(fd, ppm); default: ppm_error( "Bad magic number - not a ppm or rppm file." ); return PLUGIN_ERROR; } return PLUGIN_OK; }
void read_ppm_init(int fd, int * const cols, int * const rows, int * const maxval, int * const format) { /* Check magic number. */ *format = ppm_read_magic_number( fd ); if (*format == PLUGIN_ERROR) return; switch (*format) { case PPM_FORMAT: case RPPM_FORMAT: if(read_ppm_init_rest(fd, cols, rows, maxval) == PLUGIN_ERROR) { *format = PLUGIN_ERROR; } break; default: ppm_error( "Bad magic number - not a ppm or rppm file." ); *format = PLUGIN_ERROR; } }