Ver código fonte

exit with erno+1, because otherwise exit status is 0 with array bound error

ceriel 29 anos atrás
pai
commit
e10145ba2e
2 arquivos alterados com 3 adições e 3 exclusões
  1. 2 2
      lang/m2/libm2/catch.c
  2. 1 1
      lang/pc/libpc/catch.c

+ 2 - 2
lang/m2/libm2/catch.c

@@ -88,12 +88,12 @@ catch(trapno)
 		signal(__signo, SIG_DFL);
 		_cleanup();
 		kill(getpid(), __signo);
-		_exit(trapno);
+		_exit(trapno+1);
 	}
 #endif
 	if (trapno != M2_FORCH) {
 		_cleanup();
-		_exit(trapno);
+		_exit(trapno+1);
 	}
 	SIG(catch);
 }

+ 1 - 1
lang/pc/libpc/catch.c

@@ -148,7 +148,7 @@ _catch(erno) unsigned erno; {
 		if (_write(2,q,(int)(p-q)) < 0)
 			;
 	}
-	_exit(erno);
+	_exit(erno+1);
 error:
 	_trp(erno);
 }