mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-04-09 23:28:06 -05:00
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]
This commit is contained in:
parent
80063aeef7
commit
12189e7193
@ -3,22 +3,41 @@
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include "putty.h"
|
||||
|
||||
struct printer_job_tag {
|
||||
FILE *fp;
|
||||
};
|
||||
|
||||
printer_job *printer_start_job(char *printer)
|
||||
{
|
||||
/* FIXME: open pipe to lpr */
|
||||
return NULL;
|
||||
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)
|
||||
{
|
||||
/* FIXME: receive a pipe to lpr, write things to it */
|
||||
assert(!"We shouldn't get here");
|
||||
if (!pj)
|
||||
return;
|
||||
|
||||
fwrite(data, 1, len, pj->fp);
|
||||
}
|
||||
|
||||
void printer_finish_job(printer_job *pj)
|
||||
{
|
||||
/* FIXME: receive a pipe to lpr, close it */
|
||||
assert(!"We shouldn't get here either");
|
||||
if (!pj)
|
||||
return;
|
||||
|
||||
pclose(pj->fp);
|
||||
sfree(pj);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user