-$Id: CHANGES,v 1.215 2003/02/11 12:43:44 stelian Exp $
+$Id: CHANGES,v 1.216 2003/02/12 11:02:28 stelian Exp $
Changes between versions 0.4b33 and 0.4b34 (released ?????????????????)
=======================================================================
even when using a remote tape. Thanks to Fabrice Bellet
<fabrice@bellet.info> for reporting the bug.
+5. Fixed (again) handling of long (largefile) seeks in rmt.
+ Thanks to Fabrice Bellet <fabrice@bellet.info> for reporting
+ the bug.
+
Changes between versions 0.4b32 and 0.4b33 (released February 10, 2003)
=======================================================================
#ifndef lint
static const char rcsid[] =
- "$Id: dumprmt.c,v 1.24 2003/01/10 14:42:50 stelian Exp $";
+ "$Id: dumprmt.c,v 1.25 2003/02/12 11:02:29 stelian Exp $";
#endif /* not lint */
#include <config.h>
static const char *rmtpeer = 0;
static int okname __P((const char *));
-static int rmtcall __P((const char *, const char *));
+static OFF_T rmtcall __P((const char *, const char *));
static void rmtconnaborted __P((int));
static int rmtgetb __P((void));
static int rmtgetconn __P((void));
static void rmtgets __P((char *, size_t));
-static int rmtreply __P((const char *));
+static OFF_T rmtreply __P((const char *));
static int piped_child __P((const char **command));
#ifdef KERBEROS
int krcmd __P((char **, int /*u_short*/, char *, char *, int *, char *));
return (rmtcall("ioctl", buf));
}
-static int
+static OFF_T
rmtcall(const char *cmd, const char *buf)
{
return (rmtreply(cmd));
}
-static int
+static OFF_T
rmtreply(const char *cmd)
{
char *cp;
code);
rmtconnaborted(0);
}
- return (atoi(code + 1));
+ return (OFF_T)(atoll(code + 1));
}
static int
#ifndef lint
static const char rcsid[] =
- "$Id: tape.c,v 1.69 2003/02/11 12:43:45 stelian Exp $";
+ "$Id: tape.c,v 1.70 2003/02/12 11:02:30 stelian Exp $";
#endif /* not lint */
#include <config.h>
magtapein = ioctl(mt, MTIOCGET, (char *)&mt_stat) == 0;
}
- Vprintf(stdout,"Input is from %s\n",
+ Vprintf(stdout,"Input is from a %s %s\n",
+ host ? "remote" : "local",
magtapein ? "tape" :
Vflag ? "multi-volume (no tape)" : "file/pipe");
}
#ifndef lint
static const char rcsid[] =
- "$Id: rmt.c,v 1.22 2003/01/10 14:42:51 stelian Exp $";
+ "$Id: rmt.c,v 1.23 2003/02/12 11:02:31 stelian Exp $";
#endif /* not linux */
/*
int
main(int argc, char *argv[])
{
- int rval = 0;
+ OFF_T rval = 0;
char c;
int n, i, cc, oflags;
unsigned long block = 0;
rval = read(tape, record, n);
if (rval < 0)
goto ioerror;
- (void)sprintf(resp, "A%d\n", rval);
+ (void)sprintf(resp, "A%lld\n", (long long)rval);
(void)write(1, resp, strlen(resp));
(void)write(1, record, rval);
block += n >> 10;
if (ioctl(tape, MTIOCGET, (char *)&mtget) < 0)
goto ioerror;
rval = sizeof (mtget);
- (void)sprintf(resp, "A%d\n", rval);
+ (void)sprintf(resp, "A%lld\n", (long long)rval);
(void)write(1, resp, strlen(resp));
(void)write(1, (char *)&mtget, sizeof (mtget));
goto top;
exit(3);
}
respond:
- DEBUG1("rmtd: A %d\n", rval);
- (void)sprintf(resp, "A%d\n", rval);
+ DEBUG1("rmtd: A %lld\n", (long long)rval);
+ (void)sprintf(resp, "A%lld\n", (long long)rval);
(void)write(1, resp, strlen(resp));
goto top;
ioerror: