~ubuntu-branches/ubuntu/quantal/lpr/quantal

« back to all changes in this revision

Viewing changes to lpc/lpc.c

  • Committer: Bazaar Package Importer
  • Author(s): Adam Majer
  • Date: 2006-11-04 23:21:59 UTC
  • mfrom: (3.1.2 feisty)
  • Revision ID: james.westby@ubuntu.com-20061104232159-4sbjww5mmvuwcrqx
Tags: 1:2006.11.04
* Added upstream patches
   + lpr.c [rev. 1.39] - portability patch s/0/SEEK_SET/ in lseek
* /var/log/lp-{acct,errs} are now rotated weekly with lp:adm
   ownership with 0640 permissions. The latter is to counteract any
   security related information being leaked from filter's stderr to
   the log to the user. (closes: #390720)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*      $OpenBSD: lpc.c,v 1.16 2003/06/02 23:36:53 millert Exp $        */
 
1
/*      $OpenBSD: lpc.c,v 1.17 2004/09/30 18:20:06 millert Exp $        */
2
2
/*      $NetBSD: lpc.c,v 1.11 2001/11/14 03:01:15 enami Exp $   */
3
3
 
4
4
/*
41
41
#if 0
42
42
static const char sccsid[] = "@(#)lpc.c 8.3 (Berkeley) 4/28/95";
43
43
#else
44
 
static const char rcsid[] = "$OpenBSD: lpc.c,v 1.16 2003/06/02 23:36:53 millert Exp $";
 
44
static const char rcsid[] = "$OpenBSD: lpc.c,v 1.17 2004/09/30 18:20:06 millert Exp $";
45
45
#endif
46
46
#endif /* not lint */
47
47
 
159
159
                }
160
160
                siginterrupt(SIGINT, 0);
161
161
 
162
 
                if (cmdline[0] == 0 || cmdline[0] == '\n')
163
 
                        break;
164
162
                makeargv();
 
163
                if (margc == 0)
 
164
                        break;
165
165
                c = getcmd(margv[0]);
166
166
                if (c == (struct cmd *)-1) {
167
167
                        printf("?Ambiguous command\n");
213
213
static void
214
214
makeargv(void)
215
215
{
216
 
        char *cp;
217
 
        char **argp = margv;
218
 
        int n = 0;
 
216
        char *cp = cmdline;
 
217
        char **ap = margv;
219
218
 
220
219
        margc = 0;
221
 
        for (cp = cmdline; *cp && (cp - cmdline) < sizeof(cmdline) &&
222
 
            n < MAX_MARGV; n++) {
223
 
                while (isspace(*cp))
224
 
                        cp++;
225
 
                if (*cp == '\0')
226
 
                        break;
227
 
                *argp++ = cp;
228
 
                margc += 1;
229
 
                while (*cp != '\0' && !isspace(*cp))
230
 
                        cp++;
231
 
                if (*cp == '\0')
232
 
                        break;
233
 
                *cp++ = '\0';
 
220
        while (margc < MAX_MARGV - 1 && (*ap = strsep(&cp, " \t\n")) != NULL) {
 
221
                if (**ap != '\0') {
 
222
                        ap++;
 
223
                        margc++;
 
224
                }
234
225
        }
235
 
        *argp++ = 0;
 
226
        *ap = NULL;
236
227
}
237
228
 
238
229
#define HELPINDENT ((int)sizeof("directory"))