summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2019-03-22 17:44:59 -0400
committerMichael R Sweet <michael.r.sweet@gmail.com>2019-03-22 17:44:59 -0400
commitdd2b61669ee422ce9bb80f74c38c4292b31d0d44 (patch)
tree09623984c4f68ba2af65f276dc646a5ec71404a1 /test
parentcc108616c0453c481e994c701451e82c4f247e53 (diff)
downloadcups-dd2b61669ee422ce9bb80f74c38c4292b31d0d44.tar.gz
Directory output now uses the same naming algorithm as is used for the spool
directory.
Diffstat (limited to 'test')
-rw-r--r--test/ippeveprinter.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/test/ippeveprinter.c b/test/ippeveprinter.c
index 22c35c50c..8180e78e9 100644
--- a/test/ippeveprinter.c
+++ b/test/ippeveprinter.c
@@ -235,7 +235,7 @@ static void copy_attributes(ipp_t *to, ipp_t *from, cups_array_t *ra, ipp_tag_t
static void copy_job_attributes(ippeve_client_t *client, ippeve_job_t *job, cups_array_t *ra);
static ippeve_client_t *create_client(ippeve_printer_t *printer, int sock);
static ippeve_job_t *create_job(ippeve_client_t *client);
-static int create_job_file(ippeve_printer_t *printer, ippeve_job_t *job, char *fname, size_t fnamesize, const char *ext);
+static int create_job_file(ippeve_job_t *job, char *fname, size_t fnamesize, const char *dir, const char *ext);
static int create_listener(const char *name, int port, int family);
static ipp_t *create_media_col(const char *media, const char *source, const char *type, int width, int length, int bottom, int left, int right, int top);
static ipp_t *create_media_size(int width, int length);
@@ -1036,10 +1036,10 @@ create_job(ippeve_client_t *client) /* I - Client */
static int /* O - File descriptor or -1 on error */
create_job_file(
- ippeve_printer_t *printer, /* I - Printer */
ippeve_job_t *job, /* I - Job */
char *fname, /* I - Filename buffer */
size_t fnamesize, /* I - Size of filename buffer */
+ const char *directory, /* I - Directory to store in */
const char *ext) /* I - Extension (`NULL` for default) */
{
char name[256], /* "Safe" filename */
@@ -1099,7 +1099,7 @@ create_job_file(
* Create a filename with the job-id, job-name, and document-format (extension)...
*/
- snprintf(fname, fnamesize, "%s/%d-%s.%s", printer->directory, job->id, name, ext);
+ snprintf(fname, fnamesize, "%s/%d-%s.%s", directory, job->id, name, ext);
return (open(fname, O_WRONLY | O_CREAT | O_TRUNC, 0666));
}
@@ -2093,7 +2093,7 @@ finish_document_data(
* TODO: Update code to support piping large raster data to the print command.
*/
- if ((job->fd = create_job_file(client->printer, job, filename, sizeof(filename), NULL)) < 0)
+ if ((job->fd = create_job_file(job, filename, sizeof(filename), client->printer->directory, NULL)) < 0)
{
respond_ipp(client, IPP_STATUS_ERROR_INTERNAL, "Unable to create print file: %s", strerror(errno));
@@ -2306,7 +2306,7 @@ finish_document_uri(
* Create a file for the request data...
*/
- if ((job->fd = create_job_file(client->printer, job, filename, sizeof(filename), NULL)) < 0)
+ if ((job->fd = create_job_file(job, filename, sizeof(filename), client->printer->directory, NULL)) < 0)
{
_cupsRWUnlock(&(client->printer->rwlock));
@@ -5367,7 +5367,9 @@ process_job(ippeve_job_t *job) /* I - Job */
{
if (errno == ENOENT)
{
- if ((mystdout = open(resource, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0)
+ if ((mystdout = open(resource, O_WRONLY | O_CREAT | O_TRUNC, 0666)) >= 0)
+ fprintf(stderr, "Saving print command output to \"%s\".\n", resource);
+ else
fprintf(stderr, "Unable to create \"%s\": %s\n", resource, strerror(errno));
}
else
@@ -5375,17 +5377,21 @@ process_job(ippeve_job_t *job) /* I - Job */
}
else if (S_ISDIR(fileinfo.st_mode))
{
- snprintf(line, sizeof(line), "%s/%d.prn", resource, job->id);
-
- if ((mystdout = open(line, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0)
+ if ((mystdout = create_job_file(job, line, sizeof(line), resource, "prn")) >= 0)
+ fprintf(stderr, "Saving print command output to \"%s\".\n", line);
+ else
fprintf(stderr, "Unable to create \"%s\": %s\n", line, strerror(errno));
}
else if (!S_ISREG(fileinfo.st_mode))
{
- if ((mystdout = open(resource, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0)
+ if ((mystdout = open(resource, O_WRONLY | O_CREAT | O_TRUNC, 0666)) >= 0)
+ fprintf(stderr, "Saving print command output to \"%s\".\n", resource);
+ else
fprintf(stderr, "Unable to create \"%s\": %s\n", resource, strerror(errno));
}
- else if ((mystdout = open(resource, O_WRONLY)) < 0)
+ else if ((mystdout = open(resource, O_WRONLY)) >= 0)
+ fprintf(stderr, "Saving print command output to \"%s\".\n", resource);
+ else
fprintf(stderr, "Unable to open \"%s\": %s\n", resource, strerror(errno));
}
else if (!strcmp(scheme, "socket"))
@@ -5407,7 +5413,7 @@ process_job(ippeve_job_t *job) /* I - Job */
fprintf(stderr, "Unsupported device URI scheme \"%s\".\n", scheme);
}
}
- else if ((mystdout = create_job_file(job->printer, job, line, sizeof(line), "prn")) >= 0)
+ else if ((mystdout = create_job_file(job, line, sizeof(line), job->printer->directory, "prn")) >= 0)
{
fprintf(stderr, "Saving print command output to \"%s\".\n", line);
}