[kde-solaris] Re: patch for kresolver.cpp (HEAD tag)
Christopher Layne
clayne at anodized.com
Mon Aug 30 01:33:49 CEST 2004
Sure,
Here you go.
-cl
On Sun, Aug 29, 2004 at 08:05:32PM -0300, Thiago Macieira wrote:
> Christopher Layne wrote:
> >If you're building off of CVS, this may come in useful to you:
> >
> [snip]
>
> Thank you for the patch, but unfortunately all hunks failed here.
>
> Would you mind attaching the patch, instead of pasting it? And when creating
> it, please use:
> cvs diff -u
>
> so that an unidiff is generated
> --
> Thiago Macieira - Registered Linux user #65028
> thiago (AT) macieira (DOT) info
> ICQ UIN: 1967141 PGP/GPG: 0x6EF45358; fingerprint:
> E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
Index: kdelibs/kdecore/network/kresolver.cpp
===================================================================
RCS file: /home/kde/kdelibs/kdecore/network/kresolver.cpp,v
retrieving revision 1.33
diff -u -3 -p -r1.33 kresolver.cpp
--- kdelibs/kdecore/network/kresolver.cpp 21 Aug 2004 22:35:22 -0000 1.33
+++ kdelibs/kdecore/network/kresolver.cpp 29 Aug 2004 23:30:43 -0000
@@ -628,7 +628,11 @@ QStrList KResolver::protocolName(int pro
do
{
buf = new char[buflen];
+# ifdef USE_SOLARIS // Solaris uses a 4 argument getprotobynumber_r which returns struct *protoent or NULL
+ if ((pe = getprotobynumber_r(protonum, &protobuf, buf, buflen)) && (errno == ERANGE))
+# else
if (getprotobynumber_r(protonum, &protobuf, buf, buflen, &pe) == ERANGE)
+# endif
{
buflen += 1024;
delete [] buf;
@@ -670,7 +674,11 @@ QStrList KResolver::protocolName(const c
do
{
buf = new char[buflen];
+# ifdef USE_SOLARIS // Solaris uses a 4 argument getprotobyname_r which returns struct *protoent or NULL
+ if ((pe = getprotobyname_r(protoname, &protobuf, buf, buflen)) && (errno == ERANGE))
+# else
if (getprotobyname_r(protoname, &protobuf, buf, buflen, &pe) == ERANGE)
+# endif
{
buflen += 1024;
delete [] buf;
@@ -712,7 +720,11 @@ int KResolver::protocolNumber(const char
do
{
buf = new char[buflen];
+# ifdef USE_SOLARIS // Solaris uses a 4 argument getprotobyname_r which returns struct *protoent or NULL
+ if ((pe = getprotobyname_r(protoname, &protobuf, buf, buflen)) && (errno == ERANGE))
+# else
if (getprotobyname_r(protoname, &protobuf, buf, buflen, &pe) == ERANGE)
+# endif
{
buflen += 1024;
delete [] buf;
@@ -750,7 +762,11 @@ int KResolver::servicePort(const char *s
do
{
buf = new char[buflen];
+# ifdef USE_SOLARIS // Solaris uses a 5 argument getservbyname_r which returns struct *servent or NULL
+ if ((se = getservbyname_r(servname, protoname, &servbuf, buf, buflen)) && (errno == ERANGE))
+# else
if (getservbyname_r(servname, protoname, &servbuf, buf, buflen, &se) == ERANGE)
+# endif
{
buflen += 1024;
delete [] buf;
@@ -788,7 +804,11 @@ QStrList KResolver::serviceName(const ch
do
{
buf = new char[buflen];
+# ifdef USE_SOLARIS // Solaris uses a 5 argument getservbyname_r which returns struct *servent or NULL
+ if ((se = getservbyname_r(servname, protoname, &servbuf, buf, buflen)) && (errno == ERANGE))
+# else
if (getservbyname_r(servname, protoname, &servbuf, buf, buflen, &se) == ERANGE)
+# endif
{
buflen += 1024;
delete [] buf;
@@ -830,7 +850,11 @@ QStrList KResolver::serviceName(int port
do
{
buf = new char[buflen];
+# ifdef USE_SOLARIS // Solaris uses a 5 argument getservbyport_r which returns struct *servent or NULL
+ if ((se = getservbyport_r(port, protoname, &servbuf, buf, buflen)) && (errno == ERANGE))
+# else
if (getservbyport_r(port, protoname, &servbuf, buf, buflen, &se) == ERANGE)
+# endif
{
buflen += 1024;
delete [] buf;
More information about the kde-solaris
mailing list