+ printer_job *ret = smalloc(sizeof(printer_job));
+ /*
+ * On Unix, we treat cfg.printer as the name of a command to
+ * pipe to - typically lpr, of course.
+ */
+ ret->fp = popen(cfg.printer, "w");
+ if (!ret->fp) {
+ sfree(ret);
+ ret = NULL;
+ }
+ return ret;