head 1.3; access; symbols pkgsrc-2023Q1:1.2.0.168 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.166 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.164 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.162 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.160 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.158 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.156 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.154 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.152 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.150 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.148 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.144 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.124 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.146 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.142 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.140 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.138 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.136 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.134 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.132 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.130 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.128 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.126 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.122 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.120 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.118 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.116 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.114 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.112 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.110 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.108 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.106 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.104 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.102 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.100 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.98 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.96 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.94 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.92 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.90 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.88 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.86 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.84 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.82 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.80 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.78 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.76 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.74 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.72 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.70 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.68 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.66 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.64 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.62 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.60 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.58 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.56 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.54 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.52 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.50 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.48 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.46 pkgsrc-2008Q1:1.2.0.44 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.42 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.40 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.38 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.36 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.34 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.32 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.30 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.28 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.26 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.24 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.22 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.20 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.18 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.16 pkgsrc-2004Q3-base:1.2 pkgsrc-2004Q2:1.2.0.14 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.12 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.10 pkgsrc-2003Q4-base:1.2 netbsd-1-6-1:1.2.0.6 netbsd-1-6-1-base:1.2 netbsd-1-6:1.2.0.8 netbsd-1-6-RELEASE-base:1.2 pkgviews:1.2.0.4 pkgviews-base:1.2 buildlink2:1.2.0.2 buildlink2-base:1.2 netbsd-1-5-PATCH003:1.2 netbsd-1-5-PATCH001:1.2 netbsd-1-5-RELEASE:1.2 netbsd-1-4-PATCH003:1.2 netbsd-1-4-PATCH002:1.2 comdex-fall-1999:1.2 netbsd-1-4-PATCH001:1.2 netbsd-1-4-RELEASE:1.2; locks; strict; comment @# @; 1.3 date 2023.04.13.14.23.21; author wiz; state dead; branches; next 1.2; commitid FbpHANxLGSqggXkE; 1.2 date 98.11.11.11.42.57; author agc; state Exp; branches; next 1.1; 1.1 date 98.11.09.18.02.36; author agc; state Exp; branches; next ; desc @@ 1.3 log @psutils: remove obsolete patches @ text @$NetBSD: patch-aa,v 1.2 1998/11/11 11:42:57 agc Exp $ Read default papersize from a configuration file at run-time. If it's not in the correct format, or it's not found, default to the papersize that was compiled in. --- psutil.c 1998/10/30 16:48:18 1.1 +++ psutil.c 1998/11/09 16:18:30 @@@@ -19,6 +19,7 @@@@ #include #include +#include #include #define iscomment(x,y) (strncmp(x,y,strlen(y)) == 0) @@@@ -64,10 +65,62 @@@@ { NULL, 0, 0 } }; +/* bounds-checking strncpy */ +char * +strnncpy(char *to, size_t tosize, char *from, size_t cc) +{ + size_t len; + + if ((len = cc) >= tosize - 1) { + len = tosize - 1; + } + (void) strncpy(to, from, len); + to[len] = 0; + return to; +} + +#if (defined(BSD) && BSD >= 199306) +#include + +/* read PAPERSIZE from file */ +int +readconfig(char *name, size_t namesize) +{ + FILE *fp; + char buf[BUFSIZ]; + char *cp; + int found; + + found = 0; + if ((fp = fopen("@@prefix@@/etc/psutils.cfg", "r")) != (FILE *) NULL) { + while (fgets(buf, sizeof(buf), fp) != (char *) NULL) { + buf[strlen(buf) - 1] = 0; + for (cp = buf ; *cp && *cp != '\n' && isspace(*cp) ; cp++) { + } + if (*cp == '#') { + continue; + } + if (strncmp(cp, "PAPERSIZE=", 10) == 0) { + for (cp += 10; *cp && isspace(*cp) ; cp++) { + } + if (*cp != 0) { + (void) strnncpy(name, namesize, cp, strlen(cp)); + found = 1; + break; + } + } + } + (void) fclose(fp); + } + return found; +} +#endif + /* return pointer to paper size struct or NULL */ Paper* findpaper(char *name) { Paper *pp; + for (pp = papersizes; PaperName(pp); pp++) { if (strcmp(PaperName(pp), name) == 0) { return pp; @ 1.2 log @Read the config file only where necessary. Cross-reference setpapersize(1) from the relevant man pages. @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.1 1998/11/09 18:02:36 agc Exp $ @ 1.1 log @Read the default paper size from a configuration file at run-time. @ text @d1 1 a1 1 $NetBSD$ d17 1 a17 1 @@@@ -64,12 +65,68 @@@@ d22 1 a22 1 +static char * d39 1 a39 1 +static int a75 1 + char papersize[BUFSIZ]; a76 3 + if (!readconfig(papersize, sizeof(papersize))) { + (void) strnncpy(papersize, sizeof(papersize), name, strlen(name)); + } d78 1 a78 2 - if (strcmp(PaperName(pp), name) == 0) { + if (strcmp(PaperName(pp), papersize) == 0) { a79 2 } } @