From: Marcin Cieslak Date: Mon, 24 Sep 2012 01:15:02 +0000 (+0200) Subject: dtprintinfo: Use CUPS lpq for FreeBSD X-Git-Tag: 2.2.0c~48 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fc0f1ff6978b90083080d2b1d97b6e3dc4ce2a04;p=oweals%2Fcde.git dtprintinfo: Use CUPS lpq for FreeBSD Use /usr/local/bin/lpq from CUPS for FreeBSD for now; this prevents immediate dtprintinfo crash. In the future we should handle both built-in /usr/bin/lpq as well as CUPS /usr/local/bin/lpq output in separate functions. Code to support CUPS should probably shared between other operating systems. --- diff --git a/cde/programs/dtprintinfo/objects/PrintObj/ParseJobs.C b/cde/programs/dtprintinfo/objects/PrintObj/ParseJobs.C index 7a32fdf1..c52d5b2e 100644 --- a/cde/programs/dtprintinfo/objects/PrintObj/ParseJobs.C +++ b/cde/programs/dtprintinfo/objects/PrintObj/ParseJobs.C @@ -870,8 +870,10 @@ void LocalPrintJobs(char *printer, char **return_job_list, int *return_n_jobs) #if defined(__osf__) sprintf(buf, "lpstat -o%s", printer); #endif -#if defined(linux) || defined(CSRG_BASED) - sprintf(buf, "lpq -P%s", printer); +#if defined(linux) || defined(__OpenBSD__) + snprintf(buf, 1000, "lpq -P%s", printer); +#elif defined(__FreeBSD__) + snprintf(buf, 1000, "/usr/local/bin/lpq -P%s", printer); #endif Invoke *_thread = new Invoke(buf, &output);