Hisham Muhammad
9487bda330
Do not use xSnprintf when the result is used. Fixes #662 .
2017-08-01 15:48:43 -07:00
Hisham Muhammad
09e241fb12
Security review: check results of snprintf.
...
Calls marked with xSnprintf shouldn't fail.
Abort program cleanly if any of them does.
2017-07-27 16:07:50 -03:00
Hisham Muhammad
e940aecfb9
Add "no perm" status when other fields fail due to lack of permission.
...
Thanks @Sworddragon for the heads up.
See #88 .
2017-07-10 20:57:34 -03:00
Hisham
8af4d9f453
Interpret TTY_NR column on Linux,
...
translate dev_t to major:minor on other platforms.
Closes #316 .
2016-10-01 03:09:04 -03:00
Hisham
bd5d37f297
Return when reading cmdline fails (e.g. zombie process)
2016-08-24 18:11:10 -03:00
Hisham
1a13b4d0f4
Don't store invisible trailing whitespace
2016-06-15 12:41:50 -03:00
Hisham
e77811e99b
any of these values may wrap
2016-02-29 21:57:03 -03:00
Hisham
baec4bdcb0
Try to retain last full name of a zombie process.
...
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 .
2016-02-19 20:51:57 -02:00
Hisham
e0c364b9cc
Fix reading of io_syscr and io_syscw.
...
Issue noticed by GCC6 -Wmisleading-indentation.
Thanks @JIghtuse and @Explorer09!
Closes #409 .
2016-02-16 14:34:25 -02:00
Hisham
0b70439316
Fix buffer reuse.
2016-02-13 02:18:28 -02:00
Hisham
b2c2b2bfb3
Merge branch 'reuse-comm'
2016-02-02 15:58:50 +01:00
Hisham
1cfcc42a8f
Reuse comm object if possible, avoid useless repetitions of free+strdup.
2016-02-02 15:56:52 +01:00
Hisham
b54d2dde40
Check for failure in allocations.
2016-02-02 15:53:02 +01:00
Explorer09
6dae8108f8
Introduce CLAMP macro. Unify all MIN(MAX(a,b),c) uses.
...
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--) .
2016-01-15 20:26:01 +08:00
Hisham Muhammad
802e216870
Extend buffer for reading lines from /proc.
...
Apparently a line longer than 255 chars was spotted in the wild:
http://serverfault.com/questions/577939/linux-ps-htop-show-processes-running-for-hundreds-or-thousands-of-days-though-h#comment676098_577939
2015-12-14 13:27:11 -02:00
Hisham Muhammad
a84aa2e782
Cached memory calculations, take 2.
...
Thanks to @OmegaPhil for discussion and reviewing.
2015-11-29 23:55:31 -02:00
Hisham Muhammad
5bc1f5ed04
Account unreclaimable slab and shmem as used memory,
...
reclaimable slab as cached memory.
Hopefully this presents a more truthful representation of
available vs. used memory on Linux.
See brndnmtthws/conky#82, #242 , #67 , #263 .
2015-11-28 22:22:00 -02:00
Patrick Marlier
b37d4f172f
Fix a case where the usertime calculation can overflow (see issue #202 )
2015-09-14 22:51:14 +02:00
Hisham Muhammad
5e4f1e46cc
Reduce scope of variables.
2015-08-20 01:12:34 -03:00
David Hunt
5e602f18d5
Rename String to StringUtils.
...
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
2015-08-19 13:45:20 -03:00
peter-warhzner
6f6f0e36ad
Fix typo in comment
2015-08-04 18:48:34 +05:00
Christian Hesse
08829cbc3b
fix compiler warnings
...
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.
2015-05-15 11:33:25 +02:00
Hisham Muhammad
f4f6d54ffd
Fix compilation of OpenVZ support.
...
Closes #185 .
Closes #190 .
2015-05-13 15:00:58 -03:00
Hisham Muhammad
2f45008477
Enable OOM support unconditionally on Linux.
...
Read OOM data only if column is enabled.
Make sort ordering more consistent. Closes #182 .
2015-04-09 15:41:21 -03:00
Hisham Muhammad
b291fba02b
Fixes to use platform-specific compare routines.
2015-04-09 15:40:46 -03:00
Hisham Muhammad
d880def0e9
Merge branch 'master' into wip
...
Conflicts:
Process.c
Process.h
htop.c
linux/LinuxProcess.c
linux/LinuxProcess.h
test_spec.lua
2015-04-02 01:57:37 -03:00
Hisham Muhammad
4e064e0db7
Build fixes to resync with FreeBSD changes.
2015-03-16 23:03:40 -03:00
Hisham Muhammad
272e2d9b34
Major advances in FreeBSD port.
2015-03-16 23:02:03 -03:00
Hisham Muhammad
7fd4af80ff
Linux build fixes.
2015-03-16 03:25:43 -03:00
Hisham Muhammad
5c8b83405b
Merge branch 'master' into wip
...
Conflicts:
Process.c
Process.h
linux/LinuxProcess.c
linux/LinuxProcess.h
linux/LinuxProcessList.c
unsupported/Platform.c
unsupported/Platform.h
2015-03-16 03:22:33 -03:00
Hisham Muhammad
adbfe3c3f1
Get FreeBSD tree to compile again with latest changes.
2015-03-16 03:14:20 -03:00
Hisham Muhammad
be1700cf94
Isolate portable and Linux-specific process fields.
2015-03-16 01:43:04 -03:00
Hisham Muhammad
e3fe3962cb
Move more Linux-specific code into Linux subdir.
2015-03-15 20:29:13 -03:00
Hisham Muhammad
a4b03e8875
Improve reading of cgroups.
2015-03-08 19:47:49 -03:00
Hisham Muhammad
0a184b769f
Merge fixes
2015-02-23 03:53:36 -03:00
Hisham Muhammad
50000d808e
Silence warnings reported in #70 .
2015-02-23 03:34:06 -03:00
Hisham Muhammad
9780c312f4
Fix allocation of processes. Closes #166 .
...
Conflicts:
Process.c
Process.h
ProcessList.c
ScreenManager.c
linux/LinuxProcessList.c
2015-02-23 01:13:40 -03:00
Hisham Muhammad
6f868b00c0
Fix allocation of processes. Closes #166 .
2015-02-20 14:52:10 -02:00
Hisham Muhammad
83a829a286
Remove bogus assertion. Closes #159 .
2015-01-23 11:22:55 -02:00
Hisham Muhammad
3383d8e556
Sorry about the mega-patch.
...
This is a work-in-progress, code is currently broken.
(Some actions, and notably, the header, are missing.)
2015-01-21 23:27:31 -02:00
Hisham Muhammad
36b7832884
Fix initialization of cpuData structure. Closes #159 .
2015-01-19 16:24:56 -02:00
Hisham Muhammad
cda6bdd56b
Add ProcessList_delete to the variable interface.
2014-11-27 17:48:38 -02:00
Hisham Muhammad
ff4d1b466f
Build fixes.
2014-11-27 16:31:42 -02:00
Hisham Muhammad
6afacee50d
A little refactoring
2014-11-27 16:28:32 -02:00
Hisham Muhammad
aaaaf063a1
Builds on Linux again!
2014-11-24 19:22:50 -02:00
Hisham Muhammad
26422af608
Files moved and added for supporting separate platforms.
2014-11-24 18:55:49 -02:00