Hi, Bertrand! At 2017-11-05T01:12:38+0100, Bertrand Garrigues wrote: > Which version of `uchardet' do you have on your system? On mine I have > version 0.0.6.
Well, that's my problem right there. I'm running Debian 9 ("Stretch"), so: $ dpkg -s libuchardet-dev | grep 0 Source: uchardet (0.0.1-1) Version: 0.0.1-1+b2 Depends: libuchardet0 (= 0.0.1-1+b2) > Another thing is that if `uchardet_get_charse' returns NULL we use the > default encoding, but we could also test that this function returns an > empty string (which should be your case). Here's a patch. I tested it and it appears to work; I no longer get those warnings from preconv, and both contrib/mom/examples/mom-pdf.pdf and contrib/mom/examples/sample_docs.pdf look fine in Evince. diff --git a/src/preproc/preconv/preconv.cpp b/src/preproc/preconv/preconv.cpp index 97d4feb1..891c1515 100644 --- a/src/preproc/preconv/preconv.cpp +++ b/src/preproc/preconv/preconv.cpp @@ -1050,6 +1050,11 @@ detect_file_encoding(FILE *fp) if (debug_flag) fprintf(stderr, " charset: %s\n", charset); if (charset) { + /* uchardet 0.0.1 could return an empty string instead of NULL */ + if (!charset[0]) { + uchardet_delete(ud); + return NULL; + } ret = (char *)calloc(strlen(charset) + 1, 1); strcpy(ret, charset); } I'm happy to commit this if it meets with your approval. -- Regards, Branden
signature.asc
Description: PGP signature