version 1.13, 2013/11/27 13:32:02 |
version 1.14, 2015/04/18 18:28:37 |
|
|
|
|
#include <errno.h> |
#include <errno.h> |
#include <unistd.h> |
#include <unistd.h> |
|
#include <limits.h> |
#include <stdlib.h> |
#include <stdlib.h> |
#include <stdio.h> |
#include <stdio.h> |
#include <ctype.h> |
#include <ctype.h> |
|
|
int |
int |
decode(char *name, CODE *codetab) |
decode(char *name, CODE *codetab) |
{ |
{ |
|
int n; |
CODE *c; |
CODE *c; |
|
|
if (isdigit((unsigned char)*name)) |
if (isdigit((unsigned char)*name)) { |
return (atoi(name)); |
const char *errstr; |
|
int n = strtonum(name, 0, INT_MAX, &errstr); |
|
if (!errstr) |
|
return (n); |
|
} |
|
|
for (c = codetab; c->c_name; c++) |
for (c = codetab; c->c_name; c++) |
if (!strcasecmp(name, c->c_name)) |
if (!strcasecmp(name, c->c_name)) |