mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
cpumf/chcpumf: Simplify function read_sfb
Simplify function read_sfb(). Convert it to type void and return only when no errors occurred. On error print error message and exit instead of return. Signed-off-by: Thomas Richter <tmricht@linux.ibm.com> Acked-by: Sumanth Korikkar <sumanthk@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
27a562da0a
commit
0772c0f01b
@@ -85,10 +85,9 @@ static long parse_buffersize(char *string)
|
|||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int read_sfb(unsigned long *min, unsigned long *max)
|
static void read_sfb(unsigned long *min, unsigned long *max)
|
||||||
{
|
{
|
||||||
unsigned long cur_min_sdb, cur_max_sdb;
|
unsigned long cur_min_sdb, cur_max_sdb;
|
||||||
int rc = EXIT_SUCCESS;
|
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
||||||
if (geteuid())
|
if (geteuid())
|
||||||
@@ -97,8 +96,8 @@ static int read_sfb(unsigned long *min, unsigned long *max)
|
|||||||
if (!fp)
|
if (!fp)
|
||||||
err(EXIT_FAILURE, PERF_SFB_SIZE);
|
err(EXIT_FAILURE, PERF_SFB_SIZE);
|
||||||
if (fscanf(fp, "%ld,%ld", &cur_min_sdb, &cur_max_sdb) != 2) {
|
if (fscanf(fp, "%ld,%ld", &cur_min_sdb, &cur_max_sdb) != 2) {
|
||||||
warnx("Can not parse file " PERF_SFB_SIZE);
|
fclose(fp);
|
||||||
rc = EXIT_FAILURE;
|
errx(EXIT_FAILURE, "Can not parse file " PERF_SFB_SIZE);
|
||||||
} else {
|
} else {
|
||||||
if (*min == 0)
|
if (*min == 0)
|
||||||
*min = cur_min_sdb;
|
*min = cur_min_sdb;
|
||||||
@@ -106,7 +105,9 @@ static int read_sfb(unsigned long *min, unsigned long *max)
|
|||||||
*max = cur_max_sdb;
|
*max = cur_max_sdb;
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
return rc;
|
if (*min >= *max)
|
||||||
|
errx(EXIT_FAILURE,
|
||||||
|
"The specified maximum must be greater than the minimum");
|
||||||
}
|
}
|
||||||
|
|
||||||
static int write_sfb(unsigned long min, unsigned long max)
|
static int write_sfb(unsigned long min, unsigned long max)
|
||||||
@@ -182,7 +183,6 @@ static int parse_args(int argc, char **argv)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int ret = EXIT_FAILURE;
|
|
||||||
struct stat sbuf;
|
struct stat sbuf;
|
||||||
|
|
||||||
util_prg_init(&prg);
|
util_prg_init(&prg);
|
||||||
@@ -192,10 +192,6 @@ int main(int argc, char **argv)
|
|||||||
if (stat(PERF_PATH PERF_SF, &sbuf))
|
if (stat(PERF_PATH PERF_SF, &sbuf))
|
||||||
errx(EXIT_FAILURE,
|
errx(EXIT_FAILURE,
|
||||||
"No CPU-measurement sampling facility detected");
|
"No CPU-measurement sampling facility detected");
|
||||||
if (read_sfb(&min_sdb, &max_sdb))
|
read_sfb(&min_sdb, &max_sdb);
|
||||||
return ret;
|
|
||||||
if (min_sdb >= max_sdb)
|
|
||||||
errx(EXIT_FAILURE,
|
|
||||||
"The specified maximum must be greater than the minimum");
|
|
||||||
return write_sfb(min_sdb, max_sdb);
|
return write_sfb(min_sdb, max_sdb);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user