Mercurial > hg > th-libs
changeset 247:2fc282c365a8
Use special error codes for syntax errors in format string.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 16 Feb 2016 18:19:37 +0200 |
parents | e00b547af1a7 |
children | 3a2a29f801ed |
files | th_string.c |
diffstat | 1 files changed, 8 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/th_string.c Tue Feb 16 18:17:33 2016 +0200 +++ b/th_string.c Tue Feb 16 18:19:37 2016 +0200 @@ -238,7 +238,7 @@ if (*fmt != '%') { if ((ret = vputch(ctx, *fmt)) == EOF) - return ret; + goto out; } else { @@ -263,12 +263,12 @@ { padChar = *fmt++; if (*fmt != '\'') - goto out; + return -101; fmt++; } if (*fmt == 0) - goto out; + return -102; } // Get width @@ -280,7 +280,7 @@ { fmt++; if (!th_isdigit(*fmt)) - goto out; + return -103; prec = 0; while (th_isdigit(*fmt)) @@ -294,12 +294,12 @@ break; case 0: - goto out; + return -104; case 'u': case 'd': if ((padMode != '0' && padMode != '-' && padMode != ' ') || prec >= 0) - goto out; + return -105; if ((ret = th_vput_int(ctx, vputch, va_arg(ap, unsigned int), 10, padMode, padChar, width, *fmt == 'u', FALSE, sign)) == EOF) @@ -309,7 +309,7 @@ case 'x': case 'X': if ((padMode != '0' && padMode != '-' && padMode != ' ') || prec >= 0) - goto out; + return -106; if ((ret = th_vput_int(ctx, vputch, va_arg(ap, unsigned int), 16, padMode, padChar, width, TRUE, *fmt == 'X', FALSE)) == EOF) @@ -322,7 +322,7 @@ case 's': if ((padMode != '-' && padMode != ' ') || sign) - goto out; + return -108; if ((ret = th_vput_str(ctx, vputch, va_arg(ap, char *), padMode, padChar, width, prec)) == EOF) goto out;