in src/vasprintf.c [267:280]
static int getint(const char **string)
{
int i = 0;
while (isdigit((unsigned char)**string) != 0) {
i = i * 10 + (**string - '0');
(*string)++;
}
if (i < 0 || i > 32767)
i = 32767; /* if we have i==-10 this is not because the number is */
/* negative; this is because the number is big */
return i;
}