summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2009-01-06 00:02:42 +0000
committerarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2009-01-06 00:02:42 +0000
commitc507d9b10eaa3cd0d3065f4da8e0beb15a21d033 (patch)
tree1f95b23841c40fa2c42c1f46e6545b3925f0b606
parent5a2fa3fe5079c8e917f7938602d3def7df71f210 (diff)
Less header dependencies, some compilation fixes for Borland/Intel/MW compilers
git-svn-id: http://pugixml.googlecode.com/svn/trunk@103 99668b35-9821-0410-8761-19e4c4f06640
-rw-r--r--src/pugixml.cpp10
-rw-r--r--src/pugixml.hpp4
-rw-r--r--src/pugixpath.cpp3
3 files changed, 10 insertions, 7 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp
index e0d74aa..5852814 100644
--- a/src/pugixml.cpp
+++ b/src/pugixml.cpp
@@ -15,15 +15,18 @@
#include <stdlib.h>
#include <stdio.h>
+#include <string.h>
#include <new>
+#include <exception>
#if !defined(PUGIXML_NO_XPATH) && defined(PUGIXML_NO_EXCEPTIONS)
#error No exception mode can't be used with XPath support
#endif
#ifndef PUGIXML_NO_STL
-# include <fstream>
+# include <istream>
+# include <ostream>
#endif
#ifdef _MSC_VER
@@ -39,6 +42,7 @@
#ifdef __BORLANDC__
// BC workaround
using std::memmove;
+using std::memcpy;
#endif
#define STATIC_ASSERT(cond) { static const char condition_failed[(cond) ? 1 : -1] = {0}; (void)condition_failed[0]; }
@@ -1412,7 +1416,7 @@ namespace
unsigned int ch = (unsigned char)*s++;
char buf[8];
- sprintf(buf, "&#%d;", ch);
+ sprintf(buf, "&#%u;", ch);
writer.write(buf);
}
@@ -1578,7 +1582,7 @@ namespace pugi
void xml_writer_stream::write(const void* data, size_t size)
{
- stream->write(reinterpret_cast<const char*>(data), size);
+ stream->write(reinterpret_cast<const char*>(data), static_cast<std::streamsize>(size));
}
#endif
diff --git a/src/pugixml.hpp b/src/pugixml.hpp
index 5b317e2..26e2f0f 100644
--- a/src/pugixml.hpp
+++ b/src/pugixml.hpp
@@ -18,8 +18,7 @@
#ifndef PUGIXML_NO_STL
# include <string>
-# include <istream>
-# include <exception>
+# include <iosfwd>
#endif
// No XPath without STL
@@ -30,7 +29,6 @@
#endif
#include <stddef.h>
-#include <string.h>
/// The PugiXML Parser namespace.
namespace pugi
diff --git a/src/pugixpath.cpp b/src/pugixpath.cpp
index 89d021a..310cac6 100644
--- a/src/pugixpath.cpp
+++ b/src/pugixpath.cpp
@@ -17,12 +17,13 @@
#include <algorithm>
-#include <cassert>
+#include <assert.h>
#include <stdio.h>
#include <math.h>
#include <float.h>
#include <ctype.h>
+#include <string.h>
#if defined(_MSC_VER)
# pragma warning(disable: 4127) // conditional expression is constant