]> arthur.barton.de Git - netatalk.git/blobdiff - etc/papd/print_cups.c
Update NEWS
[netatalk.git] / etc / papd / print_cups.c
index e4f9b3ef0bdf11dc956bca1b931f481053e38701..ca8644c741aa72094de71930e97cff0055e5de45 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $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.
  *
@@ -60,13 +60,13 @@ static const char* cups_status_msg[] = {
 };
 
 /* 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;
 
@@ -384,7 +384,7 @@ cups_autoadd_printers ( struct printer      *defprinter, struct printer *printers)
         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 );
                }
        
@@ -392,7 +392,7 @@ cups_autoadd_printers ( struct printer      *defprinter, struct printer *printers)
 
                /* 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)
@@ -403,7 +403,7 @@ cups_autoadd_printers ( struct printer      *defprinter, struct printer *printers)
                }
 
                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 );
@@ -415,14 +415,14 @@ cups_autoadd_printers ( struct printer    *defprinter, struct printer *printers)
                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 );
@@ -493,7 +493,7 @@ to_ascii ( char  *inptr, char **outptr)
        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);
        }
 
@@ -523,7 +523,7 @@ to_ascii ( char  *inptr, char **outptr)
  * 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;
@@ -533,7 +533,7 @@ static int convert_to_mac_name ( char * encoding, char * inptr, char * outptr, s
 
        /* 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) {