1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 18:07:59 +00:00
putty-source/unix/uxprint.c
Simon Tatham 12189e7193 Printer support: cfg.printer is assumed to be a Unix command through
which to pipe printed data. Of course by default printing is
disabled; typically cfg.printer would be set to `lpr', perhaps with
some arguments.

[originally from svn r2073]
2002-10-15 17:38:04 +00:00

44 lines
702 B
C

/*
* Printing interface for PuTTY.
*/
#include <assert.h>
#include <stdio.h>
#include "putty.h"
struct printer_job_tag {
FILE *fp;
};
printer_job *printer_start_job(char *printer)
{
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;
}
void printer_job_data(printer_job *pj, void *data, int len)
{
if (!pj)
return;
fwrite(data, 1, len, pj->fp);
}
void printer_finish_job(printer_job *pj)
{
if (!pj)
return;
pclose(pj->fp);
sfree(pj);
}