[ros-diffs] [greatlrd] 16636: add a new interal function call
GetRootPath(TCHAR *InPath, TCHAR *OutPath,
INT size) it get the a driver current path without change the current
driver directory, it is not in use yet, prep for copy, cd, rm,
and all other commands.
greatlrd at svn.reactos.com
greatlrd at svn.reactos.com
Tue Jul 19 00:44:16 CEST 2005
add a new interal function call GetRootPath(TCHAR *InPath,TCHAR
*OutPath,INT size) it get the a driver current path without change the
current driver directory, it is not in use yet, prep for copy, cd, rm,
and all other commands.
Modified: trunk/reactos/subsys/system/cmd/cmd.h
Modified: trunk/reactos/subsys/system/cmd/internal.c
Modified: trunk/reactos/subsys/system/cmd/precomp.h
_____
Modified: trunk/reactos/subsys/system/cmd/cmd.h
--- trunk/reactos/subsys/system/cmd/cmd.h 2005-07-18 19:50:23 UTC
(rev 16635)
+++ trunk/reactos/subsys/system/cmd/cmd.h 2005-07-18 22:44:13 UTC
(rev 16636)
@@ -291,6 +291,7 @@
/* Prototypes for MISC.C */
+INT GetRootPath(TCHAR *InPath,TCHAR *OutPath,INT size);
TCHAR cgetchar (VOID);
BOOL CheckCtrlBreak (INT);
LPTSTR *split (LPTSTR, LPINT, BOOL);
_____
Modified: trunk/reactos/subsys/system/cmd/internal.c
--- trunk/reactos/subsys/system/cmd/internal.c 2005-07-18 19:50:23 UTC
(rev 16635)
+++ trunk/reactos/subsys/system/cmd/internal.c 2005-07-18 22:44:13 UTC
(rev 16636)
@@ -148,6 +148,46 @@
free (lpLastPath);
}
+/* help functions for getting current path from driver
+ without changing driver. Return code 0 = ok, 1 = fail.
+ INT GetRootPath("C:",outbuffer,chater size of outbuffer);
+ the frist param can have any size, if the the two frist
+ letter are not a drive with : it will get Currentpath on
+ current drive exacly as GetCurrentDirectory does.
+ */
+
+INT GetRootPath(TCHAR *InPath,TCHAR *OutPath,INT size)
+{
+ INT retcode = 1;
+ INT t;
+
+ for (t=0;t<32;t++)
+ {
+ if (_tgetdcwd(t,OutPath,size) != NULL)
+ {
+ if (_tcsncicmp(InPath,OutPath,2))
+ {
+ retcode = 0;
+ return retcode;
+ }
+ }
+ }
+
+ /* fail to getting path devic did not exists */
+ if (_tcslen(InPath)>1)
+ {
+ if (InPath[1]==_T(':'))
+ return 1;
+ }
+
+ retcode = GetCurrentDirectory(size,OutPath);
+ if (retcode==0)
+ return 1;
+
+ return 0;
+}
+
+
/*
* CD / CHDIR
*
_____
Modified: trunk/reactos/subsys/system/cmd/precomp.h
--- trunk/reactos/subsys/system/cmd/precomp.h 2005-07-18 19:50:23 UTC
(rev 16635)
+++ trunk/reactos/subsys/system/cmd/precomp.h 2005-07-18 22:44:13 UTC
(rev 16636)
@@ -4,6 +4,8 @@
#include <shellapi.h>
#include <tchar.h>
+#include <direct.h>
+
#include <ctype.h>
#include <string.h>
#include <stdio.h>
@@ -15,3 +17,4 @@
#include "cmd.h"
#include "config.h"
#include "batch.h"
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050719/96cd6df0/attachment.html
More information about the Ros-diffs
mailing list