- fatal("cannot chdir to %s", SD);
- if (stat(LO, &stb) == 0 && (stb.st_mode & 010)) {
- /* queue is disabled */
- putchar('\1'); /* return error code */
- exit(1);
- }
+ frecverr("%s: %s: %m", printer, SD);
+ if (stat(LO, &stb) == 0) {
+ if (stb.st_mode & 010) {
+ /* queue is disabled */
+ putchar('\1'); /* return error code */
+ exit(1);
+ }
+ } else if (stat(SD, &stb) < 0)
+ frecverr("%s: %s: %m", printer, SD);
+ minfree = read_number("minfree");
+ ddev = find_dev(stb.st_dev, S_IFBLK);
+ if ((dfd = open(ddev, O_RDONLY)) < 0)
+ syslog(LOG_WARNING, "%s: %s: %m", printer, ddev);
+ signal(SIGTERM, rcleanup);
+ signal(SIGPIPE, rcleanup);