Address unwanted exceptions being thrown on null pointers being passed to XMLString...
authorputmanb <putmanb@de75baf8-a10c-0410-a50a-987c0e22f00f>
Wed, 5 Jul 2006 21:23:16 +0000 (21:23 +0000)
committerputmanb <putmanb@de75baf8-a10c-0410-a50a-987c0e22f00f>
Wed, 5 Jul 2006 21:23:16 +0000 (21:23 +0000)
Add missing enum case in DECL_INTEGER_CONTENT to avoid compiler warnings.

git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@130 de75baf8-a10c-0410-a50a-987c0e22f00f

xmltooling/base.h

index 9c9cb97..92509af 100644 (file)
         XMLCh* m_##proper; \
     public: \
         pair<bool,int> get##proper() const { \
-            return make_pair((m_##proper!=NULL),XMLString::parseInt(m_##proper)); \
+            return make_pair((m_##proper!=NULL),(m_##proper!=NULL ? XMLString::parseInt(m_##proper): NULL)); \
         } \
         void set##proper(const XMLCh* proper) { \
             m_##proper = prepareForAssignment(m_##proper,proper); \
         case XMLConstants::XML_BOOL_ZERO: \
             domElement->setAttributeNS(namespaceURI, ucase##_ATTRIB_NAME, XMLConstants::XML_ZERO); \
             break; \
+        case XMLConstants::XML_BOOL_NULL: \
+            break; \
     }
 
 /**
 #define DECL_INTEGER_CONTENT(proper) \
     XMLTOOLING_DOXYGEN(Returns proper in integer form after a NULL indicator.) \
     std::pair<bool,int> get##proper() const { \
-        return std::make_pair((getTextContent()!=NULL), XMLString::parseInt(getTextContent())); \
+        return std::make_pair((getTextContent()!=NULL), (getTextContent()!=NULL ? XMLString::parseInt(getTextContent()) : NULL)); \
     } \
     XMLTOOLING_DOXYGEN(Sets proper.) \
     void set##proper(int proper) { \