summaryrefslogtreecommitdiff
path: root/error.c
diff options
context:
space:
mode:
authorBen Harris <bjh21@bjh21.me.uk>2007-02-11 15:19:10 +0000
committerBen Harris <bjh21@bjh21.me.uk>2007-02-11 15:19:10 +0000
commit6c660b39aeae18c4652a48318bff3373bb535d92 (patch)
tree98d595434cdd91184f7504258443f29f898870be /error.c
parent6e50bd3a744e0f1ca596636aa0c096de18ffc355 (diff)
downloadhalibut-6c660b39aeae18c4652a48318bff3373bb535d92.zip
halibut-6c660b39aeae18c4652a48318bff3373bb535d92.tar.gz
halibut-6c660b39aeae18c4652a48318bff3373bb535d92.tar.bz2
halibut-6c660b39aeae18c4652a48318bff3373bb535d92.tar.xz
Improved error handling in sfnt support. No more calls to abort()!
[originally from svn r7269]
Diffstat (limited to 'error.c')
-rw-r--r--error.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/error.c b/error.c
index 6b4254d..b6c2007 100644
--- a/error.c
+++ b/error.c
@@ -341,6 +341,39 @@ static void do_error(int code, va_list ap) {
"html-mshtmlhelp-hhp found");
flags = PREFIX;
break;
+ case err_sfntnotable:
+ fpos = *va_arg(ap, filepos *);
+ sp = va_arg(ap, char *);
+ sprintf(error, "font has no '%.4s' table", sp);
+ flags = FILEPOS;
+ break;
+ case err_sfntnopsname:
+ fpos = *va_arg(ap, filepos *);
+ sprintf(error, "font has no PostScript name");
+ flags = FILEPOS;
+ break;
+ case err_sfntbadtable:
+ fpos = *va_arg(ap, filepos *);
+ sp = va_arg(ap, char *);
+ sprintf(error, "font has an invalid '%.4s' table", sp);
+ flags = FILEPOS;
+ break;
+ case err_sfntnounicmap:
+ fpos = *va_arg(ap, filepos *);
+ sprintf(error, "font has no UCS-2 character map");
+ flags = FILEPOS;
+ break;
+ case err_sfnttablevers:
+ fpos = *va_arg(ap, filepos *);
+ sp = va_arg(ap, char *);
+ sprintf(error, "font has an unsupported '%.4s' table version", sp);
+ flags = FILEPOS;
+ break;
+ case err_sfntbadhdr:
+ fpos = *va_arg(ap, filepos *);
+ sprintf(error, "font has an invalid header");
+ flags = FILEPOS;
+ break;
case err_whatever:
sp = va_arg(ap, char *);
vsprintf(error, sp, ap);