[gtk+] Define httpGetHostname() for CUPS 1.1 and lower



commit 59e5e2dd5b8945c22b332eb82fab2a1f4b5692e2
Author: Marek Kasik <mkasik redhat com>
Date:   Wed Mar 17 10:14:24 2010 +0100

    Define httpGetHostname() for CUPS 1.1 and lower
    
    Function httpGetHostname() is in CUPS since version 1.2, that is why we need
    its equivalent for lower versions of CUPS (#610176).

 modules/printbackends/cups/gtkprintbackendcups.c |   34 ++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)
---
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c
index f98364a..8cb2e1a 100644
--- a/modules/printbackends/cups/gtkprintbackendcups.c
+++ b/modules/printbackends/cups/gtkprintbackendcups.c
@@ -663,6 +663,40 @@ is_address_local (const gchar *address)
     return FALSE;
 }
 
+#ifndef HAVE_CUPS_API_1_2
+/* Included from CUPS library because of backward compatibility */
+const char *
+httpGetHostname(http_t *http,
+                char   *s,
+                int    slen)
+{
+  struct hostent *host;
+
+  if (!s || slen <= 1)
+    return (NULL);
+
+  if (http)
+    {
+      if (http->hostname[0] == '/')
+        g_strlcpy (s, "localhost", slen);
+      else
+        g_strlcpy (s, http->hostname, slen);
+    }
+  else
+    {
+      if (gethostname (s, slen) < 0)
+        g_strlcpy (s, "localhost", slen);
+
+      if (!strchr (s, '.'))
+        {
+          if ((host = gethostbyname (s)) != NULL && host->h_name)
+            g_strlcpy (s, host->h_name, slen);
+        }
+    }
+  return (s);
+}
+#endif
+
 static void
 gtk_print_backend_cups_set_password (GtkPrintBackend  *backend,
                                      gchar           **auth_info_required,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]