diff --git a/Projects/Win32/Unsupported/IntVC6/NLSXlat/NLSXlat.dsp b/Projects/Win32/Unsupported/IntVC6/NLSXlat/NLSXlat.dsp
index 7d3ed50679359c57f7b8bd8d2f6893ae62691588..e2b8888b79a115c8b311ac438ade005a1f54d6a6 100644
--- a/Projects/Win32/Unsupported/IntVC6/NLSXlat/NLSXlat.dsp
+++ b/Projects/Win32/Unsupported/IntVC6/NLSXlat/NLSXlat.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MD /Za /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /I "\ICU\Include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
+# ADD CPP /nologo /G6 /MD /Za /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /I "\icu_1_3_1\Include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
 # SUBTRACT CPP /YX
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
@@ -51,7 +51,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib IXDom.lib IXUtil.lib IXPar.lib IXSAX.lib icuuc.lib /nologo /version:3.0 /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\ICU\Lib\Release"
+# ADD LINK32 kernel32.lib user32.lib IXDom.lib IXUtil.lib IXPar.lib IXSAX.lib icuuc.lib /nologo /version:3.0 /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\icu_1_3_1\Lib\Release"
 
 !ELSEIF  "$(CFG)" == "NLSXlat - Win32 Debug"
 
@@ -67,7 +67,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /G6 /MDd /Za /W3 /GX /Zi /Od /I "..\..\..\..\..\src" /I "\ICU\Include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /GZ /c
+# ADD CPP /nologo /G6 /MDd /Za /W3 /GX /Zi /Od /I "..\..\..\..\..\src" /I "\icu_1_3_1\Include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /GZ /c
 # SUBTRACT CPP /YX
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
@@ -76,7 +76,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib IXDom.lib IXUtil.lib IXPar.lib IXSAX.lib icuuc.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\ICU\Lib\Debug"
+# ADD LINK32 kernel32.lib user32.lib IXDom.lib IXUtil.lib IXPar.lib IXSAX.lib icuuc.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\icu_1_3_1\Lib\Debug"
 
 !ENDIF 
 
diff --git a/Projects/Win32/Unsupported/IntVC6/Validators/Validators.dsp b/Projects/Win32/Unsupported/IntVC6/Validators/Validators.dsp
index 4f73b370078a209b8aab7b134439a03c49793a31..cadef07561c66e2327b5265d5e56941b0fec3224 100644
--- a/Projects/Win32/Unsupported/IntVC6/Validators/Validators.dsp
+++ b/Projects/Win32/Unsupported/IntVC6/Validators/Validators.dsp
@@ -82,7 +82,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib IXUtil.Lib IXCore.Lib IXSAX.Lib /nologo /base:"0x12000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug\IXVal.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\ICU\Lib\Debug"
+# ADD LINK32 kernel32.lib user32.lib IXUtil.Lib IXCore.Lib IXSAX.Lib /nologo /base:"0x12000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug\IXVal.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
 # SUBTRACT LINK32 /profile
 
 !ENDIF 
diff --git a/Projects/Win32/Unsupported/IntVC6/XML4CParser/XML4CParser.dsp b/Projects/Win32/Unsupported/IntVC6/XML4CParser/XML4CParser.dsp
index 007609c1ab277f2c5d1d671537d38788618394ec..9f674907d5f2da1c8525a5ad4eeb26102eb739db 100644
--- a/Projects/Win32/Unsupported/IntVC6/XML4CParser/XML4CParser.dsp
+++ b/Projects/Win32/Unsupported/IntVC6/XML4CParser/XML4CParser.dsp
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib IXUtil.Lib /nologo /base:"0x11000000" /version:3.0 /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release/IXCore.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\ICU\Lib\Release"
+# ADD LINK32 kernel32.lib user32.lib IXUtil.Lib /nologo /base:"0x11000000" /version:3.0 /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release/IXCore.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Release"
 # SUBTRACT LINK32 /profile
 
 !ELSEIF  "$(CFG)" == "XML4CParser - Win32 Debug"
@@ -82,7 +82,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib IXUtil.Lib /nologo /base:"0x11000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/IXCore.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\ICU\Lib\Debug"
+# ADD LINK32 kernel32.lib user32.lib IXUtil.Lib /nologo /base:"0x11000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/IXCore.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug"
 # SUBTRACT LINK32 /profile /map
 
 !ENDIF 
