Date: Mon, 28 Dec 2009 02:28:44 +0000 (UTC) From: Tim Kientzle <kientzle@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r201093 - head/lib/libarchive Message-ID: <200912280228.nBS2SiNx075905@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kientzle Date: Mon Dec 28 02:28:44 2009 New Revision: 201093 URL: http://svn.freebsd.org/changeset/base/201093 Log: Portability: Set the file descriptor to binary mode on Win32 Modified: head/lib/libarchive/archive_read_open_file.c head/lib/libarchive/archive_read_open_filename.c head/lib/libarchive/archive_write_open_fd.c Modified: head/lib/libarchive/archive_read_open_file.c ============================================================================== --- head/lib/libarchive/archive_read_open_file.c Mon Dec 28 02:26:06 2009 (r201092) +++ head/lib/libarchive/archive_read_open_file.c Mon Dec 28 02:28:44 2009 (r201093) @@ -35,6 +35,9 @@ __FBSDID("$FreeBSD$"); #ifdef HAVE_FCNTL_H #include <fcntl.h> #endif +#ifdef HAVE_IO_H +#include <io.h> +#endif #ifdef HAVE_STDLIB_H #include <stdlib.h> #endif @@ -94,6 +97,10 @@ archive_read_open_FILE(struct archive *a } else mine->can_skip = 0; +#if defined(__CYGWIN__) || defined(_WIN32) + setmode(fileno(mine->f), O_BINARY); +#endif + return (archive_read_open2(a, mine, NULL, file_read, file_skip, file_close)); } Modified: head/lib/libarchive/archive_read_open_filename.c ============================================================================== --- head/lib/libarchive/archive_read_open_filename.c Mon Dec 28 02:26:06 2009 (r201092) +++ head/lib/libarchive/archive_read_open_filename.c Mon Dec 28 02:28:44 2009 (r201093) @@ -35,6 +35,9 @@ __FBSDID("$FreeBSD$"); #ifdef HAVE_FCNTL_H #include <fcntl.h> #endif +#ifdef HAVE_IO_H +#include <io.h> +#endif #ifdef HAVE_STDLIB_H #include <stdlib.h> #endif @@ -96,6 +99,9 @@ archive_read_open_filename(struct archiv */ filename = ""; /* Normalize NULL to "" */ fd = 0; +#if defined(__CYGWIN__) || defined(_WIN32) + setmode(0, O_BINARY); +#endif } else { fd = open(filename, O_RDONLY | O_BINARY); if (fd < 0) { Modified: head/lib/libarchive/archive_write_open_fd.c ============================================================================== --- head/lib/libarchive/archive_write_open_fd.c Mon Dec 28 02:26:06 2009 (r201092) +++ head/lib/libarchive/archive_write_open_fd.c Mon Dec 28 02:28:44 2009 (r201093) @@ -32,6 +32,12 @@ __FBSDID("$FreeBSD$"); #ifdef HAVE_ERRNO_H #include <errno.h> #endif +#ifdef HAVE_FCNTL_H +#include <fcntl.h> +#endif +#ifdef HAVE_IO_H +#include <io.h> +#endif #ifdef HAVE_STDLIB_H #include <stdlib.h> #endif @@ -64,6 +70,9 @@ archive_write_open_fd(struct archive *a, return (ARCHIVE_FATAL); } mine->fd = fd; +#if defined(__CYGWIN__) || defined(_WIN32) + setmode(mine->fd, O_BINARY); +#endif return (archive_write_open(a, mine, file_open, file_write, file_close)); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912280228.nBS2SiNx075905>