summaryrefslogtreecommitdiff
path: root/source3/printing
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-06-25 17:43:28 +0200
committerGünther Deschner <gd@samba.org>2009-06-26 09:34:02 +0200
commit2579afc89710565bea0b16aa894b61fbb7776f26 (patch)
treed02ee3c011279211cd172f7427f7e409c3fd3017 /source3/printing
parent6395bc55db6b5926c42d3419084a6ccc1256c9c7 (diff)
downloadsamba-2579afc89710565bea0b16aa894b61fbb7776f26.tar.gz
samba-2579afc89710565bea0b16aa894b61fbb7776f26.tar.bz2
samba-2579afc89710565bea0b16aa894b61fbb7776f26.zip
s3-vlp: drastically shrink size and dependencies of the virtual line printer.
This gets vlp from 13M down to 214K on my box. Guenther
Diffstat (limited to 'source3/printing')
-rw-r--r--source3/printing/tests/vlp.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/source3/printing/tests/vlp.c b/source3/printing/tests/vlp.c
index 5fc363f2be..48b71204d8 100644
--- a/source3/printing/tests/vlp.c
+++ b/source3/printing/tests/vlp.c
@@ -21,6 +21,10 @@
#include "includes.h"
+#ifdef malloc
+#undef malloc
+#endif
+
#define PRINT_FIRSTJOB "100"
static TDB_CONTEXT *tdb;
@@ -215,7 +219,6 @@ static int print_command(int argc, char **argv)
struct passwd *pw;
TDB_DATA value, queue;
struct vlp_job job;
- int i;
if (argc < 3) {
printf("Usage: print <printername> <jobname>\n");
@@ -228,18 +231,13 @@ static int print_command(int argc, char **argv)
/* Create a job record */
- for (i = 2; i < argc; i++) {
- fstrcat(job.jobname, argv[i]);
- if (i < argc - 1) {
- fstrcat(job.jobname, " ");
- }
- }
+ slprintf(job.jobname, sizeof(job.jobname) - 1, "%s", argv[2]);
if (!(pw = getpwuid(getuid()))) {
return 1;
}
- fstrcpy(job.owner, pw->pw_name);
+ slprintf(job.owner, sizeof(job.owner) - 1, "%s", pw->pw_name);
job.jobid = next_jobnum(printer);
job.size = 666;
@@ -255,8 +253,7 @@ static int print_command(int argc, char **argv)
/* Add job to end of queue */
- queue.dptr = (unsigned char *)SMB_MALLOC(value.dsize +
- sizeof(struct vlp_job));
+ queue.dptr = (unsigned char *)malloc(value.dsize + sizeof(struct vlp_job));
if (!queue.dptr) return 1;
memcpy(queue.dptr, value.dptr, value.dsize);
@@ -382,7 +379,7 @@ int main(int argc, char **argv)
return 1;
}
- if (!strnequal(argv[1], "tdbfile", strlen("tdbfile"))) {
+ if (strncmp(argv[1], "tdbfile", strlen("tdbfile")) != 0) {
usage();
return 1;
}