[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