Changeset 9791


Ignore:
Timestamp:
Jun 19, 2008, 8:42:57 AM (11 years ago)
Author:
gb
Message:

Check for success correctly (per the man page) in #+linux c_gethostbyname.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/level-1/l1-sockets.lisp

    r8939 r9791  
    10981098           (hp (* (struct :hostent)))
    10991099           (herr :signed 0))
    1100        (do* ((buflen 1024 (+ buflen buflen))) ()
    1101          (declare (fixnum buflen))
    1102          (%stack-block ((buf buflen))
    1103            (let* ((res (#_gethostbyname_r name hostent buf buflen hp herr)))
    1104              (declare (fixnum res))
    1105              (unless (eql res #$ERANGE)
    1106                (return
    1107                  (let* ((err (pref herr :signed)))
    1108                  (if (and (eql res 0) (eql err 0))
    1109                    (%get-unsigned-long
    1110                     (%get-ptr (pref (%get-ptr hp) :hostent.h_addr_list)))
    1111                    (values nil (- err))))))))))))
     1100      (do* ((buflen 1024 (+ buflen buflen))) ()
     1101        (declare (fixnum buflen))
     1102        (%stack-block ((buf buflen))
     1103          (let* ((res (#_gethostbyname_r name hostent buf buflen hp herr)))
     1104            (declare (fixnum res))
     1105            (unless (eql res #$ERANGE)
     1106              (return
     1107                (let* ((err (pref herr :signed)))
     1108                  (if (and (eql res 0) (not (%null-ptr-p (%get-ptr hp))))
     1109                    (%get-unsigned-long
     1110                     (%get-ptr (pref (%get-ptr hp) :hostent.h_addr_list)))
     1111                    (values nil (- err))))))))))))
    11121112
    11131113(defun _getservbyname (name proto)
Note: See TracChangeset for help on using the changeset viewer.