]> Zhao Yanbai Git Server - minix.git/commitdiff
Let chmem return error code on failure
authorBen Gras <ben@minix3.org>
Thu, 3 Nov 2005 16:58:10 +0000 (16:58 +0000)
committerBen Gras <ben@minix3.org>
Thu, 3 Nov 2005 16:58:10 +0000 (16:58 +0000)
commands/simple/chmem.c

index 3eb00c6db73353e1c1b83b4493b9d7c5b9b691a6..b6187b1f0eba975ea4c890f0a1c55d157212b173 100755 (executable)
@@ -42,6 +42,7 @@ char *argv[];
   struct exec exec;
   char cpu;
   long max;
+  int last_failed = 0, any_failed = 0;
 
   progname = argv[0];
   if (argc < 3) usage();
@@ -58,6 +59,10 @@ char *argv[];
   argv += 1;
 
   while (--argc) {
+       if(last_failed) any_failed = 1;
+
+       /* Unless we reach the end of this loop, this one failed. */
+       last_failed = 1;
        ++argv;
        if(fd != -1) close(fd);
        fd = open(*argv, O_RDWR);
@@ -117,8 +122,11 @@ char *argv[];
        }
        printf("%s: Stack+malloc area changed from %ld to %ld bytes.\n",
               *argv, olddynam, newdynam);
+
+       /* This one didn't fail. */
+       last_failed = 0;
   }
-  return(0);
+  return(any_failed || last_failed ? 1 : 0);
 }
 
 void error(s1, s2)