Added preliminary Symbian support.
[silc.git] / lib / silchttp / silchttpphp.c
index f68cc8c3ee9fe4b0bcbf05dad93282ef62062477..6b699d94d87c0dc95c9e642fe779417c0609f28f 100644 (file)
@@ -34,7 +34,7 @@ SilcBuffer silc_http_php(char *php_data)
     return NULL;
 #else
   memset(tmp, 0, sizeof(tmp));
-  snprintf(tmp, sizeof(tmp) - 1, "/tmp/silchttpphpXXXXXX");
+  silc_snprintf(tmp, sizeof(tmp) - 1, "/tmp/silchttpphpXXXXXX");
   if (mkstemp(tmp) == -1)
     return NULL;
   name = tmp;
@@ -61,12 +61,12 @@ SilcBuffer silc_http_php_file(const char *filename)
   SilcBuffer ret = NULL;
   unsigned char tmp[8192];
   FILE *fd;
-  int len, off = 0;
+  int len;
 
   SILC_LOG_DEBUG(("Executing PHP"));
 
   memset(tmp, 0, sizeof(tmp));
-  snprintf(tmp, sizeof(tmp) - 1, "php -f %s", filename);
+  silc_snprintf(tmp, sizeof(tmp) - 1, "php -f %s", filename);
 
 #ifdef SILC_WIN32
   fd = _popen(tmp, "r");
@@ -86,22 +86,28 @@ SilcBuffer silc_http_php_file(const char *filename)
     }
 
     if (len) {
-      ret = silc_buffer_alloc(0);
       if (!ret) {
-       pclose(fd);
-       return NULL;
+       ret = silc_buffer_alloc(0);
+       if (!ret) {
+         pclose(fd);
+         return NULL;
+       }
       }
 
       silc_buffer_format(ret,
-                        SILC_STR_OFFSET(off),
-                        SILC_STR_UI_XNSTRING(tmp, len),
+                        SILC_STR_ADVANCE,
+                        SILC_STR_DATA(tmp, len),
                         SILC_STR_END);
-      off += len;
     }
   } while (len);
 
-  if (ret)
-    silc_buffer_strformat(ret, "\0", SILC_STRFMT_END);
+  if (ret) {
+    silc_buffer_format(ret,
+                      SILC_STR_ADVANCE,
+                      SILC_STR_DATA('\0', 1),
+                      SILC_STR_END);
+    silc_buffer_push(ret, silc_buffer_truelen(ret));
+  }
 
   return ret;
 }