summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStef Walter <stef@memberwebs.com>2004-08-03 00:56:29 +0000
committerStef Walter <stef@memberwebs.com>2004-08-03 00:56:29 +0000
commit81cc6acd5996cd30f4a246a610d0e5a9ef697b3d (patch)
tree4b7e68a962a3f8706977edb656d0f323b7a758b8
parent740d8a6bcb6521e188361befa7f5636c880bf63b (diff)
DOMC preliminary testing and work.
-rw-r--r--doc/sample_p.xml3
-rw-r--r--src/domcxx.h50
-rw-r--r--src/xmlcomposehelpers.h2
-rw-r--r--src/xmlcomposer.cpp11
-rw-r--r--src/xmlfixups.cpp7
-rw-r--r--win32/.cvsignore2
-rw-r--r--win32/build.bat3
-rw-r--r--win32/domc.dsp97
-rw-r--r--win32/libmba.dsp97
-rw-r--r--win32/rtfx.dsp23
-rw-r--r--win32/rtfx.dsw30
11 files changed, 283 insertions, 42 deletions
diff --git a/doc/sample_p.xml b/doc/sample_p.xml
index cd93ccb..c308b67 100644
--- a/doc/sample_p.xml
+++ b/doc/sample_p.xml
@@ -1 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?><document xmlns="http://memberwebs.com/ns/rtfx/"><info><title>This is a test RTF</title><author>Nate</author><operator>Nate</operator></info><stylesheet><style name="Normal"/><style name="heading 1"/><style name="footnote text"/></stylesheet><options><font size="12" color="0" name="Times New Roman"/></options><para style="heading 1"><font size="16" name="Arial"><b>This is a test RTF</b></font></para><para>Hi! I’m a test file. This is some <b>bold</b> text, and some <i>italic</i> text, as well as some <u>underline</u> text. And a bit of <hide>hidden</hide> text. So we’re going to end this paragraph here and go on to a nice little list:</para><para/><list type="disc" ordered="0" start="1"><para>Item 1</para><para>Item 2</para><para>Item 3</para><para>Item 4</para></list><para/><para>And now comes a fun table:</para><para/><table><row><cell><para>Cell 1</para></cell><cell><para>Cell 2</para><para>More in cell 2</para></cell><cell><para>Cell 3</para></cell></row><row><cell><para>Next row</para></cell><cell><para>Next row </para></cell><cell><para>Next row</para></cell></row></table><para/><para>A page break:</para><page/><para>And here we’re on the next page. </para><para>This para has a <ref type="footnote" to="1"><super>1</super></ref>footnote.</para><para>And here’s yet another paragraph. </para><para/><footnote id="1"><para><font size="10"><super>1</super> This is the actual content of the footnote.</font></para></footnote></document> \ No newline at end of file
+<?xml version="1.0"?>
+<document xmlns="http://memberwebs.com/ns/rtfx/"><info><title>This is a test RTF</title><author>Nate</author><operator>Nate</operator></info><stylesheet><style name="Normal"/><style name="heading 1"/><style name="footnote text"/></stylesheet><options><font size="12" color="0" name="Times New Roman"/></options><para style="heading 1"><font size="16" name="Arial"><b>This is a test RTF</b></font></para><para>Hi! I’m a test file. This is some <b>bold</b> text, and some <i>italic</i> text, as well as some <u>underline</u> text. And a bit of <hide>hidden</hide> text. So we’re going to end this paragraph here and go on to a nice little list:</para><para/><list type="disc" ordered="0" start="1"><para>Item 1</para><para>Item 2</para><para>Item 3</para><para>Item 4</para></list><para/><para>And now comes a fun table:</para><para/><table><row><cell><para>Cell 1</para></cell><cell><para>Cell 2</para><para>More in cell 2</para></cell><cell><para>Cell 3</para></cell></row><row><cell><para>Next row</para></cell><cell><para>Next row </para></cell><cell><para>Next row</para></cell></row></table><para/><para>A page break:</para><page/><para>And here we’re on the next page. </para><para>This para has a <ref type="footnote" to="1"><super>1</super></ref>footnote.</para><para>And here’s yet another paragraph. </para><para/><footnote id="1"><para><font size="10"><super>1</super> This is the actual content of the footnote.</font></para></footnote></document>
diff --git a/src/domcxx.h b/src/domcxx.h
index bd96078..9ebc023 100644
--- a/src/domcxx.h
+++ b/src/domcxx.h
@@ -93,7 +93,7 @@ namespace DOM
DOMException(int e)
{
ASSERT(e != 0);
- code = (short)e;
+ m_code = e;
}
typedef enum
@@ -110,20 +110,21 @@ namespace DOM
INUSE_ATTRIBUTE_ERR = 10
} CODES;
- int getCode()
- { return code; }
- char* getMessage()
- { /* TODO: Get from the domc library */ return NULL; }
- void getDetails(int* cde, char** message,
- char** documentUri, int* fileLine)
+ short getCode()
+ { return (short)m_code; }
+ const char* getMessage()
+ { return msgno_msg(m_code); }
+ void getDetails(short* code, const char** message,
+ const char** documentUri, int* fileLine)
{
- *cde = code;
- *message = NULL; // TODO: Get from domc library
+ *code = (short)m_code;
+ *message = msgno_msg(m_code);
*documentUri = NULL;
*fileLine = 0;
}
- short code;
+ protected:
+ int m_code;
};
class NodeList;
@@ -132,11 +133,17 @@ namespace DOM
class Document;
class DOMImplementation;
+ /* Checks whether an element is part of the tree */
+ #define LOOSE_NODE(n) \
+ ((n) && ((n)->nodeType == DOM_ATTRIBUTE_NODE ? \
+ (n)->u.Attr.ownerElement == NULL : \
+ (n)->parentNode == NULL)) \
+
/* We only perform ref counting on nodes outside the tree */
#define INC_NODE_REF(n) \
- if((n).m_node != NULL && ((n).m_node)->parentNode == NULL) incref((n).m_node)
+ if(LOOSE_NODE(n)) incref(n)
#define DEC_NODE_REF(n) \
- if((n).m_node != NULL && ((n).m_node)->parentNode == NULL) decref((n).m_node)
+ if(LOOSE_NODE(n)) decref(n)
/**
* Thin wrapper class for a DOM Node
@@ -165,14 +172,14 @@ namespace DOM
Node(const Node& node)
{
- INC_NODE_REF(node);
+ INC_NODE_REF(node.m_node);
m_node = node.m_node;
}
Node& operator=(const Node& other)
{
- INC_NODE_REF(other);
- DEC_NODE_REF(*this);
+ INC_NODE_REF(other.m_node);
+ DEC_NODE_REF(m_node);
m_node = other.m_node;
return *this;
}
@@ -180,13 +187,13 @@ namespace DOM
Node& operator=(const void* null)
{
ASSERT(null == NULL);
- DEC_NODE_REF(*this);
+ DEC_NODE_REF(m_node);
m_node = NULL;
return *this;
}
~Node()
- { DEC_NODE_REF(*this); }
+ { DEC_NODE_REF(m_node); }
bool operator==(const Node& other) const
{ return m_node == other.m_node; }
@@ -395,7 +402,7 @@ namespace DOM
m_node->attributes->length > 0;
}
- void* setUserData(void* data)
+ void setUserData(void* data)
throw(DOMException)
{
ASSERT_VALID();
@@ -416,7 +423,7 @@ namespace DOM
Node(DOM_Node* node)
{
m_node = node;
- INC_NODE_REF(*this);
+ INC_NODE_REF(m_node);
}
protected:
@@ -437,8 +444,9 @@ namespace DOM
--(node->rtfxRefCount);
if(node->rtfxRefCount <= 0)
{
- ASSERT(node->ownerDocument);
- DOM_Document_destroyNode(node->ownerDocument, node);
+ ASSERT(node->nodeType == DOM_DOCUMENT_NODE || node->ownerDocument);
+ DOM_Document_destroyNode(node->nodeType == DOM_DOCUMENT_NODE ?
+ node : node->ownerDocument, node);
}
}
};
diff --git a/src/xmlcomposehelpers.h b/src/xmlcomposehelpers.h
index 64e4723..8a15d91 100644
--- a/src/xmlcomposehelpers.h
+++ b/src/xmlcomposehelpers.h
@@ -60,7 +60,7 @@ public:
// This is called when the Destination is first used
virtual void initialize() {};
// Called when data arrives at destination
- virtual void charData(string data) {};
+ virtual void charData(const string& data) {};
// Called when the Destination goes out of scope
virtual void done() {};
diff --git a/src/xmlcomposer.cpp b/src/xmlcomposer.cpp
index e642acb..93bd8f3 100644
--- a/src/xmlcomposer.cpp
+++ b/src/xmlcomposer.cpp
@@ -72,8 +72,11 @@ XmlComposer::~XmlComposer()
void XmlComposer::clear()
{
- m_document = NULL;
LevelHandler::clear();
+
+ // Make sure not to release document until we're
+ // done with all the nodes
+ m_document = NULL;
}
@@ -114,12 +117,12 @@ void XmlComposer::endDocument()
XmlFixups fix;
// Pass 1: Block breakout
- /* fix.breakTables(m_document);
+ fix.breakTables(m_document);
fix.breakTags(m_document, kElTable, kElRow);
fix.breakTags(m_document, kElRow, kElCell);
fix.wrapTags(m_document, kElCell, kElDest);
fix.breakBlocks(m_document);
- fix.breakLists(m_document); */
+ fix.breakLists(m_document);
// Pass 2: Fixups
fix.runPassTwo(m_document);
@@ -1202,7 +1205,7 @@ ON_CHARDATA(Attribute)
// Append data
if(data.at(data.size() - 1) == L';')
- cur.append(data.substr(data.size() - 1));
+ cur.append(data.substr(0, data.size() - 1));
else
cur.append(data);
diff --git a/src/xmlfixups.cpp b/src/xmlfixups.cpp
index d9bdb0a..eb6fcb7 100644
--- a/src/xmlfixups.cpp
+++ b/src/xmlfixups.cpp
@@ -503,10 +503,8 @@ void XmlFixups::runPassTwo(const DOM::Document& doc)
continue; // Current element no longer valid
}
- continue;
-
// Change id attribute on fonts to name
- /* else */ if(haveFonts && name == kElFont)
+ if(haveFonts && name == kElFont)
{
if(el.hasAttribute(kAtId))
{
@@ -779,7 +777,6 @@ void XmlFixups::fixBlock(const DOM::Document& doc, DOM::Element& block)
while(block.hasChildNodes())
el.appendChild(block.removeChild(block.getFirstChild()));
- // parent.replaceChild(el, block);
- parent.appendChild(el);
+ parent.replaceChild(el, block);
}
}
diff --git a/win32/.cvsignore b/win32/.cvsignore
index fdc9a0c..9701b9e 100644
--- a/win32/.cvsignore
+++ b/win32/.cvsignore
@@ -6,3 +6,5 @@ debug
release
Makefile
Makefile.in
+domc.plg
+libmba.plg \ No newline at end of file
diff --git a/win32/build.bat b/win32/build.bat
new file mode 100644
index 0000000..8bb6185
--- /dev/null
+++ b/win32/build.bat
@@ -0,0 +1,3 @@
+@echo off
+cd ../libs/%1/
+nmake /f Makefile.msvc %2
diff --git a/win32/domc.dsp b/win32/domc.dsp
new file mode 100644
index 0000000..ef24010
--- /dev/null
+++ b/win32/domc.dsp
@@ -0,0 +1,97 @@
+# Microsoft Developer Studio Project File - Name="domc" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) External Target" 0x0106
+
+CFG=domc - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "domc.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "domc.mak" CFG="domc - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "domc - Win32 Release" (based on "Win32 (x86) External Target")
+!MESSAGE "domc - Win32 Debug" (based on "Win32 (x86) External Target")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+
+!IF "$(CFG)" == "domc - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Cmd_Line "NMAKE /f domc.mak"
+# PROP BASE Rebuild_Opt "/a"
+# PROP BASE Target_File "domc.exe"
+# PROP BASE Bsc_Name "domc.bsc"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Cmd_Line "build.bat domc"
+# PROP Rebuild_Opt "/a"
+# PROP Target_File "../libs/domc/domc.lib"
+# PROP Bsc_Name ""
+# PROP Target_Dir ""
+
+!ELSEIF "$(CFG)" == "domc - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Cmd_Line "NMAKE /f domc.mak"
+# PROP BASE Rebuild_Opt "/a"
+# PROP BASE Target_File "domc.exe"
+# PROP BASE Bsc_Name "domc.bsc"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Cmd_Line "build.bat domc"
+# PROP Rebuild_Opt "/a"
+# PROP Target_File "../libs/domc/domc.lib"
+# PROP Bsc_Name ""
+# PROP Target_Dir ""
+
+!ENDIF
+
+# Begin Target
+
+# Name "domc - Win32 Release"
+# Name "domc - Win32 Debug"
+
+!IF "$(CFG)" == "domc - Win32 Release"
+
+!ELSEIF "$(CFG)" == "domc - Win32 Debug"
+
+!ENDIF
+
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/win32/libmba.dsp b/win32/libmba.dsp
new file mode 100644
index 0000000..08546a8
--- /dev/null
+++ b/win32/libmba.dsp
@@ -0,0 +1,97 @@
+# Microsoft Developer Studio Project File - Name="libmba" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) External Target" 0x0106
+
+CFG=libmba - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "libmba.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "libmba.mak" CFG="libmba - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "libmba - Win32 Release" (based on "Win32 (x86) External Target")
+!MESSAGE "libmba - Win32 Debug" (based on "Win32 (x86) External Target")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+
+!IF "$(CFG)" == "libmba - Win32 Release"
+
+# PROP BASE Use_MFC
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Cmd_Line "NMAKE /f libmba.mak"
+# PROP BASE Rebuild_Opt "/a"
+# PROP BASE Target_File "libmba.exe"
+# PROP BASE Bsc_Name "libmba.bsc"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Cmd_Line "build.bat libmba"
+# PROP Rebuild_Opt "/a"
+# PROP Target_File "../libs/libmba/libmba.lib"
+# PROP Bsc_Name ""
+# PROP Target_Dir ""
+
+!ELSEIF "$(CFG)" == "libmba - Win32 Debug"
+
+# PROP BASE Use_MFC
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Cmd_Line "NMAKE /f libmba.mak"
+# PROP BASE Rebuild_Opt "/a"
+# PROP BASE Target_File "libmba.exe"
+# PROP BASE Bsc_Name "libmba.bsc"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Cmd_Line "build.bat libmba"
+# PROP Rebuild_Opt "/a"
+# PROP Target_File "../libs/libmba/libmba.lib"
+# PROP Bsc_Name ""
+# PROP Target_Dir ""
+
+!ENDIF
+
+# Begin Target
+
+# Name "libmba - Win32 Release"
+# Name "libmba - Win32 Debug"
+
+!IF "$(CFG)" == "libmba - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libmba - Win32 Debug"
+
+!ENDIF
+
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/win32/rtfx.dsp b/win32/rtfx.dsp
index f89ca96..c4a97c7 100644
--- a/win32/rtfx.dsp
+++ b/win32/rtfx.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" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "sablot/include" /I "../" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../libs/domc/src/" /I "../libs/libmba/src/" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
# SUBTRACT CPP /YX /Yc /Yu
# 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 sablot.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 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 /libpath:"sablot/lib" /opt:nowin98
+# ADD LINK32 libmba.lib domc.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 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 /libpath:"../libs/domc/" /libpath:"../libs/libmba" /opt:nowin98
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "rtfx - Win32 Debug"
@@ -68,7 +68,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" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "sablot/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../libs/domc/src/" /I "../libs/libmba/src/" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
# SUBTRACT CPP /YX /Yc /Yu
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -77,7 +77,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 sablot.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 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 /libpath:"sablot/lib"
+# ADD LINK32 libmba.lib domc.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 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 /libpath:"../libs/domc/" /libpath:"../libs/libmba"
!ENDIF
@@ -106,8 +106,7 @@ SOURCE=..\src\rtfx.cpp
# End Source File
# Begin Source File
-SOURCE=..\src\sablotr.cpp
-# SUBTRACT CPP /YX /Yc /Yu
+SOURCE=..\src\utf8.cpp
# End Source File
# Begin Source File
@@ -127,10 +126,18 @@ SOURCE=..\src\xmlfixups.cpp
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
+SOURCE=..\src\domcxx.h
+# End Source File
+# Begin Source File
+
SOURCE=..\src\domhelpers.h
# End Source File
# Begin Source File
+SOURCE=..\src\internal.h
+# End Source File
+# Begin Source File
+
SOURCE=..\src\levelhandler.h
# End Source File
# Begin Source File
@@ -147,10 +154,6 @@ SOURCE=..\src\rtfparser.h
# End Source File
# Begin Source File
-SOURCE=..\src\sablo.h
-# End Source File
-# Begin Source File
-
SOURCE=..\src\tags.h
# End Source File
# Begin Source File
diff --git a/win32/rtfx.dsw b/win32/rtfx.dsw
index 050295c..0f90bda 100644
--- a/win32/rtfx.dsw
+++ b/win32/rtfx.dsw
@@ -3,6 +3,33 @@ Microsoft Developer Studio Workspace File, Format Version 6.00
###############################################################################
+Project: "domc"=.\domc.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name libmba
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "libmba"=.\libmba\libmba.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
Project: "rtfx"=.\rtfx.dsp - Package Owner=<4>
Package=<5>
@@ -11,6 +38,9 @@ Package=<5>
Package=<4>
{{{
+ Begin Project Dependency
+ Project_Dep_Name domc
+ End Project Dependency
}}}
###############################################################################