diff options
| author | Simon Tatham <anakin@pobox.com> | 2008-07-09 17:06:29 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2008-07-09 17:06:29 +0000 |
| commit | c35b288fccdbd17dd88f57c665d0b71739e8fc6c (patch) | |
| tree | f44bc1b26302bd8cd4199e4b5da35598c594f0ca | |
| parent | 8013c941bcf3f9095f2db590761fd3e7b0b474e0 (diff) | |
| download | halibut-c35b288fccdbd17dd88f57c665d0b71739e8fc6c.zip halibut-c35b288fccdbd17dd88f57c665d0b71739e8fc6c.tar.gz halibut-c35b288fccdbd17dd88f57c665d0b71739e8fc6c.tar.bz2 halibut-c35b288fccdbd17dd88f57c665d0b71739e8fc6c.tar.xz | |
Turn the numeric parameter to err_sfntbadglyph from wchar_t to
unsigned int, after a correspondent mentioned that DJGPP produces a
very scary warning about integer promotion making use of the former
in va_arg non-portable. Whether or not that's standards-justifiable,
it's certainly the case that we were casting _to_ wchar_t from
unsigned int in all cases of this error actually being used, so the
simplest thing is just to transfer the number through va_arg as
unsigned.
[originally from svn r8112]
| -rw-r--r-- | error.c | 5 | ||||
| -rw-r--r-- | in_sfnt.c | 9 |
2 files changed, 6 insertions, 8 deletions
@@ -18,7 +18,8 @@ static void do_error(int code, va_list ap) { char c; int i, j; char *sp, *sp2; - wchar_t *wsp, *wsp2, wc; + wchar_t *wsp, *wsp2; + unsigned wc; filepos fpos, fpos2, *fposp; int flags = 0; @@ -376,7 +377,7 @@ static void do_error(int code, va_list ap) { break; case err_sfntbadglyph: fpos = *va_arg(ap, filepos *); - wc = va_arg(ap, wchar_t); + wc = va_arg(ap, unsigned); sprintf(error, "warning: character U+%04X references an non-existent glyph", wc); @@ -886,8 +886,7 @@ void sfnt_getmap(font_info *fi) { idx = (k + idDelta[j]) & 0xffff; if (idx != 0) { if (idx > sf->nglyphs) { - error(err_sfntbadglyph, &sf->pos, - (wchar_t)k); + error(err_sfntbadglyph, &sf->pos, k); continue; } fi->bmp[k] = sfnt_indextoglyph(sf, idx); @@ -898,16 +897,14 @@ void sfnt_getmap(font_info *fi) { for (k = startCode[j]; k <= endCode[j]; k++) { if (startidx + k - startCode[j] >= nglyphindex) { - error(err_sfntbadglyph, &sf->pos, - (wchar_t)k); + error(err_sfntbadglyph, &sf->pos, k); continue; } idx = glyphIndexArray[startidx + k - startCode[j]]; if (idx != 0) { idx = (idx + idDelta[j]) & 0xffff; if (idx > sf->nglyphs) { - error(err_sfntbadglyph, &sf->pos, - (wchar_t)k); + error(err_sfntbadglyph, &sf->pos, k); continue; } fi->bmp[k] = sfnt_indextoglyph(sf, idx); |