Clean up the code in bin/ to reduce warnings from GCC3.
authorChris Pressey <cpressey@dragonflybsd.org>
Fri, 19 Mar 2004 17:47:49 +0000 (17:47 +0000)
committerChris Pressey <cpressey@dragonflybsd.org>
Fri, 19 Mar 2004 17:47:49 +0000 (17:47 +0000)
Stage 4 of 5 or so: cleanups to ed and ps.
- Add ``const'' and ``static'' to  appropriate variable delcarations
  and casts.
- Fix signedness on appropriate ``int'' declarations.
- Convert appropriate ``int'' types to ``size_t''.
- Rename functions/variables to not conflict with globals.
- Add missing #include's.

Submitted-by: Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
bin/ed/cbc.c
bin/ed/ed.h
bin/ed/io.c
bin/ed/main.c
bin/ps/extern.h
bin/ps/fmt.c
bin/ps/keyword.c
bin/ps/nlist.c
bin/ps/print.c
bin/ps/ps.c
bin/ps/ps.h

index 74e9bd2..51a8e6f 100644 (file)
@@ -38,7 +38,7 @@
  *
  * @(#)cbc.c,v 1.2 1994/02/01 00:34:36 alm Exp
  * $FreeBSD: src/bin/ed/cbc.c,v 1.12.2.1 2001/07/04 22:32:18 kris Exp $
- * $DragonFly: src/bin/ed/cbc.c,v 1.3 2003/09/28 14:39:14 hmp Exp $
+ * $DragonFly: src/bin/ed/cbc.c,v 1.4 2004/03/19 17:47:48 cpressey Exp $
  */
 
 #include <sys/types.h>
@@ -96,7 +96,7 @@ char bits[] = {                               /* used to extract bits from a char */
 };
 int pflag;                             /* 1 to preserve parity bits */
 
-unsigned char des_buf[8];      /* shared buffer for get_des_char/put_des_char */
+char des_buf[8];               /* shared buffer for get_des_char/put_des_char */
 int des_ct = 0;                        /* count for get_des_char/put_des_char */
 int des_n = 0;                 /* index for put_des_char/get_des_char */
 
@@ -129,7 +129,7 @@ get_des_char(FILE *fp)
                des_n = 0;
                des_ct = cbc_decode(des_buf, fp);
        }
-       return (des_ct > 0) ? des_buf[des_n++] : EOF;
+       return (des_ct > 0) ? (unsigned char)des_buf[des_n++] : EOF;
 #else
        return (getc(fp));
 #endif
@@ -145,7 +145,7 @@ put_des_char(int c, FILE *fp)
                des_ct = cbc_encode(des_buf, des_n, fp);
                des_n = 0;
        }
-       return (des_ct >= 0) ? (des_buf[des_n++] = c) : EOF;
+       return (des_ct >= 0) ? ((unsigned char)des_buf[des_n++] = c) : EOF;
 #else
        return (fputc(c, fp));
 #endif
@@ -199,7 +199,7 @@ get_keyword(void)
  * print a warning message and, possibly, terminate
  */
 void
-des_error(char *s)
+des_error(const char *s)
 {
        (void)sprintf(errmsg, "%s", s ? s : strerror(errno));
 }
@@ -238,7 +238,7 @@ hex_to_binary(int c, int radix)
  * convert the key to a bit pattern
  */
 void
