# HG changeset patch # User Mychaela Falconia # Date 1691205611 0 # Node ID c79d09284c5fe7f6aa06efe579baadf37b900600 # Parent d88c5ab0344712b646c87ae4f9d34a6e44340c3d encode_phone_number_arg(): don't print to stderr, just return -1 on errors diff -r d88c5ab03447 -r c79d09284c5f libcoding/number_encode.c --- a/libcoding/number_encode.c Sat Aug 05 03:17:09 2023 +0000 +++ b/libcoding/number_encode.c Sat Aug 05 03:20:11 2023 +0000 @@ -68,19 +68,15 @@ cp++; } else fixp[1] = 0x81; - if (digit_char_to_gsm(*cp) < 0) { -inv_arg: fprintf(stderr, "error: invalid phone number argument\n"); + if (digit_char_to_gsm(*cp) < 0) return(-1); - } for (ndigits = 0; ; ndigits++) { c = digit_char_to_gsm(*cp); if (c < 0) break; cp++; - if (ndigits >= 20) { - fprintf(stderr, "error: too many number digits\n"); + if (ndigits >= 20) return(-1); - } digits[ndigits] = c; } if (mode) @@ -94,11 +90,11 @@ if (*cp == ',') { cp++; if (!isdigit(*cp)) - goto inv_arg; + return(-1); fixp[1] = strtoul(cp, &endp, 0); if (*endp) - goto inv_arg; + return(-1); } else if (*cp) - goto inv_arg; + return(-1); return(0); }