Happy new year
[idzebra-moved-to-github.git] / util / charmap.c
index 85c9239..e8d1b2b 100644 (file)
@@ -1,8 +1,5 @@
-/* $Id: charmap.c,v 1.45 2007-05-25 13:46:01 adam Exp $
-   Copyright (C) 1995-2007
-   Index Data ApS
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+   Copyright (C) 1994-2009 Index Data
 
 Zebra is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -420,6 +417,10 @@ static int scan_to_utf8(yaz_iconv_t t, ucs4_t *from, size_t inlen,
     else
     {
         ret = yaz_iconv(t, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
+        if (ret != (size_t) (-1))
+            ret = yaz_iconv(t, 0, 0, &outbuf, &outbytesleft);
+        
+            
         if (ret == (size_t) (-1))
         {
            yaz_log(YLOG_LOG, "from: %2X %2X %2X %2X",
@@ -454,6 +455,9 @@ static int scan_string(char *s_native,
         size_t ret;            
        ret = yaz_iconv(t_unicode, &inbuf, &inbytesleft,
                         &outbuf, &outbytesleft);
+        if (ret != (size_t)(-1))
+            ret = yaz_iconv(t_unicode, 0, 0, &outbuf, &outbytesleft);
+            
         if (ret == (size_t)(-1))
             return -1;
         i = (outbuf - (char*) arg)/sizeof(ucs4_t);