/* miscellaneous useful macros */
- #ifdef DONT_USE_B_MODE /* define mode parameters for fopen() */
- #define READ_BINARY "re"
- #define WRITE_BINARY "we"
+ #ifdef DONT_USE_B_MODE /* define mode parameters for fopen() */
-#define READ_BINARY "r"
-#define WRITE_BINARY "w"
++#define READ_BINARY "re"
++#define WRITE_BINARY "we"
#else
- #ifdef VMS /* VMS is very nonstandard */
- #define READ_BINARY "rb", "ctx=stm"
- #define WRITE_BINARY "wb", "ctx=stm"
- #else /* standard ANSI-compliant case */
- #define READ_BINARY "rbe"
- #define WRITE_BINARY "wbe"
- #endif
-#define READ_BINARY "rb"
-#define WRITE_BINARY "wb"
++#define READ_BINARY "rbe"
++#define WRITE_BINARY "wbe"
#endif
- #ifndef EXIT_FAILURE /* define exit() codes if not provided */
+ #ifndef EXIT_FAILURE /* define exit() codes if not provided */
#define EXIT_FAILURE 1
#endif
#ifndef EXIT_SUCCESS
/* INT32 must hold at least signed 32-bit values. */
- #ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
+ #ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
+ #ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */
+ #ifndef _BASETSD_H /* MinGW is slightly different */
+ #ifndef QGLOBAL_H /* Qt defines it in qglobal.h */
+ #define __INT32_IS_ACTUALLY_LONG
-typedef long INT32;
+typedef int INT32;
#endif
+ #endif
+ #endif
+ #endif
/* Datatype used for image dimensions. The JPEG standard only supports
* images up to 64K*64K due to 16-bit fields in SOF markers. Therefore
int scanno, ncomps, termchar;
long val;
jpeg_scan_info * scanptr;
- #define MAX_SCANS 100 /* quite arbitrary limit */
+ #define MAX_SCANS 100 /* quite arbitrary limit */
jpeg_scan_info scans[MAX_SCANS];
- if ((fp = fopen(filename, "r")) == NULL) {
+ if ((fp = fopen(filename, READ_BINARY)) == NULL) {
fprintf(stderr, "Can't open scan definition file %s\n", filename);
return FALSE;
}
#endif
#endif
- #ifdef DONT_USE_B_MODE /* define mode parameters for fopen() */
- #define READ_BINARY "re"
- #define WRITE_BINARY "we"
+ #ifdef DONT_USE_B_MODE /* define mode parameters for fopen() */
-#define READ_BINARY "r"
-#define WRITE_BINARY "w"
++#define READ_BINARY "re"
++#define WRITE_BINARY "we"
#else
- #ifdef VMS /* VMS is very nonstandard */
- #define READ_BINARY "rb", "ctx=stm"
- #define WRITE_BINARY "wb", "ctx=stm"
- #else /* standard ANSI-compliant case */
- #define READ_BINARY "rbe"
- #define WRITE_BINARY "wbe"
- #endif
-#define READ_BINARY "rb"
-#define WRITE_BINARY "wb"
++#define READ_BINARY "rbe"
++#define WRITE_BINARY "wbe"
#endif
- #ifndef EXIT_FAILURE /* define exit() codes if not provided */
+ #ifndef EXIT_FAILURE /* define exit() codes if not provided */
#define EXIT_FAILURE 1
#endif
#ifndef EXIT_SUCCESS
keep_COM = 0;
} else if (keymatch(arg, "cfile", 2)) {
if (++argn >= argc) usage();
- if ((comment_file = fopen(argv[argn], "r")) == NULL) {
+ if ((comment_file = fopen(argv[argn], READ_BINARY)) == NULL) {
- fprintf(stderr, "%s: can't open %s\n", progname, argv[argn]);
- exit(EXIT_FAILURE);
+ fprintf(stderr, "%s: can't open %s\n", progname, argv[argn]);
+ exit(EXIT_FAILURE);
}
} else if (keymatch(arg, "comment", 1)) {
if (++argn >= argc) usage();