/** \brief tests whether conversion is handled by YAZ' iconv or system iconv */
YAZ_EXPORT int yaz_iconv_isbuiltin(yaz_iconv_t cd);
-YAZ_EXPORT unsigned long yaz_read_UTF8_char(unsigned char *inp,
+YAZ_EXPORT unsigned long yaz_read_UTF8_char(const unsigned char *inp,
size_t inbytesleft,
size_t *no_read,
int *error);
}
return 1; /* giving up */
}
+ else
+ {
+ int error = 0;
+ size_t no_read = 0;
+ (void) yaz_read_UTF8_char((const unsigned char *) buf, strlen(buf),
+ &no_read, &error);
+ if (error == 0 && no_read > 0)
+ return no_read;
+ }
return 1; /* we don't know */
}
return 0;
}
-unsigned long yaz_read_UTF8_char(unsigned char *inp,
+unsigned long yaz_read_UTF8_char(const unsigned char *inp,
size_t inbytesleft, size_t *no_read,
int *error)
{