Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2008-04-07 20:15:45 +0400
committerChristopher Faylor <me@cgf.cx>2008-04-07 20:15:45 +0400
commitade47a3430eb7ef8b3cdb3d54d47a0c4732ac10d (patch)
tree410bd10eaa7bfc57411d210e2c14414ab1ff8753 /winsup/cygwin/miscfuncs.cc
parent6c74e7d7fcd17febed2b3f41e0cf0840191d63ef (diff)
Add miscfuncs.h to files as needed throughout.
* mount.cc: New file. * path.cc: Move mount-specific stuff into mount.cc. Move common stuff into miscfuncs.cc. Remove unneeded includes. * miscfuncs.cc: Move some common path functions here. * miscfuncs.h: New file. * winsup.h: Move miscelleneous functions to miscfuncs.h. * dcrt0.cc: Remove unneeded includes. * Makefile.in (DLL_OFILES): Add mount.o. * include/cygwin/config.h: Fix a minor typo.
Diffstat (limited to 'winsup/cygwin/miscfuncs.cc')
-rw-r--r--winsup/cygwin/miscfuncs.cc52
1 files changed, 49 insertions, 3 deletions
diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc
index dc09c1f7e..aff357d1a 100644
--- a/winsup/cygwin/miscfuncs.cc
+++ b/winsup/cygwin/miscfuncs.cc
@@ -10,8 +10,7 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#include "winsup.h"
-#include "cygerrno.h"
-#include <sys/errno.h>
+#include "miscfuncs.h"
#include <sys/uio.h>
#include <assert.h>
#include <alloca.h>
@@ -20,7 +19,6 @@ details. */
#include <wingdi.h>
#include <winuser.h>
#include <winnls.h>
-#include "cygthread.h"
#include "cygtls.h"
#include "ntdll.h"
@@ -500,3 +498,51 @@ create_pipe (PHANDLE hr,PHANDLE hw, LPSECURITY_ATTRIBUTES sa, DWORD n)
break;
return false;
}
+
+/* backslashify: Convert all forward slashes in src path to back slashes
+ in dst path. Add a trailing slash to dst when trailing_slash_p arg
+ is set to 1. */
+
+void
+backslashify (const char *src, char *dst, bool trailing_slash_p)
+{
+ const char *start = src;
+
+ while (*src)
+ {
+ if (*src == '/')
+ *dst++ = '\\';
+ else
+ *dst++ = *src;
+ ++src;
+ }
+ if (trailing_slash_p
+ && src > start
+ && !isdirsep (src[-1]))
+ *dst++ = '\\';
+ *dst++ = 0;
+}
+
+/* slashify: Convert all back slashes in src path to forward slashes
+ in dst path. Add a trailing slash to dst when trailing_slash_p arg
+ is set to 1. */
+
+void
+slashify (const char *src, char *dst, bool trailing_slash_p)
+{
+ const char *start = src;
+
+ while (*src)
+ {
+ if (*src == '\\')
+ *dst++ = '/';
+ else
+ *dst++ = *src;
+ ++src;
+ }
+ if (trailing_slash_p
+ && src > start
+ && !isdirsep (src[-1]))
+ *dst++ = '/';
+ *dst++ = 0;
+}