| 401 | } |
| 402 | |
| 403 | static int |
| 404 | prefix(void *val, int size) |
| 405 | { |
| 406 | u_char *name = (u_char *)val; |
| 407 | int byte, bit, plen = 0; |
| 408 | |
| 409 | for (byte = 0; byte < size; byte++, plen += 8) |
| 410 | if (name[byte] != 0xff) |
| 411 | break; |
| 412 | if (byte == size) |
| 413 | return (plen); |
| 414 | for (bit = 7; bit != 0; bit--, plen++) |
| 415 | if (!(name[byte] & (1 << bit))) |
| 416 | break; |
| 417 | for (; bit != 0; bit--) |
| 418 | if (name[byte] & (1 << bit)) |
| 419 | return(0); |
| 420 | byte++; |
| 421 | for (; byte < size; byte++) |
| 422 | if (name[byte]) |
| 423 | return(0); |
| 424 | return (plen); |
| 425 | } |
| 426 | |
| 427 | static char * |
| 428 | sec2str(time_t total) |