LP#1709710: Make chunk sizing smart about XML quoting
[opensrf-equinox.git] / src / libopensrf / utils.c
index 6628c8c..1c049c0 100644 (file)
@@ -781,3 +781,26 @@ int osrfUtilsCheckFileDescriptor( int fd ) {
        return 0;
 }
 
+size_t osrfXmlEscapingLength ( const char* str ) {
+       int extra = 0;
+       const char* s;
+       for (s = str; *s; ++s) {
+               switch (*s) {
+                       case '>':
+                       case '<':
+                               extra += 3;
+                               break;
+                       case '&':
+                               extra += 4;
+                               break;
+                       case '"':
+                               extra += 11;
+                               break;
+                       default:
+                               break;
+               }
+       }
+
+       return extra;
+}
+