IoObject *IoMessage_locals_addressArgAt_(IoMessage *self, IoObject *locals, int n) { IoObject *v = IoMessage_locals_valueArgAt_(self, locals, n); if(ISIPADDRESS(v)) { return v; } #if !defined(_WIN32) || defined(__CYGWIN__) else if(ISUNIXPATH(v)) { return v; } #endif else { #if !defined(_WIN32) || defined(__CYGWIN__) char *type = "IPAddress or UnixPath"; #else char *type = "IPAddress"; #endif IoMessage_locals_numberArgAt_errorForType_(self, locals, n, type); } return IONIL(self); }
IoIPAddress *IoMessage_locals_addressArgAt_(IoMessage *self, IoObject *locals, int n) { IoObject *v = IoMessage_locals_valueArgAt_(self, locals, n); if (!ISIPADDRESS(v)) { IoMessage_locals_numberArgAt_errorForType_(self, locals, n, "IPAddress"); } return v; }
Address *IoSocket_rawAddressFrom_(IoObject *addr) { Address *self = NULL; if(ISIPADDRESS(addr)) { IPAddress *ipAddr = (IPAddress *)IoObject_dataPointer(addr); self = ipAddr->addr; } #if !defined(_WIN32) || defined(__CYGWIN__) else if(ISUNIXPATH(addr)) { UnixPath *unixPath = (UnixPath *)IoObject_dataPointer(addr); self = unixPath->addr; } #endif return self; }