-expand_des_key(char *obuf, char *ibuf)
+expand_des_key(char *obuf, char *inbuf)
 {
        register int i, j;              /* counter in a for loop */
        int nbuf[64];                   /* used for hex/key translation */
@@ -246,13 +246,13 @@ expand_des_key(char *obuf, char *ibuf)
        /*
         * leading '0x' or '0X' == hex key
         */
-       if (ibuf[0] == '0' && (ibuf[1] == 'x' || ibuf[1] == 'X')) {
-               ibuf = &ibuf[2];
+       if (inbuf[0] == '0' && (inbuf[1] == 'x' || inbuf[1] == 'X')) {
+               inbuf = &inbuf[2];
                /*
                 * now translate it, bombing on any illegal hex digit
                 */
-               for (i = 0; ibuf[i] && i < 16; i++)
-                       if ((nbuf[i] = hex_to_binary((int) ibuf[i], 16)) == -1)
+               for (i = 0; inbuf[i] && i < 16; i++)
+                       if ((nbuf[i] = hex_to_binary((int) inbuf[i], 16)) == -1)
                                des_error("bad hex digit in key");
                while (i < 16)
                        nbuf[i++] = 0;
@@ -266,13 +266,13 @@ expand_des_key(char *obuf, char *ibuf)
        /*
         * leading '0b' or '0B' == binary key
         */
-       if (ibuf[0] == '0' && (ibuf[1] == 'b' || ibuf[1] == 'B')) {
-               ibuf = &ibuf[2];
+       if (inbuf[0] == '0' && (inbuf[1] == 'b' || inbuf[1] == 'B')) {
+               inbuf = &inbuf[2];
                /*
                 * now translate it, bombing on any illegal binary digit
                 */
-               for (i = 0; ibuf[i] && i < 16; i++)
-                       if ((nbuf[i] = hex_to_binary((int) ibuf[i], 2)) == -1)
+               for (i = 0; inbuf[i] && i < 16; i++)
+                       if ((nbuf[i] = hex_to_binary((int) inbuf[i], 2)) == -1)
                                des_error("bad binary digit in key");
                while (i < 64)
                        nbuf[i++] = 0;
@@ -286,7 +286,7 @@ expand_des_key(char *obuf, char *ibuf)
        /*
         * no special leader -- ASCII
         */
-       (void)strncpy(obuf, ibuf, 8);
+       (void)strncpy(obuf, inbuf, 8);
 }
 
 /*****************
@@ -371,7 +371,7 @@ cbc_encode(char *msgbuf, int n, FILE *fp)
 int
 cbc_decode(char *msgbuf, FILE *fp)
 {
-       Desbuf ibuf;    /* temp buffer for initialization vector */
+       Desbuf inbuf;   /* temp buffer for initialization vector */
        register int n;         /* number of bytes actually read */
        register int c;         /* used to test for EOF */
        int inverse = 1;        /* 0 to encrypt, 1 to decrypt */
@@ -380,11 +380,11 @@ cbc_decode(char *msgbuf, FILE *fp)
                /*
                 * do the transformation
                 */
-               MEMCPY(BUFFER(ibuf), BUFFER(msgbuf), 8);
+               MEMCPY(BUFFER(inbuf), BUFFER(msgbuf), 8);
                DES_XFORM(UBUFFER(msgbuf));
                for (c = 0; c < 8; c++)
                        UCHAR(msgbuf, c) ^= UCHAR(ivec, c);
-               MEMCPY(BUFFER(ivec), BUFFER(ibuf), 8);
+               MEMCPY(BUFFER(ivec), BUFFER(inbuf), 8);
                /*
                 * if the last one, handle it specially
                 */
index eee7bef..3a9e9f6 100644 (file)
@@ -26,7 +26,7 @@
  *
  *     @(#)ed.h,v 1.5 1994/02/01 00:34:39 alm Exp
  * $FreeBSD: src/bin/ed/ed.h,v 1.13.2.1 2001/08/01 02:36:03 obrien Exp $
- * $DragonFly: src/bin/ed/ed.h,v 1.4 2003/11/14 03:54:26 dillon Exp $
+ * $DragonFly: src/bin/ed/ed.h,v 1.5 2004/03/19 17:47:48 cpressey Exp $
  */
 
 #include <sys/param.h>
@@ -193,7 +193,7 @@ void clear_undo_stack (void);
 int close_sbuf (void);
 int copy_lines (long);
 int delete_lines (long, long);
-void des_error (char *);
+void des_error (const char *);
 int display_lines (long, long, int);
 line_t *dup_line_node (line_t *);
 int exec_command (void);
@@ -229,7 +229,7 @@ int is_legal_filename (char *);
 int join_lines (long, long);
 int mark_line_node (line_t *, int);
 int move_lines (long);
-line_t *next_active_node ();
+line_t *next_active_node (void);
 long next_addr (void);
 int open_sbuf (void);
 char *parse_char_class (char *);
@@ -247,12 +247,12 @@ int set_active_node (line_t *);
 void set_des_key (char *);
 void signal_hup (int);
 void signal_int (int);
-char *strip_escapes (char *);
+char *strip_escapes (const char *);
 int substitute_matching_text (pattern_t *, line_t *, int, int);
 char *translit_text (char *, int, int, int);
 void unmark_line_node (line_t *);
 void unset_active_nodes (line_t *, line_t *);
-long write_file (char *, char *, long, long);
+long write_file (const char *, const char *, long, long);
 long write_stream (FILE *, long, long);
 
 /* global buffers */
index 5afbf36..7ad8d79 100644 (file)
@@ -26,7 +26,7 @@
  *
  * @(#)io.c,v 1.1 1994/02/01 00:34:41 alm Exp
  * $FreeBSD: src/bin/ed/io.c,v 1.10 1999/08/27 23:14:14 peter Exp $
- * $DragonFly: src/bin/ed/io.c,v 1.3 2003/09/28 14:39:14 hmp Exp $
+ * $DragonFly: src/bin/ed/io.c,v 1.4 2004/03/19 17:47:48 cpressey Exp $
  */
 
 #include "ed.h"
@@ -145,7 +145,7 @@ get_stream_line(FILE *fp)
 
 /* write_file: write a range of lines to a named file/pipe; return line count */
 long
-write_file(char *fn, char *mode, long n, long m)
+write_file(const char *fn, const char *mode, long n, long m)
 {
        FILE *fp;
        long size;
index 879f025..c14829f 100644 (file)
@@ -28,7 +28,7 @@
  * @(#) Copyright (c) 1993 Andrew Moore, Talke Studio. All rights reserved.
  * @(#)main.c,v 1.1 1994/02/01 00:34:42 alm Exp
  * $FreeBSD: src/bin/ed/main.c,v 1.14.2.4 2001/08/01 02:36:03 obrien Exp $
- * $DragonFly: src/bin/ed/main.c,v 1.3 2003/09/28 14:39:14 hmp Exp $
+ * $DragonFly: src/bin/ed/main.c,v 1.4 2004/03/19 17:47:48 cpressey Exp $
  */
 
 /*
@@ -90,8 +90,8 @@ char old_filename[PATH_MAX] = "";     /* default filename */
 long current_addr;             /* current address in editor buffer */
 long addr_last;                        /* last address in editor buffer */
 int lineno;                    /* script line number */
-char *prompt;                  /* command-line prompt */
-char *dps = "*";               /* default command-line prompt */
+const char *prompt;            /* command-line prompt */
+const char *dps = "*";         /* default command-line prompt */
 
 const char usage[] = "usage: %s [-] [-sx] [-p string] [name]\n";
 
@@ -1310,7 +1310,7 @@ has_trailing_escape(char *s, char *t)
 
 /* strip_escapes: return copy of escaped string of at most length PATH_MAX */
 char *
-strip_escapes(char *s)
+strip_escapes(const char *s)
 {
        static char *file = NULL;
        static int filesz = 0;
index 6806e23..f3d7bb6 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)extern.h    8.3 (Berkeley) 4/2/94
  * $FreeBSD: src/bin/ps/extern.h,v 1.9 1999/08/27 23:14:50 peter Exp $
- * $DragonFly: src/bin/ps/extern.h,v 1.4 2003/09/21 04:24:47 drhodus Exp $
+ * $DragonFly: src/bin/ps/extern.h,v 1.5 2004/03/19 17:47:49 cpressey Exp $
  */
 
 struct kinfo;
@@ -47,43 +47,43 @@ extern VAR var[];
 extern VARENT *vhead;
 
 __BEGIN_DECLS
-void    command (KINFO *, VARENT *);
-void    cputime (KINFO *, VARENT *);
+void    command (const KINFO *, const VARENT *);
+void    cputime (const KINFO *, const VARENT *);
 int     donlist (void);
-void    evar (KINFO *, VARENT *);
-char   *fmt_argv (char **, char *, int);
-double  getpcpu (KINFO *);
-double  getpmem (KINFO *);
-void    logname (KINFO *, VARENT *);
-void    longtname (KINFO *, VARENT *);
-void    lstarted (KINFO *, VARENT *);
-void    maxrss (KINFO *, VARENT *);
+void    evar (const KINFO *, const VARENT *);
+const char *fmt_argv (char **, char *, int);
+double  getpcpu (const KINFO *);
+double  getpmem (const KINFO *);
+void    logname (const KINFO *, const VARENT *);
+void    longtname (const KINFO *, const VARENT *);
+void    lstarted (const KINFO *, const VARENT *);
+void    maxrss (const KINFO *, const VARENT *);
 void    nlisterr (struct nlist *);
-void    p_rssize (KINFO *, VARENT *);
-void    pagein (KINFO *, VARENT *);
-void    parsefmt (char *);
-void    pcpu (KINFO *, VARENT *);
-void    pnice (KINFO *, VARENT *);
-void    pmem (KINFO *, VARENT *);
-void    pri (KINFO *, VARENT *);
-void    rtprior (KINFO *, VARENT *);
+void    p_rssize (const KINFO *, const VARENT *);
+void    pagein (const KINFO *, const VARENT *);
+void    parsefmt (const char *);
+void    pcpu (const KINFO *, const VARENT *);
+void    pnice (const KINFO *, const VARENT *);
+void    pmem (const KINFO *, const VARENT *);
+void    pri (const KINFO *, const VARENT *);
+void    rtprior (const KINFO *, const VARENT *);
 void    printheader (void);
-void    pvar (KINFO *, VARENT *);
-void    tvar (KINFO *, VARENT *);
-void    rssize (KINFO *, VARENT *);
-void    runame (KINFO *, VARENT *);
-int     s_runame (KINFO *);
-void    rvar (KINFO *, VARENT *);
+void    pvar (const KINFO *, const VARENT *);
+void    tvar (const KINFO *, const VARENT *);
+void    rssize (const KINFO *, const VARENT *);
+void    runame (const KINFO *, const VARENT *);
+int     s_runame (const KINFO *);
+void    rvar (const KINFO *, const VARENT *);
 void    showkey (void);
-void    started (KINFO *, VARENT *);
-void    state (KINFO *, VARENT *);
-void    tdev (KINFO *, VARENT *);
-void    tname (KINFO *, VARENT *);
-void    tsize (KINFO *, VARENT *);
-void    ucomm (KINFO *, VARENT *);
-void    uname (KINFO *, VARENT *);
-int     s_uname (KINFO *);
-void    uvar (KINFO *, VARENT *);
-void    vsize (KINFO *, VARENT *);
-void    wchan (KINFO *, VARENT *);
+void    started (const KINFO *, const VARENT *);
+void    state (const KINFO *, const VARENT *);
+void    tdev (const KINFO *, const VARENT *);
+void    tname (const KINFO *, const VARENT *);
+void    tsize (const KINFO *, const VARENT *);
+void    ucomm (const KINFO *, const VARENT *);
+void    uname (const KINFO *, const VARENT *);
+int     s_uname (const KINFO *);
+void    uvar (const KINFO *, const VARENT *);
+void    vsize (const KINFO *, const VARENT *);
+void    wchan (const KINFO *, const VARENT *);
 __END_DECLS
index 38092f3..aff493c 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)fmt.c   8.4 (Berkeley) 4/15/94
  * $FreeBSD: src/bin/ps/fmt.c,v 1.14.2.1 2002/03/16 01:15:11 mikeh Exp $
- * $DragonFly: src/bin/ps/fmt.c,v 1.4 2003/09/28 14:39:15 hmp Exp $
+ * $DragonFly: src/bin/ps/fmt.c,v 1.5 2004/03/19 17:47:49 cpressey Exp $
  */
 
 #include <sys/types.h>
@@ -57,7 +57,7 @@ static char *
 shquote(char **argv)
 {
        static long arg_max = -1;
-       long len;
+       size_t len;
        char **p, *dst, *src;
        static char *buf = NULL;
 
@@ -99,7 +99,7 @@ cmdpart(char *arg0)
        return ((cp = strrchr(arg0, '/')) != NULL ? cp + 1 : arg0);
 }
 
-char *
+const char *
 fmt_argv(char **argv, char *cmd, int maxlen)
 {
        int len;
index ed20736..75bcfb4 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)keyword.c       8.5 (Berkeley) 4/2/94
  * $FreeBSD: src/bin/ps/keyword.c,v 1.24.2.3 2002/10/10 20:05:32 jmallett Exp $
- * $DragonFly: src/bin/ps/keyword.c,v 1.9 2003/11/21 22:46:10 dillon Exp $
+ * $DragonFly: src/bin/ps/keyword.c,v 1.10 2004/03/19 17:47:49 cpressey Exp $
  */
 
 #include <sys/param.h>
@@ -191,7 +191,7 @@ showkey(void)
 {
        VAR *v;
        int i;
-       char *p, *sep;
+       const char *p, *sep;
 
        i = 0;
        sep = "";
@@ -208,9 +208,15 @@ showkey(void)
 }
 
 void
-parsefmt(char *p)
+parsefmt(const char *fmt)
 {
        static struct varent *vtail;
+       char *p, *op;
+
+       op = p = strdup(fmt);
+
+       if (p == NULL)
+               errx(1, "Not enough memory");
 
 #define        FMTSEP  " \t,\n"
        while (p && *p) {
@@ -238,6 +244,8 @@ parsefmt(char *p)
                showkey();
                exit(1);
        }
+
+       free(op);
 }
 
 static VAR *
@@ -245,7 +253,6 @@ findvar(char *p)
 {
        VAR *v, key;
        char *hp;
-       int vcmp();
 
        hp = strchr(p, '=');
        if (hp)
@@ -273,5 +280,5 @@ findvar(char *p)
 static int
 vcmp(const void *a, const void *b)
 {
-        return (strcmp(((VAR *)a)->name, ((VAR *)b)->name));
+        return (strcmp(((const VAR *)a)->name, ((const VAR *)b)->name));
 }
index 19fcf4a..11e013e 100644 (file)
  *
  * @(#)nlist.c 8.4 (Berkeley) 4/2/94
  * $FreeBSD: src/bin/ps/nlist.c,v 1.12.6.2 2001/08/01 05:04:48 obrien Exp $
- * $DragonFly: src/bin/ps/nlist.c,v 1.3 2003/09/28 14:39:15 hmp Exp $
+ * $DragonFly: src/bin/ps/nlist.c,v 1.4 2004/03/19 17:47:49 cpressey Exp $
  */
 
 #include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
 #include <sys/sysctl.h>
 
 #include <stddef.h>
 
+#include "ps.h"
+
 fixpt_t        ccpu;                           /* kernel _ccpu variable */
 int    nlistread;                      /* if nlist already read. */
 int    mempages;                       /* number of pages of phys. memory */
index 6b239ec..55a1dd9 100644 (file)
@@ -32,7 +32,7 @@
  *
  * @(#)print.c 8.6 (Berkeley) 4/16/94
  * $FreeBSD: src/bin/ps/print.c,v 1.36.2.4 2002/11/30 13:00:14 tjr Exp $
- * $DragonFly: src/bin/ps/print.c,v 1.9 2003/11/21 22:46:10 dillon Exp $
+ * $DragonFly: src/bin/ps/print.c,v 1.10 2004/03/19 17:47:49 cpressey Exp $
  */
 
 #include <sys/param.h>
@@ -63,7 +63,7 @@
 void
 printheader(void)
 {
-       VAR *v;
+       const VAR *v;
        struct varent *vent;
        int allempty;
 
@@ -91,9 +91,9 @@ printheader(void)
 }
 
 void
-command(KINFO *k, VARENT *ve)
+command(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
        int left;
        char *cp, *vis_env, *vis_args;
 
@@ -145,18 +145,18 @@ command(KINFO *k, VARENT *ve)
 }
 
 void
-ucomm(KINFO *k, VARENT *ve)
+ucomm(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%-*s", v->width, KI_THREAD(k)->td_comm);
 }
 
 void
-logname(KINFO *k, VARENT *ve)
+logname(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
        char *s;
 
        v = ve->var;
@@ -164,12 +164,12 @@ logname(KINFO *k, VARENT *ve)
 }
 
 void
-state(KINFO *k, VARENT *ve)
+state(const KINFO *k, const VARENT *ve)
 {
        struct proc *p;
        int flag;
        char *cp;
-       VAR *v;
+       const VAR *v;
        char buf[16];
 
        v = ve->var;
@@ -234,18 +234,18 @@ state(KINFO *k, VARENT *ve)
 }
 
 void
-pri(KINFO *k, VARENT *ve)
+pri(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%*d", v->width, KI_PROC(k)->p_priority);
 }
 
 void
-uname(KINFO *k, VARENT *ve)
+uname(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%-*s",
@@ -253,15 +253,15 @@ uname(KINFO *k, VARENT *ve)
 }
 
 int
-s_uname(KINFO *k)
+s_uname(const KINFO *k)
 {
            return (strlen(user_from_uid(KI_EPROC(k)->e_ucred.cr_uid, 0)));
 }
 
 void
-runame(KINFO *k, VARENT *ve)
+runame(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%-*s",
@@ -269,15 +269,15 @@ runame(KINFO *k, VARENT *ve)
 }
 
 int
-s_runame(KINFO *k)
+s_runame(const KINFO *k)
 {
            return (strlen(user_from_uid(KI_EPROC(k)->e_ucred.cr_ruid, 0)));
 }
 
 void
-tdev(KINFO *k, VARENT *ve)
+tdev(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
        dev_t dev;
        char buff[16];
 
@@ -293,9 +293,9 @@ tdev(KINFO *k, VARENT *ve)
 }
 
 void
-tname(KINFO *k, VARENT *ve)
+tname(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
        dev_t dev;
        char *ttname;
 
@@ -313,9 +313,9 @@ tname(KINFO *k, VARENT *ve)
 }
 
 void
-longtname(KINFO *k, VARENT *ve)
+longtname(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
        dev_t dev;
        char *ttname;
 
@@ -328,9 +328,9 @@ longtname(KINFO *k, VARENT *ve)
 }
 
 void
-started(KINFO *k, VARENT *ve)
+started(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
        static time_t now;
        time_t then;
        struct tm *tp;
@@ -362,9 +362,9 @@ started(KINFO *k, VARENT *ve)
 }
 
 void
-lstarted(KINFO *k, VARENT *ve)
+lstarted(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
        time_t then;
        char buf[100];
 
@@ -379,9 +379,9 @@ lstarted(KINFO *k, VARENT *ve)
 }
 
 void
-wchan(KINFO *k, VARENT *ve)
+wchan(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        if (KI_THREAD(k)->td_wchan) {
@@ -400,9 +400,9 @@ wchan(KINFO *k, VARENT *ve)
 #endif
 
 void
-vsize(KINFO *k, VARENT *ve)
+vsize(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%*d", v->width,
@@ -410,9 +410,9 @@ vsize(KINFO *k, VARENT *ve)
 }
 
 void
-rssize(KINFO *k, VARENT *ve)
+rssize(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        /* XXX don't have info about shared */
@@ -421,18 +421,18 @@ rssize(KINFO *k, VARENT *ve)
 }
 
 void
-p_rssize(KINFO *k, VARENT *ve)         /* doesn't account for text */
+p_rssize(const KINFO *k, const VARENT *ve)     /* doesn't account for text */
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%*ld", v->width, (long)pgtok(KI_EPROC(k)->e_vm.vm_rssize));
 }
 
 void
-cputime(KINFO *k, VARENT *ve)
+cputime(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
        long secs;
        long psecs;     /* "parts" of a second. first micro, then centi */
        char obuff[128];
@@ -474,9 +474,9 @@ cputime(KINFO *k, VARENT *ve)
 }
 
 double
-getpcpu(KINFO *k)
+getpcpu(const KINFO *k)
 {
-       struct proc *p;
+       const struct proc *p;
        static int failure;
 
        if (!nlistread)
@@ -497,41 +497,41 @@ getpcpu(KINFO *k)
 }
 
 void
-pcpu(KINFO *k, VARENT *ve)
+pcpu(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%*.1f", v->width, getpcpu(k));
 }
 
 void
-pnice(KINFO *k, VARENT *ve)
+pnice(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
-       int nice;
+       const VAR *v;
+       int niceval;
 
        switch (KI_PROC(k)->p_rtprio.type) {
        case RTP_PRIO_REALTIME:
-               nice = PRIO_MIN - 1 - RTP_PRIO_MAX + KI_PROC(k)->p_rtprio.prio;
+               niceval = PRIO_MIN - 1 - RTP_PRIO_MAX + KI_PROC(k)->p_rtprio.prio;
                break;
        case RTP_PRIO_IDLE:
-               nice = PRIO_MAX + 1 + KI_PROC(k)->p_rtprio.prio;
+               niceval = PRIO_MAX + 1 + KI_PROC(k)->p_rtprio.prio;
                break;
        case RTP_PRIO_THREAD:
-               nice = PRIO_MIN - 1 - RTP_PRIO_MAX - KI_PROC(k)->p_rtprio.prio;
+               niceval = PRIO_MIN - 1 - RTP_PRIO_MAX - KI_PROC(k)->p_rtprio.prio;
                break;
        default:
-               nice = KI_PROC(k)->p_nice - NZERO;
+               niceval = KI_PROC(k)->p_nice - NZERO;
                break;
        }
        v = ve->var;
-       (void)printf("%*d", v->width, nice);
+       (void)printf("%*d", v->width, niceval);
 }
 
 
 double
-getpmem(KINFO *k)
+getpmem(const KINFO *k)
 {
        static int failure;
        struct proc *p;
@@ -556,28 +556,29 @@ getpmem(KINFO *k)
 }
 
 void
-pmem(KINFO *k, VARENT *ve)
+pmem(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%*.1f", v->width, getpmem(k));
 }
 
 void
-pagein(KINFO *k, VARENT *ve)
+pagein(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%*ld", v->width,
            k->ki_u.u_valid ? k->ki_u.u_ru.ru_majflt : 0);
 }
 
+/* ARGSUSED */
 void
-maxrss(KINFO *k, VARENT *ve)
+maxrss(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        /* XXX not yet */
@@ -585,18 +586,18 @@ maxrss(KINFO *k, VARENT *ve)
 }
 
 void
-tsize(KINFO *k, VARENT *ve)
+tsize(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        (void)printf("%*ld", v->width, (long)pgtok(KI_EPROC(k)->e_vm.vm_tsize));
 }
 
 void
-rtprior(KINFO *k, VARENT *ve)
+rtprior(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
        struct rtprio *prtp;
        char str[8];
        unsigned prio, type;
@@ -628,10 +629,11 @@ rtprior(KINFO *k, VARENT *ve)
  * structures.
  */
 static void
-printval(char *bp, VAR *v)
+printval(const char *bp, const VAR *v)
 {
        static char ofmt[32] = "%";
-       char *fcp, *cp;
+       const char *fcp;
+       char *cp;
 
        cp = ofmt + 1;
        fcp = v->fmt;
@@ -642,31 +644,31 @@ printval(char *bp, VAR *v)
 
        switch (v->type) {
        case CHAR:
-               (void)printf(ofmt, v->width, *(char *)bp);
+               (void)printf(ofmt, v->width, *(const char *)bp);
                break;
        case UCHAR:
-               (void)printf(ofmt, v->width, *(u_char *)bp);
+               (void)printf(ofmt, v->width, *(const u_char *)bp);
                break;
        case SHORT:
-               (void)printf(ofmt, v->width, *(short *)bp);
+               (void)printf(ofmt, v->width, *(const short *)bp);
                break;
        case USHORT:
-               (void)printf(ofmt, v->width, *(u_short *)bp);
+               (void)printf(ofmt, v->width, *(const u_short *)bp);
                break;
        case INT:
-               (void)printf(ofmt, v->width, *(int *)bp);
+               (void)printf(ofmt, v->width, *(const int *)bp);
                break;
        case UINT:
-               (void)printf(ofmt, v->width, *(u_int *)bp);
+               (void)printf(ofmt, v->width, *(const u_int *)bp);
                break;
        case LONG:
-               (void)printf(ofmt, v->width, *(long *)bp);
+               (void)printf(ofmt, v->width, *(const long *)bp);
                break;
        case ULONG:
-               (void)printf(ofmt, v->width, *(u_long *)bp);
+               (void)printf(ofmt, v->width, *(const u_long *)bp);
                break;
        case KPTR:
-               (void)printf(ofmt, v->width, *(u_long *)bp);
+               (void)printf(ofmt, v->width, *(const u_long *)bp);
                break;
        default:
                errx(1, "unknown type %d", v->type);
@@ -674,52 +676,52 @@ printval(char *bp, VAR *v)
 }
 
 void
-pvar(KINFO *k, VARENT *ve)
+pvar(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        printval((char *)((char *)KI_PROC(k) + v->off), v);
 }
 
 void
-tvar(KINFO *k, VARENT *ve)
+tvar(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        printval((char *)((char *)KI_THREAD(k) + v->off), v);
 }
 
 void
-evar(KINFO *k, VARENT *ve)
+evar(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        printval((char *)((char *)KI_EPROC(k) + v->off), v);
 }
 
 void
-uvar(KINFO *k, VARENT *ve)
+uvar(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        if (k->ki_u.u_valid)
-               printval((char *)((char *)&k->ki_u + v->off), v);
+               printval(((const char *)&k->ki_u + v->off), v);
        else
                (void)printf("%*s", v->width, "-");
 }
 
 void
-rvar(KINFO *k, VARENT *ve)
+rvar(const KINFO *k, const VARENT *ve)
 {
-       VAR *v;
+       const VAR *v;
 
        v = ve->var;
        if (k->ki_u.u_valid)
-               printval((char *)((char *)(&k->ki_u.u_ru) + v->off), v);
+               printval(((const char *)&k->ki_u.u_ru + v->off), v);
        else
                (void)printf("%*s", v->width, "-");
 }
index 88db410..1d6b53f 100644 (file)
@@ -33,7 +33,7 @@
  * @(#) Copyright (c) 1990, 1993, 1994 The Regents of the University of California.  All rights reserved.
  * @(#)ps.c    8.4 (Berkeley) 4/2/94
  * $FreeBSD: src/bin/ps/ps.c,v 1.30.2.6 2002/07/04 08:30:37 sobomax Exp $
- * $DragonFly: src/bin/ps/ps.c,v 1.5 2003/09/28 14:39:15 hmp Exp $
+ * $DragonFly: src/bin/ps/ps.c,v 1.6 2004/03/19 17:47:49 cpressey Exp $
  */
 
 #include <sys/param.h>
@@ -85,7 +85,7 @@ static int forceuread=1;
 
 enum sort { DEFAULT, SORTMEM, SORTCPU } sortby = DEFAULT;
 
-static char    *fmt (char **(*)(kvm_t *, const struct kinfo_proc *, int),
+static const char *getfmt (char **(*)(kvm_t *, const struct kinfo_proc *, int),
                    KINFO *, char *, int);
 static char    *kludge_oldps_options (char *);
 static int      pscomp (const void *, const void *);
@@ -96,13 +96,13 @@ static void  sizevars (void);
 static void     usage (void);
 static uid_t   *getuids(const char *, int *);
 
-char dfmt[] = "pid tt state time command";
-char jfmt[] = "user pid ppid pgid sess jobc state tt time command";
-char lfmt[] = "uid pid ppid cpu pri nice vsz rss wchan state tt time command";
-char   o1[] = "pid";
-char   o2[] = "tt state time command";
-char ufmt[] = "user pid %cpu %mem vsz rss tt state start time command";
-char vfmt[] = "pid state time sl re pagein vsz rss lim tsiz %cpu %mem command";
+static char dfmt[] = "pid tt state time command";
+static char jfmt[] = "user pid ppid pgid sess jobc state tt time command";
+static char lfmt[] = "uid pid ppid cpu pri nice vsz rss wchan state tt time command";
+static char   o1[] = "pid";
+static char   o2[] = "tt state time command";
+static char ufmt[] = "user pid %cpu %mem vsz rss tt state start time command";
+static char vfmt[] = "pid state time sl re pagein vsz rss lim tsiz %cpu %mem command";
 
 kvm_t *kd;
 
@@ -117,7 +117,8 @@ main(int argc, char **argv)
        uid_t *uids;
        int all, ch, flag, i, fmt, lineno, nentries, nocludge, dropgid;
        int prtheader, wflag, what, xflg, uid, nuids;
-       char *cp, *nlistf, *memf, errbuf[_POSIX2_LINE_MAX];
+       char errbuf[_POSIX2_LINE_MAX];
+       const char *cp, *nlistf, *memf;
 
        (void) setlocale(LC_ALL, "");
 
@@ -232,14 +233,16 @@ main(int argc, char **argv)
                        /* FALLTHROUGH */
                case 't': {
                        struct stat sb;
-                       char *ttypath, pathbuf[PATH_MAX];
+                       char pathbuf[PATH_MAX];
+                       const char *ttypath;
 
                        if (strcmp(optarg, "co") == 0)
                                ttypath = _PATH_CONSOLE;
-                       else if (*optarg != '/')
-                               (void)snprintf(ttypath = pathbuf,
+                       else if (*optarg != '/') {
+                               snprintf(pathbuf,
                                    sizeof(pathbuf), "%s%s", _PATH_TTY, optarg);
-                       else
+                               ttypath = pathbuf;
+                       } else
                                ttypath = optarg;
                        if (stat(ttypath, &sb) == -1)
                                err(1, "%s", ttypath);
@@ -399,7 +402,8 @@ getuids(const char *arg, int *nuids)
        char name[UT_NAMESIZE + 1];
        struct passwd *pwd;
        uid_t *uids, *moreuids;
-       int l, alloc;
+       size_t l;
+       int alloc;
 
 
        alloc = 0;
@@ -490,11 +494,11 @@ sizevars(void)
        totwidth--;
 }
 
-static char *
-fmt(char **(*fn) (kvm_t *, const struct kinfo_proc *, int), KINFO *ki, char
+static const char *
+getfmt(char **(*fn) (kvm_t *, const struct kinfo_proc *, int), KINFO *ki, char
     *comm, int maxlen)
 {
-       char *s;
+       const char *s;
 
        if ((s =
            fmt_argv((*fn)(kd, ki->ki_p, termwidth), comm, maxlen)) == NULL)
@@ -528,19 +532,20 @@ saveuser(KINFO *ki)
         * save arguments if needed
         */
        if (needcomm && (UREADOK(ki) || (KI_PROC(ki)->p_args != NULL))) {
-               ki->ki_args = fmt(kvm_getargv, ki, KI_THREAD(ki)->td_comm,
+               ki->ki_args = getfmt(kvm_getargv, ki, KI_THREAD(ki)->td_comm,
                    MAXCOMLEN);
        } else if (needcomm) {
-               ki->ki_args = malloc(strlen(KI_THREAD(ki)->td_comm) + 3);
-               sprintf(ki->ki_args, "(%s)", KI_THREAD(ki)->td_comm);
+               char *tmp;
+               tmp = malloc(strlen(KI_THREAD(ki)->td_comm) + 3);
+               sprintf(tmp, "(%s)", KI_THREAD(ki)->td_comm);
+               ki->ki_args = tmp;
        } else {
                ki->ki_args = NULL;
        }
        if (needenv && UREADOK(ki)) {
-               ki->ki_env = fmt(kvm_getenvv, ki, (char *)NULL, 0);
+               ki->ki_env = getfmt(kvm_getenvv, ki, (char *)NULL, 0);
        } else if (needenv) {
-               ki->ki_env = malloc(3);
-               strcpy(ki->ki_env, "()");
+               ki->ki_env = "()";
        } else {
                ki->ki_env = NULL;
        }
@@ -554,12 +559,12 @@ pscomp(const void *a, const void *b)
                  KI_EPROC(k)->e_vm.vm_tsize)
 
        if (sortby == SORTCPU)
-               return (getpcpu((KINFO *)b) - getpcpu((KINFO *)a));
+               return (getpcpu((const KINFO *)b) - getpcpu((const KINFO *)a));
        if (sortby == SORTMEM)
-               return (VSIZE((KINFO *)b) - VSIZE((KINFO *)a));
-       i =  KI_EPROC((KINFO *)a)->e_tdev - KI_EPROC((KINFO *)b)->e_tdev;
+               return (VSIZE((const KINFO *)b) - VSIZE((const KINFO *)a));
+       i =  KI_EPROC((const KINFO *)a)->e_tdev - KI_EPROC((const KINFO *)b)->e_tdev;
        if (i == 0)
-               i = KI_PROC((KINFO *)a)->p_pid - KI_PROC((KINFO *)b)->p_pid;
+               i = KI_PROC((const KINFO *)a)->p_pid - KI_PROC((const KINFO *)b)->p_pid;
        return (i);
 }
 
index f409710..e39525c 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)ps.h        8.1 (Berkeley) 5/31/93
  * $FreeBSD: src/bin/ps/ps.h,v 1.7 1999/08/27 23:14:52 peter Exp $
- * $DragonFly: src/bin/ps/ps.h,v 1.4 2003/09/21 04:24:47 drhodus Exp $
+ * $DragonFly: src/bin/ps/ps.h,v 1.5 2004/03/19 17:47:49 cpressey Exp $
  */
 
 #define        UNLIMITED       0       /* unlimited terminal width */
@@ -52,9 +52,9 @@ struct usave {
 
 typedef struct kinfo {
        struct kinfo_proc *ki_p;        /* proc structure */
-       struct usave ki_u;      /* interesting parts of user */
-       char *ki_args;          /* exec args */
-       char *ki_env;           /* environment */
+       struct usave ki_u;              /* interesting parts of user */
+       const char *ki_args;            /* exec args */
+       const char *ki_env;             /* environment */
 } KINFO;
 
 /* Variables. */
@@ -64,29 +64,29 @@ typedef struct varent {
 } VARENT;
 
 typedef struct var {
-       char    *name;          /* name(s) of variable */
-       char    *header;        /* default header */
-       char    *alias;         /* aliases */
-#define        COMM    0x01            /* needs exec arguments and environment (XXX) */
-#define        LJUST   0x02            /* left adjust on output (trailing blanks) */
-#define        USER    0x04            /* needs user structure */
-#define        DSIZ    0x08            /* field size is dynamic*/
-       u_int   flag;
-                               /* output routine */
-       void    (*oproc) (struct kinfo *, struct varent *);
-                               /* sizing routine*/
-       int     (*sproc) (struct kinfo *);
-       short   width;          /* printing width */
+       const char  *name;              /* name(s) of variable */
+       const char  *header;            /* default header */
+       const char  *alias;             /* aliases */
+#define        COMM        0x01                /* needs exec arguments and environment (XXX) */
+#define        LJUST       0x02                /* left adjust on output (trailing blanks) */
+#define        USER        0x04                /* needs user structure */
+#define        DSIZ        0x08                /* field size is dynamic*/
+       u_int       flag;
+                                       /* output routine */
+       void        (*oproc) (struct kinfo *, struct varent *);
+                                       /* sizing routine*/
+       int         (*sproc) (struct kinfo *);
+       short       width;              /* printing width */
        /*
         * The following (optional) elements are hooks for passing information
         * to the generic output routines: pvar, evar, uvar (those which print
         * simple elements from well known structures: proc, eproc, usave)
         */
-       int     off;            /* offset in structure */
-       enum    type type;      /* type of element */
-       char    *fmt;           /* printf format */
-       char    *time;          /* time format */
-       short   dwidth;         /* dynamic printing width */
+       int         off;                /* offset in structure */
+       enum        type type;          /* type of element */
+       const char  *fmt;               /* printf format */
+       const char  *time;              /* time format */
+       short       dwidth;             /* dynamic printing width */
        /*
         * glue to link selected fields together
         */