diff --git a/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp b/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp
index b0501efeb99d50d538db7bf030b7bd2979de2ad4..fc0182d569cf347fc481c336f44a6510c9fb6d91 100644
--- a/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp
+++ b/Projects/Win32/Unsupported/IntVC6/XMLUtil/XMLUtil.dsp
@@ -43,7 +43,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLUTIL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /G6 /MD /Za /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /I "\icu\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PROJ_XMLUTIL" /D "XML_USE_ICU_TRANSCODER" /D "XML_USE_WIN32_MSGLOADER" /FD /c
+# ADD CPP /nologo /G6 /MD /Za /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\src" /I "\icu_1_3_1\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PROJ_XMLUTIL" /D "XML_USE_ICU_TRANSCODER" /D "XML_USE_WIN32_MSGLOADER" /FD /c
 # SUBTRACT CPP /YX
 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib icuuc.lib /nologo /base:"0x10000000" /version:3.0 /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release/IXUtil.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\ICU\Lib\Release"
+# ADD LINK32 kernel32.lib user32.lib icuuc.lib /nologo /base:"0x10000000" /version:3.0 /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release/IXUtil.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Release" /libpath:"\icu_1_3_1\Lib\Release"
 # SUBTRACT LINK32 /profile
 
 !ELSEIF  "$(CFG)" == "XMLUtil - Win32 Debug"
@@ -71,7 +71,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMLUTIL_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /G6 /MDd /Za /W3 /Gm /GX /Zi /Od /I "..\..\..\..\..\src" /I "\icu\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PROJ_XMLUTIL" /D "XML_USE_ICU_TRANSCODER" /D "XML_USE_INMEMORY_MSGLOADER" /FD /GZ /c
+# ADD CPP /nologo /G6 /MDd /Za /W3 /Gm /GX /Zi /Od /I "..\..\..\..\..\src" /I "\icu_1_3_1\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PROJ_XMLUTIL" /D "XML_USE_ICU_TRANSCODER" /D "XML_USE_INMEMORY_MSGLOADER" /FD /GZ /c
 # SUBTRACT CPP /YX
 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
@@ -82,7 +82,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib icuuc.lib /nologo /base:"0x10000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/IXUtil.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\ICU\Lib\Debug"
+# ADD LINK32 kernel32.lib user32.lib icuuc.lib /nologo /base:"0x10000000" /version:3.0 /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/IXUtil.dll" /libpath:"..\..\..\..\..\Build\Win32\VC6\Debug" /libpath:"\icu_1_3_1\Lib\Debug"
 # SUBTRACT LINK32 /profile
 
 !ENDIF 
