summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2015-05-22 18:05:30 -0700
committerArseny Kapoulkine <arseny.kapoulkine@gmail.com>2015-05-22 18:05:30 -0700
commit2a1aa9663b3e0c60bc7bf74fa345dde5bcc458b0 (patch)
tree62551b5d96d6aafb65738a041ea6cc505217d275
parentfc1dcab79d43822f05c3dfe4dc391987c6bbc2d2 (diff)
Fix MSVC7 compilation
Work around a name lookup bug by pulling auto_deleter name in the local scope. We could also move auto_deleter to pugi:: namespace, but that pollutes it unnecessarily for other compilers.
-rw-r--r--src/pugixml.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp
index e38f057..15dcd01 100644
--- a/src/pugixml.cpp
+++ b/src/pugixml.cpp
@@ -6833,7 +6833,8 @@ namespace pugi
{
reset();
- impl::auto_deleter<FILE, int(*)(FILE*)> file(fopen(path_, "rb"), fclose);
+ using impl::auto_deleter; // MSVC7 workaround
+ auto_deleter<FILE, int(*)(FILE*)> file(fopen(path_, "rb"), fclose);
return impl::load_file_impl(*this, file.data, options, encoding);
}
@@ -6842,7 +6843,8 @@ namespace pugi
{
reset();
- impl::auto_deleter<FILE, int(*)(FILE*)> file(impl::open_file_wide(path_, L"rb"), fclose);
+ using impl::auto_deleter; // MSVC7 workaround
+ auto_deleter<FILE, int(*)(FILE*)> file(impl::open_file_wide(path_, L"rb"), fclose);
return impl::load_file_impl(*this, file.data, options, encoding);
}
@@ -6914,14 +6916,16 @@ namespace pugi
PUGI__FN bool xml_document::save_file(const char* path_, const char_t* indent, unsigned int flags, xml_encoding encoding) const
{
- impl::auto_deleter<FILE, int(*)(FILE*)> file(fopen(path_, (flags & format_save_file_text) ? "w" : "wb"), fclose);
+ using impl::auto_deleter; // MSVC7 workaround
+ auto_deleter<FILE, int(*)(FILE*)> file(fopen(path_, (flags & format_save_file_text) ? "w" : "wb"), fclose);
return impl::save_file_impl(*this, file.data, indent, flags, encoding);
}
PUGI__FN bool xml_document::save_file(const wchar_t* path_, const char_t* indent, unsigned int flags, xml_encoding encoding) const
{
- impl::auto_deleter<FILE, int(*)(FILE*)> file(impl::open_file_wide(path_, (flags & format_save_file_text) ? L"w" : L"wb"), fclose);
+ using impl::auto_deleter; // MSVC7 workaround
+ auto_deleter<FILE, int(*)(FILE*)> file(impl::open_file_wide(path_, (flags & format_save_file_text) ? L"w" : L"wb"), fclose);
return impl::save_file_impl(*this, file.data, indent, flags, encoding);
}
@@ -12197,7 +12201,8 @@ namespace pugi
}
else
{
- impl::auto_deleter<impl::xpath_query_impl> impl(qimpl, impl::xpath_query_impl::destroy);
+ using impl::auto_deleter; // MSVC7 workaround
+ auto_deleter<impl::xpath_query_impl> impl(qimpl, impl::xpath_query_impl::destroy);
qimpl->root = impl::xpath_parser::parse(query, variables, &qimpl->alloc, &_result);