]> granicus.if.org Git - file/commitdiff
Support for O_BINARY
authorChristos Zoulas <christos@zoulas.com>
Mon, 17 Oct 2005 15:31:10 +0000 (15:31 +0000)
committerChristos Zoulas <christos@zoulas.com>
Mon, 17 Oct 2005 15:31:10 +0000 (15:31 +0000)
src/apprentice.c
src/file.c
src/file.h
src/magic.c

index f93ed361cf3dcb4e0d54d51e8e92ea1d9d7c2268..977821f2146d06b719ff36f1a89936ccac843312 100644 (file)
@@ -45,7 +45,7 @@
 #endif
 
 #ifndef        lint
-FILE_RCSID("@(#)$Id: apprentice.c,v 1.84 2005/03/25 18:03:18 christos Exp $")
+FILE_RCSID("@(#)$Id: apprentice.c,v 1.85 2005/10/17 15:31:10 christos Exp $")
 #endif /* lint */
 
 #define        EATAB {while (isascii((unsigned char) *l) && \
@@ -1059,7 +1059,7 @@ apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
        if (dbname == NULL)
                return -1;
 
-       if ((fd = open(dbname, O_RDONLY)) == -1)
+       if ((fd = open(dbname, O_RDONLY|O_BINARY)) == -1)
                return -1;
 
        if (fstat(fd, &st) == -1) {
@@ -1149,7 +1149,7 @@ apprentice_compile(struct magic_set *ms, struct magic **magicp,
        if (dbname == NULL) 
                return -1;
 
-       if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC, 0644)) == -1) {
+       if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, 0644)) == -1) {
                file_error(ms, errno, "cannot open `%s'", dbname);
                return -1;
        }
index dd9bde7aac45cd822f1710b873956b8f050c0825..3a181762a76093ecec545aceb5b04c9522b22e2a 100644 (file)
@@ -39,7 +39,6 @@
 #include <sys/types.h>
 #include <sys/param.h> /* for MAXPATHLEN */
 #include <sys/stat.h>
-#include <fcntl.h>     /* for open() */
 #ifdef RESTORE_TIME
 # if (__COHERENT__ >= 0x420)
 #  include <sys/utime.h>
@@ -72,7 +71,7 @@
 #include "patchlevel.h"
 
 #ifndef        lint
-FILE_RCSID("@(#)$Id: file.c,v 1.97 2005/08/12 14:19:33 christos Exp $")
+FILE_RCSID("@(#)$Id: file.c,v 1.98 2005/10/17 15:31:10 christos Exp $")
 #endif /* lint */
 
 
index 8e78a98f806d6512cd42153508fc7681081b147b..bfc56499ab992adc027c0f7090dff890eb66072d 100644 (file)
@@ -27,7 +27,7 @@
  */
 /*
  * file.h - definitions for file(1) program
- * @(#)$Id: file.h,v 1.70 2005/07/29 17:57:20 christos Exp $
+ * @(#)$Id: file.h,v 1.71 2005/10/17 15:31:10 christos Exp $
  */
 
 #ifndef __file_h__
@@ -39,6 +39,7 @@
 
 #include <stdio.h>     /* Include that here, to make sure __P gets defined */
 #include <errno.h>
+#include <fcntl.h>     /* For open and flags
 #ifdef HAVE_STDINT_H
 #include <stdint.h>
 #endif
@@ -291,6 +292,10 @@ int snprintf(char *, size_t, const char *, ...);
 #define QUICK
 #endif
 
+#ifndef O_BINARY
+#define O_BINARY       0
+#endif
+
 #define FILE_RCSID(id) \
 static const char *rcsid(const char *p) { \
        return rcsid(p = id); \
index 66a6302bb3dfe702acdccd16b7dfa53b896c3049..03d029159aa2fb9da332ea574fb8acdf02a27e87 100644 (file)
@@ -35,7 +35,6 @@
 #include <sys/types.h>
 #include <sys/param.h> /* for MAXPATHLEN */
 #include <sys/stat.h>
-#include <fcntl.h>     /* for open() */
 #ifdef QUICK
 #include <sys/mman.h>
 #endif
@@ -63,7 +62,7 @@
 #include "patchlevel.h"
 
 #ifndef        lint
-FILE_RCSID("@(#)$Id: magic.c,v 1.31 2005/10/17 15:14:44 christos Exp $")
+FILE_RCSID("@(#)$Id: magic.c,v 1.32 2005/10/17 15:31:10 christos Exp $")
 #endif /* lint */
 
 #ifdef __EMX__
@@ -246,11 +245,11 @@ magic_file(struct magic_set *ms, const char *inname)
 
        if (inname == NULL)
                fd = STDIN_FILENO;
-       else if ((fd = open(inname, O_RDONLY)) < 0) {
+       else if ((fd = open(inname, O_RDONLY|O_BINARY)) < 0) {
 #ifdef __CYGWIN__
            char *tmp = alloca(strlen(inname) + 5);
            (void)strcat(strcpy(tmp, inname), ".exe");
-           if ((fd = open(tmp, O_RDONLY)) < 0) {
+           if ((fd = open(tmp, O_RDONLY|O_BINARY)) < 0) {
 #endif
                /* We cannot open it, but we were able to stat it. */
                if (sb.st_mode & 0222)