| 666 | } |
| 667 | |
| 668 | struct passwd * |
| 669 | pw_scan(const char *line, int flags) |
| 670 | { |
| 671 | struct passwd pw, *ret; |
| 672 | char *bp; |
| 673 | |
| 674 | if ((bp = strdup(line)) == NULL) |
| 675 | return (NULL); |
| 676 | __pw_initpwd(&pw); |
| 677 | if (!__pw_scan(bp, &pw, flags)) { |
| 678 | free(bp); |
| 679 | return (NULL); |
| 680 | } |
| 681 | ret = pw_dup(&pw); |
| 682 | free(bp); |
| 683 | return (ret); |
| 684 | } |