diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2020-05-30 03:37:54 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2020-05-30 03:37:54 +0000 |
commit | aa17eb4f8424ea6548af66c7dbf819aecd399d57 (patch) | |
tree | 80c5a6850037c4aa5fa8cf51ab647cb363fe4923 /converter/other/cameratopam/stdio_nofail.c | |
parent | 34bdbe6cca8c6083c29682661cc9d26912561c04 (diff) | |
download | netpbm-mirror-aa17eb4f8424ea6548af66c7dbf819aecd399d57.tar.gz netpbm-mirror-aa17eb4f8424ea6548af66c7dbf819aecd399d57.tar.xz netpbm-mirror-aa17eb4f8424ea6548af66c7dbf819aecd399d57.zip |
Handle failed I/O
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3822 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/other/cameratopam/stdio_nofail.c')
-rw-r--r-- | converter/other/cameratopam/stdio_nofail.c | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/converter/other/cameratopam/stdio_nofail.c b/converter/other/cameratopam/stdio_nofail.c new file mode 100644 index 00000000..0ccfc5b4 --- /dev/null +++ b/converter/other/cameratopam/stdio_nofail.c @@ -0,0 +1,75 @@ +#include <stdio.h> +#include <string.h> +#include <errno.h> + +#include <netpbm/pm.h> + +#include "stdio_nofail.h" + + + +size_t +fread_nofail(void * const ptr, + size_t const size, + size_t const nmemb, + FILE * const streamP) { + + size_t rc; + + rc = fread(ptr, size, nmemb, streamP); + + if (rc < 0) + pm_error("File read failed. Errno=%d (%s)", errno, strerror(errno)); + + return rc; +} + + + +int +fgetc_nofail(FILE * streamP) { + + int rc; + + rc = fgetc(streamP); + + if (rc < 0) + pm_error("File read failed. Errno=%d (%s)", errno, strerror(errno)); + + return rc; +} + + + +int +fseek_nofail(FILE * const streamP, + long const offset, + int const whence) { + + int rc; + + rc = fseek(streamP, offset, whence); + + if (rc < 0) + pm_error("File read failed. Errno=%d (%s)", errno, strerror(errno)); + + return rc; +} + + + +long +ftell_nofail(FILE * const streamP) { + + long rc; + + rc = ftell(streamP); + + if (rc < 0) + pm_error("File read failed. Errno=%d (%s)", errno, strerror(errno)); + + return rc; +} + + + |