]> Dogcows Code - chaz/tar/commitdiff
*** empty log message ***
authorFrançois Pinard <pinard@iro.umontreal.ca>
Wed, 16 Nov 1994 02:55:27 +0000 (02:55 +0000)
committerFrançois Pinard <pinard@iro.umontreal.ca>
Wed, 16 Nov 1994 02:55:27 +0000 (02:55 +0000)
src/getoldopt.c
src/rtapelib.c

index c7057846f49e5a1091628373fc5cfe48ca0c01e8..99f008cff2076b15b3df80e3bd7c717041ac8957 100644 (file)
@@ -32,57 +32,65 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "port.h"              /* For index() redefinition if USG. */
 
 int
-getoldopt(argc, argv, optstring, long_options, opt_index)
-       int     argc;
-       char    **argv;
-       char    *optstring;
-       struct option *long_options;
-       int     *opt_index;
+getoldopt (argc, argv, optstring, long_options, opt_index)
+     int argc;
+     char **argv;
+     char *optstring;
+     struct option *long_options;
+     int *opt_index;
 {
-       extern char     *optarg;        /* Points to next arg */
-       extern int      optind;         /* Global argv index */
-       static char     *key;           /* Points to next keyletter */
-       static char     use_getopt;     /* !=0 if argv[1][0] was '-' */
-       char            c;
-       char            *place;
+  extern char *optarg;         /* Points to next arg */
+  extern int optind;           /* Global argv index */
+  static char *key;            /* Points to next keyletter */
+  static char use_getopt;      /* !=0 if argv[1][0] was '-' */
+  char c;
+  char *place;
 
-       optarg = NULL;
-       
-       if (key == NULL) {              /* First time */
-               if (argc < 2) return EOF;
-               key = argv[1];
-               if ((*key == '-') || (*key == '+'))
-                       use_getopt++;
-               else
-                       optind = 2;
-       }
+  optarg = NULL;
 
-       if (use_getopt)
-               return getopt_long(argc, argv, optstring, 
-                                  long_options, opt_index);
+  if (key == NULL)
+    {                          /* First time */
+      if (argc < 2)
+       return EOF;
+      key = argv[1];
+      if ((*key == '-') || (*key == '+'))
+       use_getopt++;
+      else
+       optind = 2;
+    }
 
-       c = *key++;
-       if (c == '\0') {
-               key--;
-               return EOF;
-       }
-       place = index(optstring, c);
+  if (use_getopt)
+    return getopt_long (argc, argv, optstring,
+                       long_options, opt_index);
 
-       if (place == NULL || c == ':') {
-               msg("unknown option %c", c);
-               return('?');
-       }
+  c = *key++;
+  if (c == '\0')
+    {
+      key--;
+      return EOF;
+    }
+  place = index (optstring, c);
 
-       place++;
-       if (*place == ':') {
-               if (optind < argc) {
-                       optarg = argv[optind];
-                       optind++;
-               } else {
-                       msg("%c argument missing", c);
-                       return('?');
-               }
+  if (place == NULL || c == ':')
+    {
+      msg ("unknown option %c", c);
+      return ('?');
+    }
+
+  place++;
+  if (*place == ':')
+    {
+      if (optind < argc)
+       {
+         optarg = argv[optind];
+         optind++;
+       }
+      else
+       {
+         msg ("%c argument missing", c);
+         return ('?');
        }
+    }
 
-       return(c);
+  return (c);
 }
index c062eba2bf477b66b7ecf1541c24a8f0969a4df9..887122b8df7be47b05acae62fbb31bd2afbfd794 100644 (file)
@@ -449,7 +449,7 @@ __rmt_read (fildes, buf, nbyte)
 
   for (i = 0; i < rc; i += nbyte, buf += nbyte)
     {
-      nbyte = read (READ (fildes), buf, rc);
+      nbyte = read (READ (fildes), buf, rc - i);
       if (nbyte <= 0)
        {
          _rmt_shutdown (fildes);
This page took 0.025541 seconds and 4 git commands to generate.