Eliminate printf usage in macros.
authorscantor <scantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Wed, 21 Dec 2011 19:33:16 +0000 (19:33 +0000)
committerscantor <scantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Wed, 21 Dec 2011 19:33:16 +0000 (19:33 +0000)
git-svn-id: https://svn.shibboleth.net/cpp-xmltooling/branches/REL_1@941 de75baf8-a10c-0410-a50a-987c0e22f00f

1  2 
xmltooling/base.h
xmltooling/encryption/Encryption.h

              m_##proper = prepareForAssignment(m_##proper,proper); \
          } \
          void set##proper(int proper) { \
--            char buf##proper[64]; \
--            std::sprintf(buf##proper,"%d",proper); \
--            xmltooling::auto_ptr_XMLCh wide##proper(buf##proper); \
--            set##proper(wide##proper.get()); \
++            try { \
++                xmltooling::xstring buf = boost::lexical_cast<xmltooling::xstring>(proper); \
++                set##proper(buf.c_str()); \
++            } \
++            catch (boost::bad_lexical_cast&) { \
++            } \
          }
  
  /**
      } \
      XMLTOOLING_DOXYGEN(Sets proper.) \
      void set##proper(int proper) { \
--        char buf[64]; \
--        std::sprintf(buf,"%d",proper); \
--        xmltooling::auto_ptr_XMLCh widebuf(buf); \
--        setTextContent(widebuf.get()); \
++        try { \
++            xmltooling::xstring buf = boost::lexical_cast<xmltooling::xstring>(proper); \
++            setTextContent(buf.c_str()); \
++        } \
++        catch (boost::bad_lexical_cast&) { \
++        } \
      } \
      XMLTOOLING_DOXYGEN(Sets or clears proper.) \
      void set##proper(const XMLCh* proper) { \
@@@ -32,6 -32,6 +32,7 @@@
  #include <xmltooling/util/XMLConstants.h>
  
  #include <cstdio>
++#include <boost/lexical_cast.hpp>
  
  namespace xmlsignature {
      class XMLTOOL_API KeyInfo;