- len = (flags & 2) ? bb_xgetlarg(size, 10, 2, INT_MAX) : 16384;
- buf = xmalloc(len);
- if (0 > (len = klogctl(3 + (flags & 1), buf, len)))
- bb_perror_msg_and_die("klogctl");
+ len = (flags & OPT_s) ? xatoul_range(size, 2, INT_MAX) : 16384;
+ buf = xmalloc(len);
+ len = klogctl(3 + (flags & OPT_c), buf, len);
+ if (len < 0)
+ bb_perror_msg_and_die("klogctl");
+ if (len == 0)
+ return EXIT_SUCCESS;