summaryrefslogtreecommitdiff
path: root/source3/printing/print_cups.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-11-21 13:56:36 -0800
committerJeremy Allison <jra@samba.org>2007-11-21 13:56:36 -0800
commit01acd4bb3833733f7487ad86ea6542239fe3c90b (patch)
tree0cfdc8bbb05ca65cf0f7761ed636244a7a76d714 /source3/printing/print_cups.c
parentdc9237d231a39bbed988baa9371ceb785ba32665 (diff)
downloadsamba-01acd4bb3833733f7487ad86ea6542239fe3c90b.tar.gz
samba-01acd4bb3833733f7487ad86ea6542239fe3c90b.tar.bz2
samba-01acd4bb3833733f7487ad86ea6542239fe3c90b.zip
Remove pstring from printing/*.c except for the
tdb_unpack requirement (I'll be making that an allocating interface later). Jeremy. (This used to be commit d2ee75326ac291ab4f1860075ba35f58703c7d9d)
Diffstat (limited to 'source3/printing/print_cups.c')
-rw-r--r--source3/printing/print_cups.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source3/printing/print_cups.c b/source3/printing/print_cups.c
index 2ffd322b45..6e62306d67 100644
--- a/source3/printing/print_cups.c
+++ b/source3/printing/print_cups.c
@@ -564,8 +564,8 @@ static int cups_job_submit(int snum, struct printjob *pjob)
cups_lang_t *language = NULL; /* Default language */
char uri[HTTP_MAX_URI]; /* printer-uri attribute */
const char *clientname = NULL; /* hostname of client for job-originating-host attribute */
- pstring new_jobname;
- int num_options = 0;
+ char *new_jobname = NULL;
+ int num_options = 0;
cups_option_t *options = NULL;
char addr[INET6_ADDRSTRLEN];
@@ -627,8 +627,10 @@ static int cups_job_submit(int snum, struct printjob *pjob)
"job-originating-host-name", NULL,
clientname);
- pstr_sprintf(new_jobname,"%s%.8u %s", PRINT_SPOOL_PREFIX,
- (unsigned int)pjob->smbjob, pjob->jobname);
+ if (asprintf(&new_jobname,"%s%.8u %s", PRINT_SPOOL_PREFIX,
+ (unsigned int)pjob->smbjob, pjob->jobname) < 0) {
+ goto out;
+ }
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "job-name", NULL,
new_jobname);
@@ -676,6 +678,8 @@ static int cups_job_submit(int snum, struct printjob *pjob)
if (http)
httpClose(http);
+ SAFE_FREE(new_jobname);
+
return ret;
}