1. 16 Feb, 2017 1 commit
    • Hisham's avatar
      Cap battery at 100%. · bb8dec15
      Hisham authored
      Apparently invalid results can be returned by buggy drivers in old laptops,
      as reported by @thukydides. See #596.
      bb8dec15
  2. 04 Feb, 2017 1 commit
  3. 31 Jan, 2017 1 commit
  4. 01 Oct, 2016 1 commit
  5. 30 Aug, 2016 1 commit
    • Explorer09's avatar
      Mark signal tables 'const' · 1f3d85b6
      Explorer09 authored
      
      
      Specifically, Platform_signals[] and Platform_numberOfSignals. Both are
      not supposed to be mutable. Marking them 'const' puts them into rodata
      sections in binary. And for Platform_numberOfSignals, this aids
      optimization (aids only Link Time Optimization for now). :)
      Signed-off-by: default avatarKang-Che Sung <explorer09@gmail.com>
      1f3d85b6
  6. 24 Aug, 2016 1 commit
  7. 11 Aug, 2016 1 commit
    • Explorer09's avatar
      Optimize Strings_startWith() · bf35921a
      Explorer09 authored
      Use strncmp() combined with a strlen() will give better performance
      than a strstr in worst case. Especially when the match prefix is a
      constant and not a variable.
      
      While we are at it, replace the match() function in linux/Battery.c,
      which uses a naive algorithm, with a macro that does better job by
      utilizing Strings_startWith().
      
          $ gcc --version | head -n 1
          gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
          $ uname -m
          x86_64
          $ size htop.old htop.new
             text   data    bss    dec    hex filename
           137929  15112   3776 156817  26491 htop.old
           137784  15104   3776 156664  263f8 htop.new
      
      Signed-off-by: Kang-Che Sung <explorer09 @ gmail.com>
      bf35921a
  8. 19 Jun, 2016 1 commit
  9. 15 Jun, 2016 1 commit
  10. 01 Mar, 2016 1 commit
  11. 20 Feb, 2016 1 commit
  12. 19 Feb, 2016 1 commit
    • Hisham's avatar
      Try to retain last full name of a zombie process. · baec4bdc
      Hisham authored
      Once a process goes zombie on Linux, /proc/PID/cmdline
      gets empty. So, when we detect it is a zombie we stop
      reading this file.
      For processes that were zombies before htop started,
      there's no way to get the full name.
      Closes #49.
      baec4bdc
  13. 16 Feb, 2016 1 commit
  14. 14 Feb, 2016 1 commit
    • Hisham's avatar
      Disable the syscall on systems that don't have it. · 35657208
      Hisham authored
      Got a report in #397 that htop runs in NetBSD
      masquerading as Linux and using a compatibility /proc
      (like we used to in FreeBSD) and that it builds fine
      apart from this syscall.
      35657208
  15. 13 Feb, 2016 1 commit
  16. 02 Feb, 2016 2 commits
  17. 15 Jan, 2016 1 commit
    • Explorer09's avatar
      Introduce CLAMP macro. Unify all MIN(MAX(a,b),c) uses. · 6dae8108
      Explorer09 authored
      With the CLAMP macro replacing the combination of MIN and MAX, we will
      have at least two advantages:
      1. It's more obvious semantically.
      2. There are no more mixes of confusing uses like MIN(MAX(a,b),c) and
         MAX(MIN(a,b),c) and MIN(a,MAX(b,c)) appearing everywhere. We unify
         the 'clamping' with a single macro.
      Note that the behavior of this CLAMP macro is different from
      the combination `MAX(low,MIN(x,high))`.
      * This CLAMP macro expands to two comparisons instead of three from
        MAX and MIN combination. In theory, this makes the code slightly
        smaller, in case that (low) or (high) or both are computed at
        runtime, so that compilers cannot optimize them. (The third
        comparison will matter if (low)>(high); see below.)
      * CLAMP has a side effect, that if (low)>(high) it will produce weird
        results. Unlike MIN & MAX which will force either (low) or (high) to
        win. No assertion of ((low)<=(high)) is done in this macro, for now.
      
      This CLAMP macro is implemented like described in glib
      <http://developer.gnome.org/glib/stable/glib-Standard-Macros.html>
      and does not handle weird uses like CLAMP(a++, low++, high--) .
      6dae8108
  18. 02 Jan, 2016 1 commit
  19. 14 Dec, 2015 1 commit
  20. 03 Dec, 2015 1 commit
  21. 30 Nov, 2015 1 commit
  22. 29 Nov, 2015 1 commit
  23. 23 Oct, 2015 1 commit
  24. 06 Oct, 2015 3 commits
  25. 14 Sep, 2015 1 commit
  26. 07 Sep, 2015 1 commit
    • Christian Hesse's avatar
      fix calloc() calls · e8970b6f
      Christian Hesse authored
      * size_t nmemb (number of elements) first, then size_t size
      * do not assume char is size 1 but use sizeof()
      * allocate for char, not pointer to char (found by Michael McConville,
        fixes #261)
      e8970b6f
  27. 20 Aug, 2015 2 commits
  28. 19 Aug, 2015 1 commit
    • David Hunt's avatar
      Rename String to StringUtils. · 5e602f18
      David Hunt authored
      Fixes building on case-insensitive filesystems where String.h gets confused with <string.h>.
      
      From d734dacea0a10d0465dad4e95b3421511e7da112 Mon Sep 17 00:00:00 2001
      From: David Hunt <dhunt@iolanthe.attlocal.net>
      Date: Sat, 11 Jul 2015 20:56:31 -0500
      Subject: [PATCH 1/8] Rename String to StringUtils
      5e602f18
  29. 04 Aug, 2015 1 commit
  30. 23 Jul, 2015 1 commit
  31. 15 May, 2015 1 commit
    • Christian Hesse's avatar
      fix compiler warnings · 08829cbc
      Christian Hesse authored
      gcc gives warnings like this:
      
      warning: ignoring return value of ‘fscanf’, declared with attribute
      warn_unused_result
      
      Assign value to a variable, cast to (void) to discard it.
      08829cbc
  32. 13 May, 2015 1 commit
  33. 09 Apr, 2015 2 commits
  34. 01 Apr, 2015 1 commit
  35. 23 Mar, 2015 1 commit