]> Zhao Yanbai Git Server - minix.git/commitdiff
different way of dealing with fd's so chmem <arg> <long list of files>
authorBen Gras <ben@minix3.org>
Wed, 1 Jun 2005 09:31:14 +0000 (09:31 +0000)
committerBen Gras <ben@minix3.org>
Wed, 1 Jun 2005 09:31:14 +0000 (09:31 +0000)
doesn't fail due to file descriptor leaks

commands/simple/chmem.c

index 07da64c0d549d9e9d0701e25d5fcecf796ada6fd..3eb00c6db73353e1c1b83b4493b9d7c5b9b691a6 100755 (executable)
@@ -36,7 +36,7 @@ char *argv[];
  */
 
   char *p;
-  int fd, separate;
+  int fd = -1, separate;
   size_t s;
   long lsize, olddynam, newdynam, newtot, overflow;
   struct exec exec;
@@ -59,6 +59,7 @@ char *argv[];
 
   while (--argc) {
        ++argv;
+       if(fd != -1) close(fd);
        fd = open(*argv, O_RDWR);
        if (fd < 0) {
                error("can't open", *argv);
@@ -116,7 +117,6 @@ char *argv[];
        }
        printf("%s: Stack+malloc area changed from %ld to %ld bytes.\n",
               *argv, olddynam, newdynam);
-       close(fd);
   }
   return(0);
 }