int col = col_start;
int char_max;
int len;
- char fmt[6];
int count = 0;
int rc;
/* Add trailing spaces to pad the entry to the column size */
if (len < char_max) {
- snprintf(fmt, 6, "%%-%2ds", char_max - len);
snprintf(&buffer[col * char_max] + len,
- char_max - len + 1, fmt, " ");
+ char_max - len + 1, "%*s", char_max - len,
+ " ");
} else {
buffer[(col + 1) * char_max - 1] = ' ';
}
}
/* Convert human readable size string to and int; "1k" -> 1000 */
-int Parser_size (int *sizep, char *str) {
- int size;
- char mod[32];
+int Parser_size(unsigned long *sizep, char *str)
+{
+ unsigned long size;
+ char mod[32];
- switch (sscanf (str, "%d%1[gGmMkK]", &size, mod)) {
- default:
- return (-1);
+ switch (sscanf(str, "%lu%1[gGmMkK]", &size, mod)) {
+ default:
+ return -1;
- case 1:
- *sizep = size;
- return (0);
+ case 1:
+ *sizep = size;
+ return 0;
- case 2:
- switch (*mod) {
- case 'g':
- case 'G':
- *sizep = size << 30;
- return (0);
-
- case 'm':
- case 'M':
- *sizep = size << 20;
- return (0);
-
- case 'k':
- case 'K':
- *sizep = size << 10;
- return (0);
-
- default:
- *sizep = size;
- return (0);
- }
- }
+ case 2:
+ switch (*mod) {
+ case 'g':
+ case 'G':
+ *sizep = size << 30;
+ return 0;
+
+ case 'm':
+ case 'M':
+ *sizep = size << 20;
+ return 0;
+
+ case 'k':
+ case 'K':
+ *sizep = size << 10;
+ return 0;
+
+ default:
+ *sizep = size;
+ return 0;
+ }
+ }
}
/* Convert a string boolean to an int; "enable" -> 1 */