str2val
sa_args.keymat = str2val(p, 16, &keymatlen);
data.v = str2val("\
key.v = str2val("f59bd70f 81b9b9cc 2a32c7fd 229a4b37", 16, &key.l);
iv0.v = str2val("26b68c90 9467b4ab 7ec29fa0 0b696b55", 16, &iv0.l);
mod.v = str2val(r_hmd5, 16, &mod.l);
mod.v = str2val(r_hmd5, 16, &mod.l);
mod.v = str2val(r_hsha1, 16, &mod.l);
mod.v = str2val(r_hsha1, 16, &mod.l);
mod.v = str2val(r_hsha2, 16, &mod.l);
p1.v = str2val(px[i].p, 16, &p1.l);
p2.v = str2val(px[i].p, 16, &p2.l);
k = str2val(p + 2, 16, &keylen);
buf.v = str2val((s), 16, &buf.l); \
extern char *str2val(const char *, int, size_t *);
static int str2val(const char *, const char *, int, int);
first_ttl = str2val(optarg, "first ttl", 1, 255);
max_ttl = str2val(optarg, "max ttl", 1, 255);
port = (u_short)str2val(optarg, "port",
nprobes = str2val(optarg, "nprobes", 1, -1);
tos = str2val(optarg, "tos", 0, 255);
waittime = str2val(optarg, "wait time",
pausemsecs = str2val(optarg, "pause msecs",
packlen = str2val(argv[optind + 1],