-void sysassert_fail(const char *file, int line, const char *what) {
- int e= errno;
- progress("");
- fprintf(stderr,
- "\nfatal operational error:\n"
- " unsuccessful execution of: %s\n"
- " %s:%d: %s\n\n",
- what, file,line, strerror(e));
- _exit(16);
+void dbfile_assertfail(const char *file, int line, const char *m) {
+ if (dbzcat)
+ fatal("Error in dictionary file %s.gz:\n"
+ " Requirement not met at %s:%d:\n"
+ " %s",
+ basepath, file,line, m);
+ else if (dbfile)
+ fatal("Error in dictionary file %s at byte %ld:\n"
+ " Requirement not met at %s:%d:\n"
+ " %s",
+ basepath,(long)ftell(dbfile), file,line, m);
+ else
+ fatal("Semantic error in dictionaries:\n"
+ " Requirement not met at %s:%d:\n"
+ " %s",
+ file,line, m);