winefile: Use the msvcrt provided _tsplitpath instead of
reimplementing it.
Michael Stefaniuc
mstefani at redhat.de
Mon Jun 25 15:40:25 CDT 2007
Actually i wanted to just remove the wide character constants out of
splitpath.c but then i have seen that the file can be removed completely.
I checked the history but didn't find a clue why a separate
implementation might have been usefull. splitpath.c appeared with the
initial import of the winefile source code.
bye
michael
---
programs/winefile/Makefile.in | 3 +-
programs/winefile/splitpath.c | 155 -----------------------------------------
2 files changed, 1 insertions(+), 157 deletions(-)
delete mode 100644 programs/winefile/splitpath.c
diff --git a/programs/winefile/Makefile.in b/programs/winefile/Makefile.in
index addc170..f5c2db6 100644
--- a/programs/winefile/Makefile.in
+++ b/programs/winefile/Makefile.in
@@ -5,11 +5,10 @@ SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = winefile.exe
APPMODE = -mwindows
-IMPORTS = shell32 comdlg32 comctl32 ole32 mpr version user32 gdi32 advapi32 kernel32
+IMPORTS = shell32 comdlg32 comctl32 ole32 mpr version user32 gdi32 advapi32 kernel32 msvcrt
EXTRALIBS = -luuid
C_SRCS = \
- splitpath.c \
winefile.c
RC_SRCS = rsrc.rc
diff --git a/programs/winefile/splitpath.c b/programs/winefile/splitpath.c
deleted file mode 100644
index 542379a..0000000
--- a/programs/winefile/splitpath.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright 2000, 2004 Martin Fuchs
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include "winefile.h"
-
-
-#ifdef __WINE__
-#ifdef UNICODE
-
-void _wsplitpath(const WCHAR* path, WCHAR* drv, WCHAR* dir, WCHAR* name, WCHAR* ext)
-{
- const WCHAR* end; /* end of processed string */
- const WCHAR* p; /* search pointer */
- const WCHAR* s; /* copy pointer */
-
- /* extract drive name */
- if (path[0] && path[1]==':') {
- if (drv) {
- *drv++ = *path++;
- *drv++ = *path++;
- *drv = L'\0';
- }
- } else if (drv)
- *drv = L'\0';
-
- /* search for end of string or stream separator */
- for(end=path; *end && *end!=L':'; )
- end++;
-
- /* search for begin of file extension */
- for(p=end; p>path && *--p!=L'\\' && *p!=L'/'; )
- if (*p == L'.') {
- end = p;
- break;
- }
-
- if (ext)
- for(s=end; (*ext=*s++); )
- ext++;
-
- /* search for end of directory name */
- for(p=end; p>path; )
- if (*--p=='\\' || *p=='/') {
- p++;
- break;
- }
-
- if (name) {
- for(s=p; s<end; )
- *name++ = *s++;
-
- *name = L'\0';
- }
-
- if (dir) {
- for(s=path; s<p; )
- *dir++ = *s++;
-
- *dir = L'\0';
- }
-}
-
-#else /* UNICODE */
-
-void _splitpath(const CHAR* path, CHAR* drv, CHAR* dir, CHAR* name, CHAR* ext)
-{
- const CHAR* end; /* end of processed string */
- const CHAR* p; /* search pointer */
- const CHAR* s; /* copy pointer */
-
- /* extract drive name */
- if (path[0] && path[1]==':') {
- if (drv) {
- *drv++ = *path++;
- *drv++ = *path++;
- *drv = '\0';
- }
- } else if (drv)
- *drv = '\0';
-
- /* search for end of string or stream separator */
- for(end=path; *end && *end!=':'; )
- end++;
-
- /* search for begin of file extension */
- for(p=end; p>path && *--p!='\\' && *p!='/'; )
- if (*p == '.') {
- end = p;
- break;
- }
-
- if (ext)
- for(s=end; (*ext=*s++); )
- ext++;
-
- /* search for end of directory name */
- for(p=end; p>path; )
- if (*--p=='\\' || *p=='/') {
- p++;
- break;
- }
-
- if (name) {
- for(s=p; s<end; )
- *name++ = *s++;
-
- *name = '\0';
- }
-
- if (dir) {
- for(s=path; s<p; )
- *dir++ = *s++;
-
- *dir = '\0';
- }
-}
-
-#endif /* UNICODE */
-#endif /* __WINE__ */
-
-
-/*
-void main() // test splipath()
-{
- TCHAR drv[_MAX_DRIVE+1], dir[_MAX_DIR], name[_MAX_FNAME], ext[_MAX_EXT];
-
- _tsplitpath(L"x\\y", drv, dir, name, ext);
- _tsplitpath(L"x\\", drv, dir, name, ext);
- _tsplitpath(L"\\x", drv, dir, name, ext);
- _tsplitpath(L"x", drv, dir, name, ext);
- _tsplitpath(L"", drv, dir, name, ext);
- _tsplitpath(L".x", drv, dir, name, ext);
- _tsplitpath(L":x", drv, dir, name, ext);
- _tsplitpath(L"a:x", drv, dir, name, ext);
- _tsplitpath(L"a.b:x", drv, dir, name, ext);
- _tsplitpath(L"W:\\/\\abc/Z:~", drv, dir, name, ext);
- _tsplitpath(L"abc.EFGH:12345", drv, dir, name, ext);
- _tsplitpath(L"C:/dos/command.com", drv, dir, name, ext);
-}
-*/
--
1.5.0.6
--
Michael Stefaniuc Tel.: +49-711-96437-199
Sr. Network Engineer Fax.: +49-711-96437-111
Red Hat GmbH Email: mstefani at redhat.com
Hauptstaetterstr. 58 http://www.redhat.de/
D-70178 Stuttgart
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20070625/bc7ad677/attachment.pgp
More information about the wine-patches
mailing list