- openlog("sulogin", LOG_PID | LOG_CONS | LOG_NOWAIT, LOG_AUTH);
- if (argc > 1) {
- if (strncmp(argv[1], "-t", 2) == 0) {
- if (argv[1][2] == '\0') { /* -t NN */
- if (argc > 2) {
- timeout = atoi(argv[2]);
- if (argc > 3) {
- device = argv[3];
- }
- }
- } else { /* -tNNN */
- timeout = atoi(&argv[1][2]);
- if (argc > 2) {
- device = argv[2];
- }
- }
- } else {
- device = argv[1];
- }
- if (device) {
- close(0);
- close(1);
- close(2);
- if (open(device, O_RDWR) == 0) {
- dup(0);
- dup(0);
- } else {
- syslog(LOG_WARNING, "cannot open %s\n", device);
- exit(EXIT_FAILURE);
- }
- }
+ logmode = LOGMODE_BOTH;
+ openlog(applet_name, 0, LOG_AUTH);
+
+ if (getopt32(argv, "t:", &timeout_arg)) {
+ timeout = xatoi_u(timeout_arg);