shill: Add missing field initializers and some cleanup.

BUG=none
TEST=unit tests

Change-Id: I96a35a2307affd6bb84f911550bbdaaace81f60d
Reviewed-on: https://gerrit.chromium.org/gerrit/24179
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/dns_client.cc b/dns_client.cc
index 9e4e510..d961441 100644
--- a/dns_client.cc
+++ b/dns_client.cc
@@ -47,10 +47,12 @@
 
 // Private to the implementation of resolver so callers don't include ares.h
 struct DNSClientState {
+  DNSClientState() : channel(NULL), start_time((struct timeval){0}) {}
+
   ares_channel channel;
   map< ares_socket_t, std::tr1::shared_ptr<IOHandler> > read_handlers;
   map< ares_socket_t, std::tr1::shared_ptr<IOHandler> > write_handlers;
-  struct timeval start_time_;
+  struct timeval start_time;
 };
 
 DNSClient::DNSClient(IPAddress::Family family,
@@ -122,7 +124,7 @@
   }
 
   running_ = true;
-  time_->GetTimeMonotonic(&resolver_state_->start_time_);
+  time_->GetTimeMonotonic(&resolver_state_->start_time);
   ares_->GetHostByName(resolver_state_->channel, hostname.c_str(),
                        address_.family(), ReceiveDNSReplyCB, this);
 
@@ -311,7 +313,7 @@
   // the resolver library.
   struct timeval now, elapsed_time, timeout_tv;
   time_->GetTimeMonotonic(&now);
-  timersub(&now, &resolver_state_->start_time_, &elapsed_time);
+  timersub(&now, &resolver_state_->start_time, &elapsed_time);
   timeout_tv.tv_sec = timeout_ms_ / 1000;
   timeout_tv.tv_usec = (timeout_ms_ % 1000) * 1000;
   timeout_closure_.Cancel();