From 6b39a39e4f354cdb1b559b44f4155da839445612 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 30 Jul 2010 11:02:59 +0200 Subject: fix compile on Cygwin --- tools/cpio/src/cpio.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'tools/cpio/src/cpio.c') diff --git a/tools/cpio/src/cpio.c b/tools/cpio/src/cpio.c index 00f4a16b7..d91f25dc1 100644 --- a/tools/cpio/src/cpio.c +++ b/tools/cpio/src/cpio.c @@ -81,7 +81,8 @@ int sysv3; #if defined (__linux__) || defined (__sun) || defined (__FreeBSD__) || \ defined (__hpux) || defined (_AIX) || defined (__NetBSD__) || \ - defined (__OpenBSD__) || defined (__DragonFly__) || defined (__APPLE__) + defined (__OpenBSD__) || defined (__DragonFly__) || \ + defined (__APPLE__) || defined (__CYGWIN__) #include #else /* SVR4.2MP */ #include @@ -4495,7 +4496,8 @@ tseek(off_t n) int i = (n - poffs) / tapeblock; #if defined (__linux__) || defined (__sun) || defined (__FreeBSD__) || \ defined (__hpux) || defined (_AIX) || defined (__NetBSD__) || \ - defined (__OpenBSD__) || defined (__DragonFly__) || defined (__APPLE__) + defined (__OpenBSD__) || defined (__DragonFly__) || \ + defined (__APPLE__) || defined (__CYGWIN__) struct mtop mo; mo.mt_op = i > 0 ? MTFSR : MTBSR; mo.mt_count = i > 0 ? i : -i; @@ -4735,7 +4737,7 @@ mstat(void) emsg(3, "Error during stat() of archive"); done(1); } -#if defined (__linux__) +#if defined (__linux__) if ((mtst.st_mode&S_IFMT) == S_IFCHR) { struct mtget mg; if (ioctl(mt, MTIOCGET, &mg) == 0) @@ -4787,6 +4789,13 @@ mstat(void) if (ioctl(mt, MTIOCGET, &mg) == 0) tapeblock = mg.mt_blksiz; } +#elif defined (__CYGWIN__) + if ((mtst.st_mode&S_IFMT) == S_IFCHR) { + struct mtget mg; + if (ioctl(mt, MTIOCGET, &mg) == 0) + tapeblock = (mg.mt_dsreg&MT_ST_BLKSIZE_MASK) >> + MT_ST_BLKSIZE_SHIFT; + } #elif defined (__hpux) || defined (_AIX) #else /* SVR4.2MP */ if ((mtst.st_mode&S_IFMT) == S_IFCHR) { -- cgit v1.2.3