[ros-diffs] [turner] 18266: Check to see if a folder or file is already there when makign a folder. Set correct errorlevel when fail to create folder. fixes bug 868.

turner at svn.reactos.com turner at svn.reactos.com
Tue Oct 4 16:56:55 CEST 2005


Check to see if a folder or file is already there when makign a folder.
Set correct errorlevel when fail to create folder. fixes bug 868.
Modified: trunk/reactos/subsys/system/cmd/En.rc
Modified: trunk/reactos/subsys/system/cmd/internal.c
Modified: trunk/reactos/subsys/system/cmd/resource.h
  _____  

Modified: trunk/reactos/subsys/system/cmd/En.rc
--- trunk/reactos/subsys/system/cmd/En.rc	2005-10-04 14:31:11 UTC
(rev 18265)
+++ trunk/reactos/subsys/system/cmd/En.rc	2005-10-04 14:56:38 UTC
(rev 18266)
@@ -571,6 +571,7 @@

 STRING_CHOICE_ERROR,         "Invalid option. Expected format:
/C[:]options"
 STRING_CHOICE_ERROR_TXT,     "Invalid option. Expected format:
/T[:]c,nn"
 STRING_CHOICE_ERROR_OPTION,  "Illegal Option: %s"
+STRING_MD_ERROR,			 "A subdirectory or file ass
already exists.\n"
 STRING_CMD_ERROR1,           "Can't redirect input from file %s\n"
 STRING_CMD_ERROR2,           "Error creating temporary file for pipe
data\n"
 STRING_CMD_ERROR3,           "Can't redirect to file %s\n"
  _____  

Modified: trunk/reactos/subsys/system/cmd/internal.c
--- trunk/reactos/subsys/system/cmd/internal.c	2005-10-04 14:31:11 UTC
(rev 18265)
+++ trunk/reactos/subsys/system/cmd/internal.c	2005-10-04 14:56:38 UTC
(rev 18266)
@@ -433,7 +433,7 @@

 	LPTSTR place;	/* used to search for the \ when no space is
used */
 	LPTSTR *p = NULL;
 	INT argc;
-
+	nErrorLevel = 0;
 	if (!_tcsncmp (param, _T("/?"), 2))
 	{
 		ConOutResPaging(TRUE,STRING_MKDIR_HELP);
@@ -479,10 +479,17 @@
 	if (_tcslen (dir) >= 2 && dir[_tcslen (dir) - 1] == _T('\\'))
 		dir[_tcslen(dir) - 1] = _T('\0');
 
+	if(IsExistingDirectory(dir) || IsExistingFile(dir))
+	{
+		ConErrResPuts(STRING_MD_ERROR);
+		freep(p);
+		nErrorLevel = 1;
+		return 1;
+	}
 	if (!CreateDirectory (dir, NULL))
 	{
 		ErrorMessage (GetLastError(), _T("MD"));
-
+		nErrorLevel = 1;
 		freep (p);
 		return 1;
 	}
  _____  

Modified: trunk/reactos/subsys/system/cmd/resource.h
--- trunk/reactos/subsys/system/cmd/resource.h	2005-10-04 14:31:11 UTC
(rev 18265)
+++ trunk/reactos/subsys/system/cmd/resource.h	2005-10-04 14:56:38 UTC
(rev 18266)
@@ -220,6 +220,7 @@

 #define STRING_EXPECTED_NUMBER_OR_VARIABLE 722
 #define STRING_SYNTAX_COMMAND_INCORRECT    723
 #define STRING_RMDIR_HELP2				   724
+#define STRING_MD_ERROR					   725
 
 
 /* These strings are language independent (cmd.rc) */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20051004/82477a9f/attachment.html


More information about the Ros-diffs mailing list