summaryrefslogtreecommitdiff
path: root/source3/printing/lpq_parse.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2002-04-22 18:48:45 +0000
committerGerald Carter <jerry@samba.org>2002-04-22 18:48:45 +0000
commit2699f9b9df3f974a34e40761141361e997638b6c (patch)
treef903d3690aee0e134f13bd69ed4ebdd0ff0b9bb4 /source3/printing/lpq_parse.c
parent6f366b7809375e4d7b061278a739ce541d291a97 (diff)
downloadsamba-2699f9b9df3f974a34e40761141361e997638b6c.tar.gz
samba-2699f9b9df3f974a34e40761141361e997638b6c.tar.bz2
samba-2699f9b9df3f974a34e40761141361e997638b6c.zip
printing merge from HEAD
(This used to be commit d3aed37dd87d425f51bcdc4e5151f0b0fe8f9c6b)
Diffstat (limited to 'source3/printing/lpq_parse.c')
-rw-r--r--source3/printing/lpq_parse.c32
1 files changed, 12 insertions, 20 deletions
diff --git a/source3/printing/lpq_parse.c b/source3/printing/lpq_parse.c
index 13b87045cd..9d8b1cc2aa 100644
--- a/source3/printing/lpq_parse.c
+++ b/source3/printing/lpq_parse.c
@@ -149,21 +149,17 @@ static BOOL parse_lpq_bsd(char *line,print_queue_struct *buf,BOOL first)
StrnCpy(buf->fs_file,tok[FILETOK],sizeof(buf->fs_file)-1);
if ((FILETOK + 1) != TOTALTOK) {
- int bufsize;
int i;
- bufsize = sizeof(buf->fs_file) - strlen(buf->fs_file) - 1;
-
for (i = (FILETOK + 1); i < TOTALTOK; i++) {
- safe_strcat(buf->fs_file," ",bufsize);
- safe_strcat(buf->fs_file,tok[i],bufsize - 1);
- bufsize = sizeof(buf->fs_file) - strlen(buf->fs_file) - 1;
- if (bufsize <= 0) {
- break;
- }
+ /* FIXME: Using fstrcat rather than other means is a bit
+ * inefficient; this might be a problem for enormous queues with
+ * many fields. */
+ fstrcat(buf->fs_file, " ");
+ fstrcat(buf->fs_file, tok[i]);
}
/* Ensure null termination. */
- buf->fs_file[sizeof(buf->fs_file)-1] = '\0';
+ fstrterminate(buf->fs_file);
}
#ifdef PRIOTOK
@@ -282,21 +278,17 @@ static BOOL parse_lpq_lprng(char *line,print_queue_struct *buf,BOOL first)
StrnCpy(buf->fs_file,tokarr[LPRNG_FILETOK],sizeof(buf->fs_file)-1);
if ((LPRNG_FILETOK + 1) != LPRNG_TOTALTOK) {
- int bufsize;
int i;
- bufsize = sizeof(buf->fs_file) - strlen(buf->fs_file) - 1;
-
for (i = (LPRNG_FILETOK + 1); i < LPRNG_TOTALTOK; i++) {
- safe_strcat(buf->fs_file," ",bufsize);
- safe_strcat(buf->fs_file,tokarr[i],bufsize - 1);
- bufsize = sizeof(buf->fs_file) - strlen(buf->fs_file) - 1;
- if (bufsize <= 0) {
- break;
- }
+ /* FIXME: Using fstrcat rather than other means is a bit
+ * inefficient; this might be a problem for enormous queues with
+ * many fields. */
+ fstrcat(buf->fs_file, " ");
+ fstrcat(buf->fs_file, tokarr[i]);
}
/* Ensure null termination. */
- buf->fs_file[sizeof(buf->fs_file)-1] = '\0';
+ fstrterminate(buf->fs_file);
}
return(True);