diff --git a/scripts/Win32/ccd.cmd b/scripts/Win32/ccd.cmd
new file mode 100755
index 0000000000000000000000000000000000000000..b0375056cda3cf6a9f6475b952730bc2e2f43dc5
--- /dev/null
+++ b/scripts/Win32/ccd.cmd
@@ -0,0 +1,80 @@
+@ECHO OFF
+
+%DevDrive%
+
+IF "%1"=="build" GOTO CD_BUILD
+IF "%1"=="data" GOTO CD_DATA
+IF "%1"=="dom" GOTO CD_DOM
+IF "%1"=="framework" GOTO CD_FRAMEWORK
+IF "%1"=="internal" GOTO CD_INTERNAL
+IF "%1"=="intl" GOTO CD_INTL
+IF "%1"=="intl" GOTO CD_INTLBUILD
+IF "%1"=="parsers" GOTO CD_PARSERS
+IF "%1"=="samples" GOTO CD_SAMPLES
+IF "%1"=="sax" GOTO CD_SAX
+IF "%1"=="scripts" GOTO CD_SCRIPTS
+IF "%1"=="src" GOTO CD_SRC
+IF "%1"=="tests" GOTO CD_TESTS
+IF "%1"=="util" GOTO CD_UTIL
+
+
+ECHO Unknown target directory
+GOTO :EXIT
+
+:CD_BUILD
+CD %XML4CRoot%\Build\Win32\VC6
+GOTO EXIT
+
+:CD_DATA
+CD %XML4CRoot%\samples\data
+GOTO EXIT
+
+:CD_DOM
+CD %XML4CRoot%\src\com\ibm\xml\dom
+GOTO EXIT
+
+:CD_FRAMEWORK
+CD %XML4CRoot%\src\com\ibm\xml\framework
+GOTO EXIT
+
+:CD_INTERNAL
+CD %XML4CRoot%\src\com\ibm\xml\internal
+GOTO EXIT
+
+:CD_INTL
+CD %XML4CRoot%\intlFiles
+GOTO EXIT
+
+:CD_INTLBUILD
+CD %XML4CRoot%\intlFiles\Build\Win32\VC6
+GOTO EXIT
+
+:CD_PARSERS
+CD %XML4CRoot%\src\com\ibm\xml\parsers
+GOTO EXIT
+
+:CD_SAMPLES
+CD %XML4CRoot%\samples
+GOTO EXIT
+
+:CD_SAX
+CD %XML4CRoot%\src\sax
+GOTO EXIT
+
+:CD_SCRIPTS
+CD %XML4CRoot%\scripts\Win32
+GOTO EXIT
+
+:CD_SRC
+CD %XML4CRoot%\src
+GOTO EXIT
+
+:CD_TESTS
+CD %XML4CRoot%\src\com\ibm\xml\util\tests
+GOTO EXIT
+
+:CD_UTIL
+CD %XML4CRoot%\src\com\ibm\xml\util
+GOTO EXIT
+
+:EXIT
diff --git a/src/framework/XMLBuffer.cpp b/src/framework/XMLBuffer.cpp
index 1a41200d28278be30ea2af0a5454decb3a97e176..463ccaf14e6cf56d32b5d3ad726c09a6b7c1f908 100644
--- a/src/framework/XMLBuffer.cpp
+++ b/src/framework/XMLBuffer.cpp
@@ -56,8 +56,12 @@
 
 /**
  * $Log$
- * Revision 1.1  1999/11/09 01:08:29  twl
- * Initial revision
+ * Revision 1.2  1999/11/23 01:04:19  roddey
+ * Updates to some of the internal VC++ project files and some small
+ * fixes to make XMLBuffer correctly character size agnostic.
+ *
+ * Revision 1.1.1.1  1999/11/09 01:08:29  twl
+ * Initial checkin
  *
  * Revision 1.2  1999/11/08 20:44:35  rahul
  * Swat for adding in Product name and CVS comment log variable.
@@ -84,7 +88,7 @@ void XMLBuffer::append(const XMLCh* const chars, const unsigned int count)
     if (!count)
         actualCount = XMLString::stringLen(chars);
     insureCapacity(actualCount);
-    memcpy(&fBuffer[fIndex], chars, actualCount * 2);
+    memcpy(&fBuffer[fIndex], chars, actualCount * sizeof(XMLCh));
     fIndex += actualCount;
 }
 
@@ -95,7 +99,7 @@ void XMLBuffer::set(const XMLCh* const chars, const unsigned int count)
         actualCount = XMLString::stringLen(chars);
     fIndex = 0;
     insureCapacity(actualCount);
-    memcpy(fBuffer, chars, actualCount * 2);
+    memcpy(fBuffer, chars, actualCount * sizeof(XMLCh));
     fIndex = actualCount;
 }
 
@@ -108,10 +112,10 @@ void XMLBuffer::expand()
     unsigned int newCap = (unsigned int)(fCapacity * 1.5);
 
     // Allocate the new buffer
-    XMLCh* newBuf = new XMLCh[newCap+1];
+    XMLCh* newBuf = new XMLCh[newCap + 1];
 
     // Copy over the old stuff
-    memcpy(newBuf, fBuffer, fCapacity * 2);
+    memcpy(newBuf, fBuffer, fCapacity * sizeof(XMLCh));
 
     // Clean up old buffer and store new stuff
     delete [] fBuffer;
@@ -130,7 +134,7 @@ void XMLBuffer::insureCapacity(const unsigned int extraNeeded)
     XMLCh* newBuf = new XMLCh[newCap+1];
 
     // Copy over the old stuff
-    memcpy(newBuf, fBuffer, fCapacity * 2);
+    memcpy(newBuf, fBuffer, fCapacity * sizeof(XMLCh));
 
     // Clean up old buffer and store new stuff
     delete [] fBuffer;