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).
This commit is contained in:
Marek Kasik 2010-03-17 10:14:24 +01:00
parent 14c9a3a596
commit 59e5e2dd5b

View File

@ -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,