From: Ian Jackson Date: Fri, 5 Jun 2009 23:17:27 +0000 (+0100) Subject: allow nonexistent charset db X-Git-Tag: 1.9.2~180 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.web-live.git;a=commitdiff_plain;h=8b3b006869bfdc6c2ddbf58d6709a73433abe2f9;hp=3fad53f3bc8c29335f290c1fb5e2563b711becfc allow nonexistent charset db --- diff --git a/pctb/ocr.c b/pctb/ocr.c index 48c25c0..bb95767 100644 --- a/pctb/ocr.c +++ b/pctb/ocr.c @@ -63,12 +63,19 @@ static void readdb(OcrReader *rd) { char lbuf[100]; FILE *db; + for (ctxi=0; ctxicontexts[ctxi]); + char *dbfname=0; asprintf(&dbfname,"%s/charset-%d.txt",get_vardir(),rd->h); eassert(dbfname); - db= fopen(dbfname,"r"); eassert(db); + db= fopen(dbfname,"r"); free(dbfname); + if (!db) { + eassert(errno==ENOENT); + return; + } FGETSLINE(db,lbuf); eassert(!strcmp(lbuf,"# ypp-sc-tools pctb font v1")); @@ -77,9 +84,6 @@ static void readdb(OcrReader *rd) { eassert(r==1); eassert(h==rd->h); - for (ctxi=0; ctxicontexts[ctxi]); - for (;;) { FGETSLINE(db,lbuf); if (!lbuf || lbuf[0]=='#') continue; diff --git a/pctb/show-thing.tcl b/pctb/show-thing.tcl index d71c36e..980a8a4 100755 --- a/pctb/show-thing.tcl +++ b/pctb/show-thing.tcl @@ -387,6 +387,7 @@ proc read_database {} { global database database_header rows database_fn catch { unset database } set database_fn ./charset-$rows.txt + if {![file exists $database_fn]} return set f [open $database_fn r] if {[string compare [db_getsl $f] $database_header]} { error "$l ?" } if {([db_getsl $f])+0 != $rows} { error "wrong h ?" }