cvs commit: src/usr.bin/vmstat vmstat.c

Bruce Evans bde at FreeBSD.org
Thu Mar 11 03:30:58 PST 2004


bde         2004/03/11 03:30:57 PST

  FreeBSD src repository

  Modified files:
    usr.bin/vmstat       vmstat.c 
  Log:
  Fixed a misspelling of 0 as NULL.
  
  Fixed a nearby bug.  The "play it safe" code in dosysctl() was unsafe
  because it overran the buffer by 1 if sysctl() filled all of the buffer.
  
  Fixed a nearby style bug in output.  Not just 1, but 2 extra newlines
  were printed at the end by "vmstat -m" and "vmstat -z".  Don't print
  any newlines explicitly.  This depends on 2 of the many formatting
  bugs in the corresponding sysctls.  First, the sysctls return an extra
  newline at the end of the strings.  This also messes up output from
  sysctl(8).  Second, the sysctls return an extra newline at the beginning
  of the strings.  This is good for separating the 2 tables output by
  "vmstat -mz" and for starting the header on a new line in plain sysctl
  output, but gives a bogus extra newline at the beginning for "vm -[m | z]"
  and "sysctl -n [kern.malloc | vm.zone]".
  
  Fixed some nearby style bugs in the source code:
  - the same line that misspelled 0 as NULL also spelled NULL as 0.
  - the size was doubled twice in the realloc loop.
  - the "play it safe" comment was misleading.  Terminating the buffer
    is bogus because dosysctl() is only meant to work with sysctls that
    return strings and the terminator is part of a string.  However, the
    kern.malloc sysctl has more than style bugs.  It also doesn't return
    a string.  Termination is needed to work around this bug.
  
  Revision  Changes    Path
  1.80      +4 -4      src/usr.bin/vmstat/vmstat.c


More information about the cvs-all mailing list