aboutsummaryrefslogtreecommitdiff
path: root/devel/gsoap/files/patch-gsoap-stdsoap2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'devel/gsoap/files/patch-gsoap-stdsoap2.cpp')
-rw-r--r--devel/gsoap/files/patch-gsoap-stdsoap2.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/devel/gsoap/files/patch-gsoap-stdsoap2.cpp b/devel/gsoap/files/patch-gsoap-stdsoap2.cpp
new file mode 100644
index 000000000000..e9e919a872df
--- /dev/null
+++ b/devel/gsoap/files/patch-gsoap-stdsoap2.cpp
@@ -0,0 +1,39 @@
+--- gsoap/stdsoap2.cpp.orig
++++ gsoap/stdsoap2.cpp
+@@ -809,7 +809,7 @@ soap_flush_raw(struct soap *soap, const char *s, size_t n)
+ #ifndef WITH_LEANER
+ if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
+ { char t[16];
+- sprintf(t, "\r\n%lX\r\n" + (soap->chunksize ? 0 : 2), (unsigned long)n);
++ sprintf(t, &"\r\n%lX\r\n"[soap->chunksize ? 0 : 2], (unsigned long)n);
+ DBGMSG(SENT, t, strlen(t));
+ if ((soap->error = soap->fsend(soap, t, strlen(t))))
+ return soap->error;
+@@ -9534,7 +9534,8 @@ soap_element_start_end_out(struct soap *soap, const char *tag)
+ }
+ for (np = soap->nlist; np; np = np->next)
+ { if (np->index == 1 && np->ns)
+- { sprintf(soap->tmpbuf, *(np->id) ? "xmlns:%s" : "xmlns", np->id);
++ {
++ sprintf(soap->tmpbuf, *(np->id) ? "xmlns:%s" : "xmlns%s", *(np->id) ? np->id : "");
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Enabling utilized binding (level=%u) %s='%s'\n", np->level, soap->tmpbuf, np->ns));
+ soap_set_attr(soap, soap->tmpbuf, np->ns, 1);
+ np->index = 2;
+@@ -11635,7 +11636,7 @@ SOAP_FMAC1
+ const char*
+ SOAP_FMAC2
+ soap_LONG642s(struct soap *soap, LONG64 n)
+-{ sprintf(soap->tmpbuf, SOAP_LONG_FORMAT, n);
++{ sprintf(soap->tmpbuf, SOAP_LONG_FORMAT, (long long) (n));
+ return soap->tmpbuf;
+ }
+ #endif
+@@ -12453,7 +12454,7 @@ SOAP_FMAC1
+ const char*
+ SOAP_FMAC2
+ soap_ULONG642s(struct soap *soap, ULONG64 n)
+-{ sprintf(soap->tmpbuf, SOAP_ULONG_FORMAT, n);
++{ sprintf(soap->tmpbuf, SOAP_ULONG_FORMAT, (unsigned long long) (n));
+ return soap->tmpbuf;
+ }
+ #endif