From 0814c16f063515d07768cc1b48a103b14730fd89 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 16 Sep 2012 12:45:44 +0000 Subject: [PATCH] Fix compilation errors of IfcCharacterEncoder in case ICU is not available --- src/ifcparse/IfcCharacterDecoder.cpp | 4 ++++ src/ifcparse/IfcCharacterDecoder.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ifcparse/IfcCharacterDecoder.cpp b/src/ifcparse/IfcCharacterDecoder.cpp index 004085b0e7..dd592b3349 100644 --- a/src/ifcparse/IfcCharacterDecoder.cpp +++ b/src/ifcparse/IfcCharacterDecoder.cpp @@ -300,13 +300,17 @@ char IfcCharacterDecoder::substitution_character = '_'; IfcCharacterEncoder::IfcCharacterEncoder(const std::string& input) { +#ifdef HAVE_ICU if ( !converter) converter = ucnv_open("utf-8", &status); +#endif str = input; } IfcCharacterEncoder::~IfcCharacterEncoder() { +#ifdef HAVE_ICU if ( !converter) ucnv_close(converter); converter = 0; +#endif } IfcCharacterEncoder::operator std::string() { diff --git a/src/ifcparse/IfcCharacterDecoder.h b/src/ifcparse/IfcCharacterDecoder.h index ce640ebfc4..113105c2ce 100644 --- a/src/ifcparse/IfcCharacterDecoder.h +++ b/src/ifcparse/IfcCharacterDecoder.h @@ -77,10 +77,10 @@ namespace IfcWrite { class IfcCharacterEncoder { private: + std::string str; #ifdef HAVE_ICU static UErrorCode status; static UConverter* converter; - std::string str; #endif public: IfcCharacterEncoder(const std::string& input);