comparison libpurple/dnsquery.c @ 24081:b703102fa0a5

Fix this g_return_val_if_fail. It should have been returning TRUE or FALSE and not -1. But I think it was also leaking. I made the log message a little better, too.
author Mark Doliner <mark@kingant.net>
date Wed, 10 Sep 2008 21:59:09 +0000
parents 005649461c77
children 5395b18f9f08
comparison
equal deleted inserted replaced
24080:005649461c77 24081:b703102fa0a5
410 send_dns_request_to_child(PurpleDnsQueryData *query_data, 410 send_dns_request_to_child(PurpleDnsQueryData *query_data,
411 PurpleDnsQueryResolverProcess *resolver) 411 PurpleDnsQueryResolverProcess *resolver)
412 { 412 {
413 pid_t pid; 413 pid_t pid;
414 dns_params_t dns_params; 414 dns_params_t dns_params;
415 int rc; 415 ssize_t rc;
416 416
417 /* This waitpid might return the child's PID if it has recently 417 /* This waitpid might return the child's PID if it has recently
418 * exited, or it might return an error if it exited "long 418 * exited, or it might return an error if it exited "long
419 * enough" ago that it has already been reaped; in either 419 * enough" ago that it has already been reaped; in either
420 * instance, we can't use it. */ 420 * instance, we can't use it. */
442 purple_debug_error("dns", "Unable to write to DNS child %d: %s\n", 442 purple_debug_error("dns", "Unable to write to DNS child %d: %s\n",
443 resolver->dns_pid, g_strerror(errno)); 443 resolver->dns_pid, g_strerror(errno));
444 purple_dnsquery_resolver_destroy(resolver); 444 purple_dnsquery_resolver_destroy(resolver);
445 return FALSE; 445 return FALSE;
446 } 446 }
447 447 if (rc < sizeof(dns_params)) {
448 g_return_val_if_fail(rc == sizeof(dns_params), -1); 448 purple_debug_error("dns", "Tried to read %" G_GSSIZE_FORMAT
449 " bytes from child but only read %" G_GSSIZE_FORMAT "\n",
450 sizeof(dns_params), rc);
451 purple_dnsquery_resolver_destroy(resolver);
452 return FALSE;
453 }
449 454
450 purple_debug_info("dns", 455 purple_debug_info("dns",
451 "Successfully sent DNS request to child %d\n", 456 "Successfully sent DNS request to child %d\n",
452 resolver->dns_pid); 457 resolver->dns_pid);
453 458