libbb: [x]fopen_for_{read,write} introduced and used.
(by Valdimir) function old new delta config_open2 - 41 +41 config_read 507 542 +35 find_pair 169 187 +18 fopen_for_write - 14 +14 fopen_for_read - 14 +14 find_main 406 418 +12 xfopen_for_write - 10 +10 xfopen_for_read - 10 +10 popstring 134 140 +6 parse_inittab 396 401 +5 next_token 923 928 +5 pack_gzip 1659 1661 +2 bb__parsespent 117 119 +2 fallbackSort 1719 1717 -2 evalvar 1376 1374 -2 qrealloc 36 33 -3 ... ... ... ... singlemount 4579 4569 -10 process_stdin 443 433 -10 patch_main 1111 1101 -10 ifupdown_main 2175 2165 -10 file_action_grep 90 80 -10 uuidcache_init 649 637 -12 hush_main 797 785 -12 read_config 230 217 -13 dpkg_main 3835 3820 -15 read_line_input 3134 3110 -24 sysctl_main 232 203 -29 config_open 40 10 -30 WARN_BAD_LINE 44 - -44 login_main 1714 1575 -139 ------------------------------------------------------------------------------ (add/remove: 5/1 grow/shrink: 8/74 up/down: 174/-737) Total: -563 bytes
This commit is contained in:
@@ -109,7 +109,7 @@ static inode_list *scan_proc_net(const char *proto,
|
||||
tmp_dev = find_socket_dev();
|
||||
|
||||
sprintf(path, "/proc/net/%s", proto);
|
||||
f = fopen(path, "r");
|
||||
f = fopen_for_read(path);
|
||||
if (!f)
|
||||
return ilist;
|
||||
|
||||
@@ -158,7 +158,7 @@ static pid_list *scan_pid_maps(const char *fname, pid_t pid,
|
||||
long long uint64_inode;
|
||||
dev_t dev;
|
||||
|
||||
file = fopen(fname, "r");
|
||||
file = fopen_for_read(fname);
|
||||
if (!file)
|
||||
return plist;
|
||||
while (fgets(line, MAX_LINE, file)) {
|
||||
|
||||
@@ -98,10 +98,11 @@ static int sysctl_preload_file_and_exit(const char *filename)
|
||||
if (!parser)
|
||||
return 1;
|
||||
|
||||
while (config_read(parser, token, 2, 0, "# \t=", PARSE_LAST_IS_GREEDY)) { // TODO: ';' is comment char too
|
||||
if (!token[1]) {
|
||||
bb_error_msg(WARN_BAD_LINE, filename, parser->lineno);
|
||||
} else {
|
||||
while (config_read(parser, token, 2, 2, "# \t=", PARSE_LAST_IS_GREEDY)) { // TODO: ';' is comment char too
|
||||
// if (!token[1]) {
|
||||
// bb_error_msg(WARN_BAD_LINE, filename, parser->lineno);
|
||||
// } else {
|
||||
{
|
||||
#if 0
|
||||
char *s = xasprintf("%s=%s", token[0], token[1]);
|
||||
sysctl_write_setting(s);
|
||||
@@ -205,7 +206,7 @@ static int sysctl_read_setting(const char *name)
|
||||
while ((cptr = strchr(outname, '/')) != NULL)
|
||||
*cptr = '.';
|
||||
|
||||
fp = fopen(tmpname, "r");
|
||||
fp = fopen_for_read(tmpname);
|
||||
if (fp == NULL) {
|
||||
switch (errno) {
|
||||
case ENOENT:
|
||||
|
||||
@@ -164,7 +164,7 @@ static int mult_lvl_cmp(void* a, void* b)
|
||||
|
||||
static void get_jiffy_counts(void)
|
||||
{
|
||||
FILE* fp = xfopen("stat", "r");
|
||||
FILE* fp = xfopen_for_read("stat");
|
||||
prev_jif = jif;
|
||||
if (fscanf(fp, "cpu %lld %lld %lld %lld %lld %lld %lld %lld",
|
||||
&jif.usr,&jif.nic,&jif.sys,&jif.idle,
|
||||
@@ -268,7 +268,7 @@ static unsigned long display_header(int scr_width)
|
||||
#endif
|
||||
|
||||
/* read memory info */
|
||||
fp = xfopen("meminfo", "r");
|
||||
fp = xfopen_for_read("meminfo");
|
||||
|
||||
/*
|
||||
* Old kernels (such as 2.4.x) had a nice summary of memory info that
|
||||
@@ -617,7 +617,7 @@ static void display_topmem_header(int scr_width)
|
||||
memset(&Z, 0, sizeof(Z));
|
||||
|
||||
/* read memory info */
|
||||
fp = xfopen("meminfo", "r");
|
||||
fp = xfopen_for_read("meminfo");
|
||||
while (fgets(linebuf, sizeof(linebuf), fp)) {
|
||||
char *p;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user