47ca1c0
diff -up cups-1.6b1/cups/http-addr.c.res_init cups-1.6b1/cups/http-addr.c
47ca1c0
--- cups-1.6b1/cups/http-addr.c.res_init	2012-05-17 00:57:03.000000000 +0200
47ca1c0
+++ cups-1.6b1/cups/http-addr.c	2012-05-25 15:51:51.323916352 +0200
47ca1c0
@@ -254,7 +254,8 @@ httpAddrLookup(
ac3f598
 
ac3f598
     if (error)
ac3f598
     {
ac3f598
-      if (error == EAI_FAIL)
ac3f598
+      if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
ac3f598
+          error == EAI_NONAME)
ac3f598
         cg->need_res_init = 1;
ac3f598
 
ac3f598
       return (httpAddrString(addr, name, namelen));
47ca1c0
diff -up cups-1.6b1/cups/http-addrlist.c.res_init cups-1.6b1/cups/http-addrlist.c
47ca1c0
--- cups-1.6b1/cups/http-addrlist.c.res_init	2012-04-23 19:26:57.000000000 +0200
47ca1c0
+++ cups-1.6b1/cups/http-addrlist.c	2012-05-25 16:05:05.930377452 +0200
47ca1c0
@@ -540,7 +540,8 @@ httpAddrGetList(const char *hostname,	/*
eaed78f
     }
47ca1c0
     else
47ca1c0
     {
47ca1c0
-      if (error == EAI_FAIL)
47ca1c0
+      if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
47ca1c0
+          error == EAI_NONAME)
47ca1c0
         cg->need_res_init = 1;
eaed78f
 
47ca1c0
       _cupsSetError(IPP_INTERNAL_ERROR, gai_strerror(error), 0);