]> Dogcows Code - chaz/tar/blobdiff - src/rmt.h
(extract_mangle): Fix diagnostic with wrong number of %s'es.
[chaz/tar] / src / rmt.h
index f130eb2faed353107810e10cd5539d677941a91c..a01a630b6bfd9d58ae33e5aee0a9fb1031155afd 100644 (file)
--- a/src/rmt.h
+++ b/src/rmt.h
@@ -19,12 +19,12 @@ extern char *rmt_path__;
 
 int rmt_open__ PARAMS ((const char *, int, int, const char *));
 int rmt_close__ PARAMS ((int));
-int rmt_read__ PARAMS ((int, char *, unsigned int));
-int rmt_write__ PARAMS ((int, char *, unsigned int));
-long rmt_lseek__ PARAMS ((int, off_t, int));
+ssize_t rmt_read__ PARAMS ((int, char *, size_t));
+ssize_t rmt_write__ PARAMS ((int, char *, size_t));
+off_t rmt_lseek__ PARAMS ((int, off_t, int));
 int rmt_ioctl__ PARAMS ((int, int, char *));
 
-/* A filename is remote if it contains a colon not preceeded by a slash,
+/* A filename is remote if it contains a colon not preceded by a slash,
    to take care of `/:/' which is a shorthand for `/.../<CELL-NAME>/fs'
    on machines running OSF's Distributing Computing Environment (DCE) and
    Distributed File System (DFS).  However, when --force-local, a
@@ -37,7 +37,7 @@ int rmt_ioctl__ PARAMS ((int, int, char *));
 #define _isrmt(Fd) \
   ((Fd) >= __REM_BIAS)
 
-#define __REM_BIAS 128
+#define __REM_BIAS (1 << 30)
 
 #ifndef O_CREAT
 # define O_CREAT 01000
@@ -52,7 +52,6 @@ int rmt_ioctl__ PARAMS ((int, int, char *));
 
 #define rmtstat(Path, Buffer) \
   (_remdev (Path) ? (errno = EOPNOTSUPP), -1 : stat (Path, Buffer))
-                               /* FIXME: errno should be read-only */
 
 #define rmtcreat(Path, Mode, Command) \
    (_remdev (Path) \
@@ -61,15 +60,14 @@ int rmt_ioctl__ PARAMS ((int, int, char *));
 
 #define rmtlstat(Path, Buffer) \
   (_remdev (Path) ? (errno = EOPNOTSUPP), -1 : lstat (Path, Buffer))
-                               /* FIXME: errno should be read-only */
 
 #define rmtread(Fd, Buffer, Length) \
   (_isrmt (Fd) ? rmt_read__ (Fd - __REM_BIAS, Buffer, Length) \
-   : read (Fd, Buffer, Length))
+   : safe_read (Fd, Buffer, Length))
 
 #define rmtwrite(Fd, Buffer, Length) \
   (_isrmt (Fd) ? rmt_write__ (Fd - __REM_BIAS, Buffer, Length) \
-   : write (Fd, Buffer, Length))
+   : full_write (Fd, Buffer, Length))
 
 #define rmtlseek(Fd, Offset, Where) \
   (_isrmt (Fd) ? rmt_lseek__ (Fd - __REM_BIAS, Offset, Where) \
@@ -84,15 +82,12 @@ int rmt_ioctl__ PARAMS ((int, int, char *));
 
 #define rmtdup(Fd) \
   (_isrmt (Fd) ? (errno = EOPNOTSUPP), -1 : dup (Fd))
-                               /* FIXME: errno should be read-only */
 
 #define rmtfstat(Fd, Buffer) \
   (_isrmt (Fd) ? (errno = EOPNOTSUPP), -1 : fstat (Fd, Buffer))
-                               /* FIXME: errno should be read-only */
 
 #define rmtfcntl(Fd, Command, Argument) \
   (_isrmt (Fd) ? (errno = EOPNOTSUPP), -1 : fcntl (Fd, Command, Argument))
-                               /* FIXME: errno should be read-only */
 
 #define rmtisatty(Fd) \
   (_isrmt (Fd) ? 0 : isatty (Fd))
This page took 0.021658 seconds and 4 git commands to generate.