s3-charcnv: convert_string_internal() should not display errors
authorAndrew Tridgell <tridge@samba.org>
Thu, 24 Mar 2011 23:52:32 +0000 (10:52 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 25 Mar 2011 03:37:06 +0000 (04:37 +0100)
debug error display happens in the convert_string() outer function

source3/lib/charcnv.c

index 343c077709e98bb2c5a5be304e9d23e75889f32e..0c34317a3bcc9a18682efd6ab6d8d5bc398dae72 100644 (file)
@@ -118,7 +118,7 @@ static size_t convert_string_internal(charset_t from, charset_t to,
 
 
        if (descriptor == (smb_iconv_t)-1 || descriptor == (smb_iconv_t)0) {
 
 
        if (descriptor == (smb_iconv_t)-1 || descriptor == (smb_iconv_t)0) {
-               DEBUG(0,("convert_string_internal: Conversion not supported.\n"));
+               errno = EINVAL;
                return (size_t)-1;
        }
 
                return (size_t)-1;
        }
 
@@ -126,36 +126,9 @@ static size_t convert_string_internal(charset_t from, charset_t to,
        o_len=destlen;
 
        retval = smb_iconv(descriptor, &inbuf, &i_len, &outbuf, &o_len);
        o_len=destlen;
 
        retval = smb_iconv(descriptor, &inbuf, &i_len, &outbuf, &o_len);
-       if(retval==(size_t)-1) {
-               const char *reason="unknown error";
-               switch(errno) {
-                       case EINVAL:
-                               reason="Incomplete multibyte sequence";
-                               DEBUG(3,("convert_string_internal: Conversion error: %s(%s)\n",reason,inbuf));
-                               return (size_t)-1;
-                       case E2BIG:
-                               reason="No more room"; 
-                               if (from == CH_UNIX) {
-                                       DEBUG(3,("E2BIG: convert_string(%s,%s): srclen=%u destlen=%u - '%s'\n",
-                                                charset_name(ic, from), charset_name(ic, to),
-                                                (unsigned int)srclen, (unsigned int)destlen, (const char *)src));
-                               } else {
-                                       DEBUG(3,("E2BIG: convert_string(%s,%s): srclen=%u destlen=%u\n",
-                                                charset_name(ic, from), charset_name(ic, to),
-                                                (unsigned int)srclen, (unsigned int)destlen));
-                               }
-                               break;
-                       case EILSEQ:
-                               reason="Illegal multibyte sequence";
-                               DEBUG(3,("convert_string_internal: Conversion error: %s(%s)\n",reason,inbuf));
-                               return (size_t)-1;
-                       default:
-                               DEBUG(0,("convert_string_internal: Conversion error: %s(%s)\n",reason,inbuf));
-                               return (size_t)-1;
-               }
-               /* smb_panic(reason); */
-       }
-       return destlen-o_len;
+       if (converted_size != NULL)
+               *converted_size = destlen-o_len;
+       return retval;
 }
 
 /**
 }
 
 /**