/*
- * $Id: print_cups.c,v 1.2 2005-04-28 20:49:49 bfernhomberg Exp $
+ * $Id: print_cups.c,v 1.6 2010-01-26 20:43:11 didg Exp $
*
* Copyright 2004 Bjoern Fernhomberg.
*
};
/* Local functions */
-static int convert_to_mac_name ( char *encoding, char * inptr, char * outptr, size_t outlen);
+static int convert_to_mac_name ( const char *encoding, char * inptr, char * outptr, size_t outlen);
static size_t to_ascii ( char *inbuf, char **outbuf);
static int cups_mangle_printer_name ( struct printer *pr, struct printer *printers);
static void cups_free_printer ( struct printer *pr);
-char * cups_get_language ()
+const char * cups_get_language (void)
{
cups_lang_t *language;
for (i=0; i< num_dests; i++)
{
if (( pr = (struct printer *)malloc( sizeof( struct printer ))) == NULL ) {
- LOG(log_error, logtype_papd, "malloc: %m" );
+ LOG(log_error, logtype_papd, "malloc: %s", strerror(errno) );
exit( 1 );
}
/* convert from CUPS to local encoding */
convert_string_allocate( add_charset(cupsLangEncoding(language)), CH_UNIX,
- dests[i].name, strlen(dests[i].name), &pr->p_u_name);
+ dests[i].name, -1, &pr->p_u_name);
/* convert CUPS name to Mac charset */
if ( convert_to_mac_name ( cupsLangEncoding(language), dests[i].name, name, sizeof(name)) <= 0)
}
if (( pr->p_name = (char *)malloc( strlen( name ) + 1 )) == NULL ) {
- LOG(log_error, logtype_papd, "malloc: %m" );
+ LOG(log_error, logtype_papd, "malloc: %s", strerror(errno) );
exit( 1 );
}
strcpy( pr->p_name, name );
pr->p_flags |= P_CUPS_AUTOADDED;
if (( pr->p_printer = (char *)malloc( strlen( dests[i].name ) + 1 )) == NULL ) {
- LOG(log_error, logtype_papd, "malloc: %m" );
+ LOG(log_error, logtype_papd, "malloc: %s", strerror(errno) );
exit( 1 );
}
strcpy( pr->p_printer, dests[i].name );
if ( (p = (char *) cups_get_printer_ppd ( pr->p_printer )) != NULL ) {
if (( pr->p_ppdfile = (char *)malloc( strlen( p ) + 1 )) == NULL ) {
- LOG(log_error, logtype_papd, "malloc: %m" );
+ LOG(log_error, logtype_papd, "malloc: %s", strerror(errno) );
exit( 1 );
}
strcpy( pr->p_ppdfile, p );
char *out, *osav;
if ( NULL == (out = (char*) malloc ( strlen ( inptr) + 1 )) ) {
- LOG(log_error, logtype_papd, "malloc: %m" );
+ LOG(log_error, logtype_papd, "malloc: %s", strerror(errno) );
exit (1);
}
* Returns: -1 on failure, length of name on success; outpr contains name in MacRoman
*/
-static int convert_to_mac_name ( char * encoding, char * inptr, char * outptr, size_t outlen)
+static int convert_to_mac_name ( const char * encoding, char * inptr, char * outptr, size_t outlen)
{
char *outbuf;
char *soptr;
/* Change the encoding */
if ((charset_t)-1 != (chCups = add_charset(encoding))) {
- name_len = convert_string_allocate( chCups, CH_MAC, inptr, strlen(inptr), &outbuf);
+ name_len = convert_string_allocate( chCups, CH_MAC, inptr, -1, &outbuf);
}
if (name_len == 0 || name_len == (size_t)-1) {