Changeset 989 for vendor/current/nsswitch/wins.c
- Timestamp:
- Nov 25, 2016, 8:04:54 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/nsswitch/wins.c
r988 r989 40 40 #endif 41 41 42 NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he, 43 char *buffer, size_t buflen, int *h_errnop); 44 NSS_STATUS _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he, 45 char *buffer, size_t buflen, int *h_errnop); 42 NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname, 43 struct hostent *he, 44 char *buffer, 45 size_t buflen, 46 int *errnop, 47 int *h_errnop); 48 NSS_STATUS _nss_wins_gethostbyname2_r(const char *name, 49 int af, 50 struct hostent *he, 51 char *buffer, 52 size_t buflen, 53 int *errnop, 54 int *h_errnop); 46 55 47 56 static char *lookup_byname_backend(const char *name) … … 226 235 **************************************************************************/ 227 236 NSS_STATUS 228 _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he, 229 char *buffer, size_t buflen, int *h_errnop) 237 _nss_wins_gethostbyname_r(const char *hostname, 238 struct hostent *he, 239 char *buffer, 240 size_t buflen, 241 int *errnop, 242 int *h_errnop) 230 243 { 231 244 NSS_STATUS nss_status = NSS_STATUS_SUCCESS; … … 248 261 ip = lookup_byname_backend(name); 249 262 if (ip == NULL) { 263 *errnop = EINVAL; 264 *h_errnop = NETDB_INTERNAL; 250 265 nss_status = NSS_STATUS_NOTFOUND; 251 266 goto out; … … 255 270 wbcFreeMemory(ip); 256 271 if (rc == 0) { 272 *errnop = errno; 273 *h_errnop = NETDB_INTERNAL; 257 274 nss_status = NSS_STATUS_TRYAGAIN; 258 275 goto out; … … 264 281 265 282 if ((he->h_name = get_static(&buffer, &buflen, namelen)) == NULL) { 283 *errnop = EAGAIN; 284 *h_errnop = NETDB_INTERNAL; 266 285 nss_status = NSS_STATUS_TRYAGAIN; 267 286 goto out; … … 276 295 277 296 if (get_static(&buffer, &buflen, i) == NULL) { 297 *errnop = EAGAIN; 298 *h_errnop = NETDB_INTERNAL; 278 299 nss_status = NSS_STATUS_TRYAGAIN; 279 300 goto out; … … 282 303 if ((he->h_addr_list = (char **)get_static( 283 304 &buffer, &buflen, 2 * sizeof(char *))) == NULL) { 305 *errnop = EAGAIN; 306 *h_errnop = NETDB_INTERNAL; 284 307 nss_status = NSS_STATUS_TRYAGAIN; 285 308 goto out; … … 288 311 if ((he->h_addr_list[0] = get_static(&buffer, &buflen, 289 312 INADDRSZ)) == NULL) { 313 *errnop = EAGAIN; 314 *h_errnop = NETDB_INTERNAL; 290 315 nss_status = NSS_STATUS_TRYAGAIN; 291 316 goto out; … … 307 332 308 333 if (get_static(&buffer, &buflen, i) == NULL) { 334 *errnop = EAGAIN; 335 *h_errnop = NETDB_INTERNAL; 309 336 nss_status = NSS_STATUS_TRYAGAIN; 310 337 goto out; … … 313 340 if ((he->h_aliases = (char **)get_static( 314 341 &buffer, &buflen, sizeof(char *))) == NULL) { 342 *errnop = EAGAIN; 343 *h_errnop = NETDB_INTERNAL; 315 344 nss_status = NSS_STATUS_TRYAGAIN; 316 345 goto out; … … 319 348 he->h_aliases[0] = NULL; 320 349 350 *h_errnop = NETDB_SUCCESS; 321 351 nss_status = NSS_STATUS_SUCCESS; 322 352 … … 331 361 332 362 NSS_STATUS 333 _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he, 334 char *buffer, size_t buflen, int *h_errnop) 363 _nss_wins_gethostbyname2_r(const char *name, 364 int af, 365 struct hostent *he, 366 char *buffer, 367 size_t buflen, 368 int *errnop, 369 int *h_errnop) 335 370 { 336 371 NSS_STATUS nss_status; 337 372 338 373 if(af!=AF_INET) { 374 *errnop = EAFNOSUPPORT; 339 375 *h_errnop = NO_DATA; 340 376 nss_status = NSS_STATUS_UNAVAIL; 341 377 } else { 342 nss_status = _nss_wins_gethostbyname_r( 343 name, he, buffer, buflen, h_errnop); 378 nss_status = _nss_wins_gethostbyname_r(name, 379 he, 380 buffer, 381 buflen, 382 errnop, 383 h_errnop); 344 384 } 345 385 return nss_status;
Note:
See TracChangeset
for help on using the changeset viewer.