build: require cups >= 1.2
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=672182
This commit is contained in:
parent
86b55b4bb1
commit
80d54b4533
@ -1388,9 +1388,8 @@ else
|
|||||||
CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $2}'`
|
CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $2}'`
|
||||||
|
|
||||||
if test $CUPS_API_MAJOR -gt 1 -o \
|
if test $CUPS_API_MAJOR -gt 1 -o \
|
||||||
$CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
|
$CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -lt 2; then
|
||||||
AC_DEFINE(HAVE_CUPS_API_1_2, 1,
|
AC_MSG_ERROR([CUPS >= 1.2 not found])
|
||||||
[Define to 1 if CUPS 1.2 API is available])
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST(CUPS_API_MAJOR)
|
AC_SUBST(CUPS_API_MAJOR)
|
||||||
|
@ -834,11 +834,7 @@ _post_write_data (GtkCupsRequest *request)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if HAVE_CUPS_API_1_2
|
|
||||||
if (httpWrite2 (request->http, buffer, bytes) < bytes)
|
if (httpWrite2 (request->http, buffer, bytes) < bytes)
|
||||||
#else
|
|
||||||
if (httpWrite (request->http, buffer, (int) bytes) < bytes)
|
|
||||||
#endif /* HAVE_CUPS_API_1_2 */
|
|
||||||
{
|
{
|
||||||
int http_errno;
|
int http_errno;
|
||||||
|
|
||||||
@ -1412,11 +1408,7 @@ _get_read_data (GtkCupsRequest *request)
|
|||||||
|
|
||||||
request->poll_state = GTK_CUPS_HTTP_READ;
|
request->poll_state = GTK_CUPS_HTTP_READ;
|
||||||
|
|
||||||
#if HAVE_CUPS_API_1_2
|
|
||||||
bytes = httpRead2 (request->http, buffer, sizeof (buffer));
|
bytes = httpRead2 (request->http, buffer, sizeof (buffer));
|
||||||
#else
|
|
||||||
bytes = httpRead (request->http, buffer, sizeof (buffer));
|
|
||||||
#endif /* HAVE_CUPS_API_1_2 */
|
|
||||||
request->bytes_received += bytes;
|
request->bytes_received += bytes;
|
||||||
|
|
||||||
GTK_NOTE (PRINTING,
|
GTK_NOTE (PRINTING,
|
||||||
@ -1443,11 +1435,7 @@ _get_read_data (GtkCupsRequest *request)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Stop if we do not expect any more data or EOF was received. */
|
/* Stop if we do not expect any more data or EOF was received. */
|
||||||
#if HAVE_CUPS_API_1_2
|
|
||||||
if (httpGetLength2 (request->http) <= request->bytes_received || bytes == 0)
|
if (httpGetLength2 (request->http) <= request->bytes_received || bytes == 0)
|
||||||
#else
|
|
||||||
if (httpGetLength (request->http) <= request->bytes_received || bytes == 0)
|
|
||||||
#endif /* HAVE_CUPS_API_1_2 */
|
|
||||||
{
|
{
|
||||||
request->state = GTK_CUPS_GET_DONE;
|
request->state = GTK_CUPS_GET_DONE;
|
||||||
request->poll_state = GTK_CUPS_HTTP_IDLE;
|
request->poll_state = GTK_CUPS_HTTP_IDLE;
|
||||||
@ -1505,7 +1493,6 @@ GtkCupsConnectionTest *
|
|||||||
gtk_cups_connection_test_new (const char *server)
|
gtk_cups_connection_test_new (const char *server)
|
||||||
{
|
{
|
||||||
GtkCupsConnectionTest *result = NULL;
|
GtkCupsConnectionTest *result = NULL;
|
||||||
#ifdef HAVE_CUPS_API_1_2
|
|
||||||
gchar *port_str = NULL;
|
gchar *port_str = NULL;
|
||||||
|
|
||||||
result = g_new (GtkCupsConnectionTest, 1);
|
result = g_new (GtkCupsConnectionTest, 1);
|
||||||
@ -1525,9 +1512,6 @@ gtk_cups_connection_test_new (const char *server)
|
|||||||
result->at_init = GTK_CUPS_CONNECTION_NOT_AVAILABLE;
|
result->at_init = GTK_CUPS_CONNECTION_NOT_AVAILABLE;
|
||||||
|
|
||||||
result->at_init = gtk_cups_connection_test_get_state (result);
|
result->at_init = gtk_cups_connection_test_get_state (result);
|
||||||
#else
|
|
||||||
result = g_new (GtkCupsConnectionTest, 1);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -1541,7 +1525,6 @@ gtk_cups_connection_test_new (const char *server)
|
|||||||
GtkCupsConnectionState
|
GtkCupsConnectionState
|
||||||
gtk_cups_connection_test_get_state (GtkCupsConnectionTest *test)
|
gtk_cups_connection_test_get_state (GtkCupsConnectionTest *test)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_CUPS_API_1_2
|
|
||||||
GtkCupsConnectionState result = GTK_CUPS_CONNECTION_NOT_AVAILABLE;
|
GtkCupsConnectionState result = GTK_CUPS_CONNECTION_NOT_AVAILABLE;
|
||||||
http_addrlist_t *iter;
|
http_addrlist_t *iter;
|
||||||
gint error_code;
|
gint error_code;
|
||||||
@ -1622,9 +1605,6 @@ gtk_cups_connection_test_get_state (GtkCupsConnectionTest *test)
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
return GTK_CUPS_CONNECTION_AVAILABLE;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This function frees memory used by the GtkCupsConnectionTest structure.
|
/* This function frees memory used by the GtkCupsConnectionTest structure.
|
||||||
@ -1635,7 +1615,6 @@ gtk_cups_connection_test_free (GtkCupsConnectionTest *test)
|
|||||||
if (test == NULL)
|
if (test == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#ifdef HAVE_CUPS_API_1_2
|
|
||||||
test->current_addr = NULL;
|
test->current_addr = NULL;
|
||||||
test->last_wrong_addr = NULL;
|
test->last_wrong_addr = NULL;
|
||||||
httpAddrFreeList (test->addrlist);
|
httpAddrFreeList (test->addrlist);
|
||||||
@ -1644,6 +1623,5 @@ gtk_cups_connection_test_free (GtkCupsConnectionTest *test)
|
|||||||
close (test->socket);
|
close (test->socket);
|
||||||
test->socket = -1;
|
test->socket = -1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
g_free (test);
|
g_free (test);
|
||||||
}
|
}
|
||||||
|
@ -106,13 +106,11 @@ struct _GtkCupsRequest
|
|||||||
|
|
||||||
struct _GtkCupsConnectionTest
|
struct _GtkCupsConnectionTest
|
||||||
{
|
{
|
||||||
#ifdef HAVE_CUPS_API_1_2
|
|
||||||
GtkCupsConnectionState at_init;
|
GtkCupsConnectionState at_init;
|
||||||
http_addrlist_t *addrlist;
|
http_addrlist_t *addrlist;
|
||||||
http_addrlist_t *current_addr;
|
http_addrlist_t *current_addr;
|
||||||
http_addrlist_t *last_wrong_addr;
|
http_addrlist_t *last_wrong_addr;
|
||||||
gint socket;
|
gint socket;
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define GTK_CUPS_REQUEST_START 0
|
#define GTK_CUPS_REQUEST_START 0
|
||||||
|
@ -733,40 +733,6 @@ is_address_local (const gchar *address)
|
|||||||
return FALSE;
|
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
|
static void
|
||||||
gtk_print_backend_cups_set_password (GtkPrintBackend *backend,
|
gtk_print_backend_cups_set_password (GtkPrintBackend *backend,
|
||||||
gchar **auth_info_required,
|
gchar **auth_info_required,
|
||||||
@ -1002,11 +968,7 @@ cups_dispatch_add_poll (GSource *source)
|
|||||||
else
|
else
|
||||||
dispatch->data_poll->events = 0;
|
dispatch->data_poll->events = 0;
|
||||||
|
|
||||||
#ifdef HAVE_CUPS_API_1_2
|
|
||||||
dispatch->data_poll->fd = httpGetFd (dispatch->request->http);
|
dispatch->data_poll->fd = httpGetFd (dispatch->request->http);
|
||||||
#else
|
|
||||||
dispatch->data_poll->fd = dispatch->request->http->fd;
|
|
||||||
#endif
|
|
||||||
g_source_add_poll (source, dispatch->data_poll);
|
g_source_add_poll (source, dispatch->data_poll);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3300,9 +3262,7 @@ create_pickone_option (ppd_file_t *ppd_file,
|
|||||||
char *label;
|
char *label;
|
||||||
int n_choices;
|
int n_choices;
|
||||||
int i;
|
int i;
|
||||||
#ifdef HAVE_CUPS_API_1_2
|
|
||||||
ppd_coption_t *coption;
|
ppd_coption_t *coption;
|
||||||
#endif
|
|
||||||
|
|
||||||
g_assert (ppd_option->ui == PPD_UI_PICKONE);
|
g_assert (ppd_option->ui == PPD_UI_PICKONE);
|
||||||
|
|
||||||
@ -3318,7 +3278,6 @@ create_pickone_option (ppd_file_t *ppd_file,
|
|||||||
|
|
||||||
label = get_option_text (ppd_file, ppd_option);
|
label = get_option_text (ppd_file, ppd_option);
|
||||||
|
|
||||||
#ifdef HAVE_CUPS_API_1_2
|
|
||||||
coption = ppdFindCustomOption (ppd_file, ppd_option->keyword);
|
coption = ppdFindCustomOption (ppd_file, ppd_option->keyword);
|
||||||
|
|
||||||
if (coption)
|
if (coption)
|
||||||
@ -3371,7 +3330,6 @@ create_pickone_option (ppd_file_t *ppd_file,
|
|||||||
g_warning ("CUPS Backend: Multi-parameter PPD Custom Option not supported");
|
g_warning ("CUPS Backend: Multi-parameter PPD Custom Option not supported");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif /* HAVE_CUPS_API_1_2 */
|
|
||||||
|
|
||||||
if (!option)
|
if (!option)
|
||||||
option = gtk_printer_option_new (gtk_name, label,
|
option = gtk_printer_option_new (gtk_name, label,
|
||||||
|
Loading…
Reference in New Issue
Block a user