Lines Matching refs:str
55 static int parse_num __P((char *str, const char *key, int *valp));
197 parse_num(str, key, valp)
198 char *str;
205 p = strstr(str, key);
284 static char str[MAX_ENDP_LEN*3+8];
295 (void) slprintf(str, sizeof(str), "IP:%I", htonl(addr));
296 return str;
305 q = str;
307 q += slprintf(q, sizeof(str)-1, "%s",
310 q += slprintf(q, sizeof(str)-1, "%d", ep->class);
317 q += slprintf(q, str + sizeof(str) - q, "%.2x", ep->value[i]);
319 return str;
332 str_to_epdisc(ep, str)
334 char *str;
341 if (strncasecmp(str, endp_class_names[i], sl) == 0) {
342 str += sl;
348 i = strtol(str, &endp, 10);
349 if (endp == str) {
351 str);
354 str = endp;
357 if (*str == 0) {
361 if (*str != ':' && *str != '.') {
362 option_error("invalid class/value separator '%c'", *str);
365 ++str;
369 i = parse_dotted_ip(str, &addr);
370 if (i == 0 || str[i] != 0)
377 get_if_hwaddr(ep->value, sizeof(ep->value), str) >= 0) {
383 p = str;
385 if (*str == 0)
387 if (p <= str)
388 for (p = str; isxdigit(*p); ++p)
390 i = p - str;
392 option_error("no valid hex digits in \"%s\"", str);
395 ep->value[l] = hexc_val(*str++);
397 ep->value[l] = (ep->value[l] << 4) + hexc_val(*str++);
398 if (*str == ':' || *str == '.')
399 ++str;
401 if (*str != 0) {