[ros-diffs] [amunger] 20204: Return error codes correctly, fixes 1109. Patch by Hartmut Birr.

amunger at svn.reactos.com amunger at svn.reactos.com
Fri Dec 16 04:00:06 CET 2005


Return error codes correctly, fixes 1109. Patch by Hartmut Birr.
Modified: trunk/reactos/subsys/system/cmd/cmd.c
  _____  

Modified: trunk/reactos/subsys/system/cmd/cmd.c
--- trunk/reactos/subsys/system/cmd/cmd.c	2005-12-15 23:24:43 UTC
(rev 20203)
+++ trunk/reactos/subsys/system/cmd/cmd.c	2005-12-16 03:00:02 UTC
(rev 20204)
@@ -353,6 +353,7 @@

 	if (first == NULL)
 	{
 		error_out_of_memory();
+                nErrorLevel = 1;
 		return ;
 	}
 
@@ -361,6 +362,7 @@
 	{
 		free (first);
 		error_out_of_memory();
+                nErrorLevel = 1;
 		return ;
 	}
 
@@ -370,6 +372,7 @@
 		free (first);
 		free (rest);
 		error_out_of_memory();
+                nErrorLevel = 1;
 		return ;
 	}
 
@@ -380,6 +383,7 @@
 		free (rest);
 		free (full);
 		error_out_of_memory();
+                nErrorLevel = 1;
 		return ;
 	}
 
@@ -450,7 +454,7 @@
 		free (rest);
 		free (full);
 		free (szFullName);
-
+                nErrorLevel = 1;
 		return;
 	}
 
@@ -463,6 +467,7 @@
 			free (rest);
 			free (full);
 			free (szFullName);
+                        nErrorLevel = 1;
 			return;
 
 	}
@@ -525,6 +530,10 @@
 				GetExitCodeProcess (prci.hProcess,
&dwExitCode);
 				nErrorLevel = (INT)dwExitCode;
 			}
+                        else
+                        {
+                            nErrorLevel = 0;
+                        }
 			CloseHandle (prci.hThread);
 			CloseHandle (prci.hProcess);
 		}
@@ -540,7 +549,12 @@
 				DebugPrintf (_T("[ShellExecute failed!:
%s]\n"), full);
 #endif
 				error_bad_command ();
+                                nErrorLevel = 1;
 			}
+                        else
+                        {
+                                nErrorLevel = 0;
+                        }
 		}
 		// restore console mode
 		SetConsoleMode (
@@ -1331,7 +1345,7 @@
 		if (!(ip = ReadBatchLine (&bEchoThisLine)))
 		{
 			if (bFlag)
-				return 0;
+				return nErrorLevel;
 
 			ReadCommand (readline, CMDLINE_LENGTH);
 			ip = readline;
@@ -1457,7 +1471,7 @@
 	}
 	while (!bCanExit || !bExit);
 
-	return 0;
+	return nErrorLevel;
 }
 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20051216/e07aab82/attachment.html


More information about the Ros-diffs mailing list