diff Resources/base64/base64.cpp @ 86:de8a5329b069

fix of base64
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 26 Sep 2012 11:21:05 +0200
parents 166664f0f860
children
line wrap: on
line diff
--- a/Resources/base64/base64.cpp	Wed Sep 26 09:26:50 2012 +0200
+++ b/Resources/base64/base64.cpp	Wed Sep 26 11:21:05 2012 +0200
@@ -38,9 +38,11 @@
   return (isalnum(c) || (c == '+') || (c == '/'));
 }
 
-std::string base64_encode(const char* stringToEncode) {
-  unsigned char const* bytes_to_encode = reinterpret_cast<unsigned char const*>(stringToEncode);
-  unsigned int in_len = strlen(stringToEncode);
+std::string base64_encode(const std::string& stringToEncode) 
+{
+  const unsigned char* bytes_to_encode = reinterpret_cast<const unsigned char*>
+    (stringToEncode.size() > 0 ? &stringToEncode[0] : NULL);
+  unsigned int in_len = stringToEncode.size();
   
   std::string ret;
   int i = 0;
@@ -81,8 +83,8 @@
   }
 
   return ret;
+}
 
-}
 
 std::string base64_decode(const std::string& encoded_string) {
   int in_len = encoded_string.size();