From: Paul Eggert Date: Fri, 2 Jul 1999 21:25:09 +0000 (+0000) Subject: (main): Convert lseek whence values to portable integers on the wire. X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=d091cd947abe47b2ab6c305c6a8b16409acd68f4;p=chaz%2Ftar (main): Convert lseek whence values to portable integers on the wire. Check for whence values out of range. --- diff --git a/src/rmt.c b/src/rmt.c index bf2e0a1..b0ec6f9 100644 --- a/src/rmt.c +++ b/src/rmt.c @@ -254,6 +254,7 @@ top: char position_string[STRING_SIZE]; off_t count = 0; int negative; + int whence; char *p; get_string (count_string); @@ -288,7 +289,16 @@ top: } } - count = lseek (tape, count, atoi (position_string)); + switch (atoi (position_string)) + { + case 0: whence = SEEK_SET; break; + case 1: whence = SEEK_CUR; break; + case 2: whence = SEEK_END; break; + default: + report_error_message (N_("Seek direction out of range")); + exit (EXIT_FAILURE); + } + count = lseek (tape, count, whence); if (count < 0) goto ioerror;