diff options
Diffstat (limited to 'devel/gsoap/files/patch-gsoap-stdsoap2.cpp')
-rw-r--r-- | devel/gsoap/files/patch-gsoap-stdsoap2.cpp | 39 |
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 |