(file) Return to SystemPOSIX.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/SystemPOSIX.cpp between version 1.58 and 1.59

version 1.58, 2008/10/21 17:32:03 version 1.59, 2008/10/30 13:57:44
Line 1038 
Line 1038 
         (char *)calloc(PEGASUS_MAX_NETWORK_INTERFACES, sizeof(struct ifreq));         (char *)calloc(PEGASUS_MAX_NETWORK_INTERFACES, sizeof(struct ifreq));
     conf.ifc_len = PEGASUS_MAX_NETWORK_INTERFACES * sizeof(struct ifreq);     conf.ifc_len = PEGASUS_MAX_NETWORK_INTERFACES * sizeof(struct ifreq);
  
     if (-1 < ioctl(AF_INET, SIOCGIFCONF, &conf))      int sd=socket(AF_INET, SOCK_DGRAM, 0);
       int rc = ioctl(sd, SIOCGIFCONF, &conf);
       close(sd);
       if (-1 < rc)
     {     {
         struct ifreq* r = conf.ifc_req;         struct ifreq* r = conf.ifc_req;
         sockaddr_in* addr;         sockaddr_in* addr;
Line 1301 
Line 1304 
         ifc.ifc_req=(struct ifreq *)realloc(ifc.ifc_req, bsz);         ifc.ifc_req=(struct ifreq *)realloc(ifc.ifc_req, bsz);
         if (!ifc.ifc_req)         if (!ifc.ifc_req)
         {         {
               close(sd);
             return ips;             return ips;
         }         }
         ifc.ifc_len=bsz;         ifc.ifc_len=bsz;
         if (ioctl(sd, SIOCGIFCONF, (caddr_t)&ifc) == -1)         if (ioctl(sd, SIOCGIFCONF, (caddr_t)&ifc) == -1)
         {         {
             free(ifc.ifc_req);             free(ifc.ifc_req);
               close(sd);
             return ips;             return ips;
         }         }
         if (prevsz==ifc.ifc_len)         if (prevsz==ifc.ifc_len)
Line 1319 
Line 1324 
             prevsz=(0==ifc.ifc_len ? bsz : ifc.ifc_len);             prevsz=(0==ifc.ifc_len ? bsz : ifc.ifc_len);
         }         }
     } while (1);     } while (1);
       close(sd);
  
     ifc.ifc_req=(struct ifreq *)realloc(ifc.ifc_req, prevsz);     ifc.ifc_req=(struct ifreq *)realloc(ifc.ifc_req, prevsz);
  


Legend:
Removed from v.1.58  
changed lines
  Added in v.1.59

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2