summaryrefslogtreecommitdiff
path: root/util.c
AgeCommit message (Collapse)Author
2018-07-07Change uint64_t to uintmax_tAaron Marcher
2018-07-06fmt_human: Improve typesAaron Marcher
size_t may not be enough, use 64 bit integers
2018-05-23Refactor snprintf-usage in util.cLaslo Hunhold
2018-05-21Refactor fmt_human() and fix a bugLaslo Hunhold
It is not necessary to copy memory or anything. Just keep a pointer to the active prefix-array and assign the length of the arrays to a variable. Make the code more readable by using a switch, be more strict when an invalid base is passed to it and fix a small oversight in the bottom of the code where the base 1024 was forgotten to generalized.
2018-05-21Merge fmt_human_2 and fmt_human_10 to one functionAaron Marcher
Now only one function, fmt_human, takes an additional argument "base".
2018-05-21Remove units from numbersAaron Marcher
This is a first step to decouple formatting from information because of two reasons: 1. The components should only gather and return the values by design 2. Fine grained user control should be a focus Scaling will be implemented in a different way in a later commit.
2018-05-19Implement fmt_human_2() and fmt_human_10()Laslo Hunhold
These functions take the raw number and a unit and automatically print it out "scaled down" to a proper SI-prefix, for powers of 2 and 10 respectively. Apply them to the 2-power cases and keep the 10-power for a later commit.
2018-05-19Implement esnprintf() and make formatted calls more efficientLaslo Hunhold
Within the components, snprintf() was unchecked and had inefficient calls in some places. We implement esnprintf() that does all the dirty laundry for us and use it exclusively now.
2018-05-18Add fmt_scaled util functionAaron Marcher
2018-05-18Add warn() and die()Laslo Hunhold
Given slstatus is a tool that runs in the background, most likely run from .xinitrc, it's important to prepend the name of the tool to error messages so it becomes clear where the error is coming from. To make this much more consistent, this commit adds warn() and die() utility functions consistent with other suckless projects and adapts all calls to fprintf(stderr, *) to the warn() and die() functions, greatly increasing the readability of the code.
2018-05-17Properly handle *snprintf() errorsLaslo Hunhold
Posix guarantees that the resulting string is null-terminated, even if we have an overflow. Instead of doing what has already been done, properly warn when there has been an error or overflow, so the user can do something about it.
2018-05-06Fix coding styleAaron Marcher
- Use block for single statement ifs - Keep lines to reasonable length (current debate as to reasonable) - When functions return -1 for error test against 0 not -1 - Do not indent cases another level - Do not test against NULL and 0 explicitly - Use tabs for indentation, use spaces for alignment
2018-03-28Format error messages properlyAaron Marcher
Make use of strerror(errno) and format all errors equally: function ['parameters']: error message
2018-03-28Get rid of err.h as it is not portableAaron Marcher
Replace warn() and warnx() with fprintf() and add <stdio.h> where necessary.
2017-09-17Added LICENSE statements to all source filesAaron Marcher
2017-09-17Split into multiple filesAaron Marcher
For multiple reasons the program is now split: - Make future porting to OpenBSD easier - Assign header includes to individiual functions - Make future program extensions easier - Recompile only changed parts