X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=common%2Fdumprmt.c;h=f89a13de1fb60a1c5cf5fdc14b0b3bdd12a85dee;hp=31eb63fc8b550ccd27202848398d834e9d6181f9;hb=ba3af39e8b08027d3338b5533bddc86a9c803a74;hpb=d6967896bc4e18f9b4359a2ef5be5c0f1bcc456a diff --git a/common/dumprmt.c b/common/dumprmt.c index 31eb63f..f89a13d 100644 --- a/common/dumprmt.c +++ b/common/dumprmt.c @@ -2,8 +2,8 @@ * Ported to Linux's Second Extended File System as part of the * dump and restore backup suit * Remy Card , 1994-1997 - * Stelian Pop , 1999-2000 - * Stelian Pop - Alcôve , 2000 + * Stelian Pop , 1999-2000 + * Stelian Pop - Alcôve , 2000-2002 */ /*- @@ -41,31 +41,31 @@ #ifndef lint static const char rcsid[] = - "$Id: dumprmt.c,v 1.15 2000/12/21 11:14:53 stelian Exp $"; + "$Id: dumprmt.c,v 1.23 2002/07/29 12:00:33 stelian Exp $"; #endif /* not lint */ #include -#ifdef __linux__ -#include -#include -#endif #include #include #include #include +#include #ifdef __linux__ +#include +#ifdef HAVE_EXT2FS_EXT2_FS_H +#include +#else #include +#endif #include #include -#else -#ifdef sunos +#elif defined sunos #include #include #else #include #endif -#endif #include #include @@ -77,6 +77,7 @@ static const char rcsid[] = #include #include #include +#include #include #include #include @@ -90,8 +91,8 @@ static const char rcsid[] = #include #endif -#include "pathnames.h" -#include "dump.h" +#include +#include "dump.h" /* for X_STARTUP, X_ABORT etc */ #define TS_CLOSED 0 #define TS_OPEN 1 @@ -133,7 +134,7 @@ rmthost(const char *host) } static void -rmtconnaborted(int signo) +rmtconnaborted(UNUSED(int signo)) { msg("Lost connection to remote host.\n"); if (errfd != -1) { @@ -162,8 +163,8 @@ rmtconnaborted(int signo) static int rmtgetconn(void) { - register char *cp; - register const char *rmt; + char *cp; + const char *rmt; static struct servent *sp = NULL; static struct passwd *pwd = NULL; const char *tuser; @@ -260,8 +261,8 @@ rmtgetconn(void) static int okname(const char *cp0) { - register const char *cp; - register int c; + const char *cp; + int c; for (cp = cp0; *cp; cp++) { c = *cp; @@ -274,11 +275,17 @@ okname(const char *cp0) } int -rmtopen(const char *tape, int mode) +rmtopen(const char *tape, const int mode) { char buf[MAXPATHLEN]; - - (void)snprintf(buf, sizeof (buf), "O%s\n%d\n", tape, mode); + char *rmtflags; + + rmtflags = rmtflags_tochar(mode); + (void)snprintf(buf, sizeof (buf), "O%s\n%d %s\n", + tape, + mode & O_ACCMODE, + rmtflags); + free(rmtflags); rmtstate = TS_OPEN; return (rmtcall(tape, buf)); } @@ -318,7 +325,7 @@ rmtwrite(const char *buf, size_t count) { char line[30]; - (void)snprintf(line, sizeof (line), "W%d\n", count); + (void)snprintf(line, sizeof (line), "W%ld\n", (long)count); write(tormtape, line, strlen(line)); write(tormtape, buf, count); return (rmtreply("write")); @@ -338,13 +345,13 @@ struct mtget mts; struct mtget * rmtstatus(void) { - register int i; - register char *cp; + int i; + char *cp; if (rmtstate != TS_OPEN) return (NULL); rmtcall("status", "S\n"); - for (i = 0, cp = (char *)&mts; i < sizeof(mts); i++) + for (i = 0, cp = (char *)&mts; i < (int)sizeof(mts); i++) *cp++ = rmtgetb(); return (&mts); } @@ -364,7 +371,7 @@ static int rmtcall(const char *cmd, const char *buf) { - if (write(tormtape, buf, strlen(buf)) != strlen(buf)) + if (write(tormtape, buf, strlen(buf)) != (ssize_t)strlen(buf)) rmtconnaborted(0); return (rmtreply(cmd)); } @@ -372,7 +379,7 @@ rmtcall(const char *cmd, const char *buf) static int rmtreply(const char *cmd) { - register char *cp; + char *cp; char code[30], emsg[BUFSIZ]; rmtgets(code, sizeof (code)); @@ -411,7 +418,7 @@ rmtgetb(void) static void rmtgets(char *line, size_t len) { - register char *cp = line; + char *cp = line; while (len > 1) { *cp = rmtgetb();