diff --git a/setup/build.py b/setup/build.py index c443a6b9c9..0561d52a5a 100644 --- a/setup/build.py +++ b/setup/build.py @@ -48,6 +48,7 @@ class Extension(object): self.error = d['error'] = kwargs.get('error', None) self.libraries = d['libraries'] = kwargs.get('libraries', []) self.cflags = d['cflags'] = kwargs.get('cflags', []) + self.uses_icu = 'icuuc' in self.libraries if iswindows: self.cflags.append('/DCALIBRE_MODINIT_FUNC=PyMODINIT_FUNC') if self.needs_cxx and kwargs.get('needs_c++14'): @@ -399,7 +400,7 @@ class Build(Command): cmd = [linker] if iswindows: pre_ld_flags = [] - if ext.name in ('icu', 'matcher'): + if ext.uses_icu: # windows has its own ICU libs that dont work pre_ld_flags = elib cmd += pre_ld_flags + self.env.ldflags + ext.ldflags + elib + xlib + \ diff --git a/src/calibre/db/sqlite_extension.cpp b/src/calibre/db/sqlite_extension.cpp index 3c53d22ece..01f5eb3bb5 100644 --- a/src/calibre/db/sqlite_extension.cpp +++ b/src/calibre/db/sqlite_extension.cpp @@ -197,7 +197,7 @@ tok_create(void *sqlite3, const char **azArg, int nArg, Fts5Tokenizer **ppOut) { rc = p->constructor_error; delete p; } - } catch (std::bad_alloc &ex) { + } catch (std::bad_alloc) { return SQLITE_NOMEM; } catch (...) { return SQLITE_ERROR; @@ -210,7 +210,7 @@ tok_tokenize(Fts5Tokenizer *tokenizer_ptr, void *callback_ctx, int flags, const Tokenizer *p = reinterpret_cast(tokenizer_ptr); try { return p->tokenize(callback_ctx, flags, text, text_sz, callback); - } catch (std::bad_alloc &ex) { + } catch (std::bad_alloc) { return SQLITE_NOMEM; } catch (...) { return SQLITE_ERROR;