free: better error message if meminfo not available
When /proc is mounted with subset=pid free just gives the standard cannot create meminfo structure without any hint why. free now checks the return value and if it is -ENOENT then it gives more information about the problem. References: procps-ng/procps#227 Signed-off-by: Craig Small <csmall@dropbear.xyz>
This commit is contained in:
parent
4a183003a0
commit
0ab507fdb1
10
free.c
10
free.c
@ -205,7 +205,7 @@ static void print_head_col(const char *str)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int c, flags = 0, unit_set = 0;
|
int c, flags = 0, unit_set = 0, rc = 0;
|
||||||
struct commandline_arguments args;
|
struct commandline_arguments args;
|
||||||
struct meminfo_info *mem_info = NULL;
|
struct meminfo_info *mem_info = NULL;
|
||||||
|
|
||||||
@ -360,9 +360,15 @@ int main(int argc, char **argv)
|
|||||||
if (optind != argc)
|
if (optind != argc)
|
||||||
usage(stderr);
|
usage(stderr);
|
||||||
|
|
||||||
if (procps_meminfo_new(&mem_info) < 0)
|
if ( (rc = procps_meminfo_new(&mem_info)) < 0)
|
||||||
|
{
|
||||||
|
if (rc == -ENOENT)
|
||||||
|
xerrx(EXIT_FAILURE,
|
||||||
|
_("Memory information file /proc/meminfo does not exist"));
|
||||||
|
else
|
||||||
xerrx(EXIT_FAILURE,
|
xerrx(EXIT_FAILURE,
|
||||||
_("Unable to create meminfo structure"));
|
_("Unable to create meminfo structure"));
|
||||||
|
}
|
||||||
do {
|
do {
|
||||||
/* Translation Hint: You can use 9 character words in
|
/* Translation Hint: You can use 9 character words in
|
||||||
* the header, and the words need to be right align to
|
* the header, and the words need to be right align to
|
||||||
|
Loading…
Reference in New Issue
Block a user