--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sqlite3api/TEST/TCL/src/convertPathSlashes.c Fri Jan 22 11:06:30 2010 +0200
@@ -0,0 +1,91 @@
+// Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This file converts a linux/tcl path to or from a windows path.
+//
+//
+
+/*
+ * convert to a windows path. required because PIPS
+ * is mostly posix but uses Windows paths and tcl uses unix paths internally (see FsJoinPath())
+ *
+ * inspired by TclWinNoBackslash()
+ *
+ * July 30, 2007
+ */
+
+#include "convertPathSlashes.h"
+
+/**
+ * Switch the separator chars inside a given string. both pointers can point
+ * to the same string or different strings.
+ *
+ * @param direction direction to convert to.
+ * @param pTo pointer of string to be converted.
+ * @param pFrom pointer to string to be converted from.
+ *
+ * @ret pTo pointer to last char+1 of converted buffer.
+ */
+char* tclSymbianPathSlashConversion(direction, pTo, pFrom)
+ PathConversionDirection direction; // TO_TCL - '\\' to '/', TO_SYMBIAN - '/' to '\\'
+ char *pTo; // string to be converted.
+ const char *pFrom; // string to be converted.
+{
+ char toChar;
+ char fromChar;
+
+ if (direction == TO_TCL) {
+ fromChar = '\\';
+ toChar = '/';
+ }
+ else { // TO_SYMBIAN
+ fromChar = '/';
+ toChar = '\\';
+ }
+
+ for (; *pFrom != '\0'; pTo++, pFrom++) {
+ if (*pFrom == fromChar) {
+ *pTo = toChar;
+ }
+ else {
+ *pTo = *pFrom;
+ }
+ }//for
+
+ return pTo;
+}
+
+/**
+ * Copies the source path to the destination path and null
+ * terminates the destination string.
+ *
+ * @param direction direction to convert to.
+ * @param pTo pointer of string to be converted.
+ * @param pFrom pointer to string to be converted from.
+ */
+// copy from fromStrPtr into a buffer supplied by toStrPtr.
+void tclCopySymbianPathSlashConversion(direction, toStrPtr, fromStrPtr)
+ PathConversionDirection direction; // TO_TCL - '\\' to '/', TO_SYMBIAN - '/' to '\\'
+ char *toStrPtr; // string to be converted.
+ const char *fromStrPtr;// string to convert from.
+{
+ char* pTo;
+ const char* pFrom;
+
+
+ pTo = toStrPtr;
+ pFrom = fromStrPtr;
+ pTo = tclSymbianPathSlashConversion(direction, pTo, pFrom);
+ *pTo = '\0';
+}
+