summaryrefslogtreecommitdiff
path: root/components/swap.c
AgeCommit message (Collapse)Author
2022-10-28radical re-formatting 2/3: Fix blocksdrkhsh
Fixes coding style. Formatting commits suck, incoherent coding style sucks more. https://suckless.org/coding_style/
2022-10-28radical re-formatting 1/3: Fix spacingdrkhsh
Fixes coding style. Formatting commits suck, incoherent coding style sucks more. https://suckless.org/coding_style/
2022-10-28radical re-formatting 3/3: Error checksdrkhsh
Check for `< 0` instead of `== -1`. Fixes coding style. Formatting commits suck, incoherent coding style sucks more. https://suckless.org/coding_style/
2022-10-28radical re-formatting 0/3: Alphabetic headersdrkhsh
Except stated otherwise in comment. Fixes coding style. Formatting commits suck, incoherent coding style sucks more. https://suckless.org/coding_style/
2022-10-27do not rely on obsolete featureNRK
function prototype with unspecified argument is obsolete since c99. additionally some of these function which don't take any argument were being called with a `const char *` arg, which is UB. fix both these issues by declararing ALL the components to accept a `const char *`, and name the arg "unused" if it's meant to be ignored.
2022-10-27components/*.c: include slstatus.hNRK
this gives the compiler a chance to check weather the prototype and definiton matches or not, which would catch issues like 3c47701.
2019-02-16Add ram and swap components on FreeBSDMichael Buch
2018-07-08Consistency with 80 char limit and breaksAaron Marcher
2018-05-30Clean up header includesAaron Marcher
- Remove <errno.h> because related functions are in util.c now - Remove corresponding <string.h> if not used otherwise
2018-05-29swap: removed unused includeTobias Tschinkowitz
2018-05-28Refactor swap.c to use getline() instead of buf-fillingLaslo Hunhold
This drops a lot of code and even though we are using a common function, the specification of only the needed things keeps it very efficient and even more efficient in memory and time than the previous solution.
2018-05-21swap.c: Refactor getstats() and its usageLaslo Hunhold
Add a return value so we are able to check any errors and actually fail when there has been a critical error instead of carrying on uselessly.
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-21swap_perc: check for division by zero on obsd tooAaron Marcher
2018-05-20swap_perc: check for division by zeroAaron Marcher
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-19Add the percent sign to *_perc functionsAaron Marcher
Units should be added to the corresponding numbers
2018-05-18Implement fmt_scaled for swap_* functionsAaron 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-16corrected calculation for swap on openbsdTobias Tschinkowitz
The swapctl(2) function fills the swapent struct with 512KB blocks. As we want to display in GB, i just modified the calculation for this to get the expected output.
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-05-06swap_*: Port to OpenBSDAaron Marcher
2018-05-01components/swap.c | move duplicated code to separate functionLaslo Hunhold
2018-05-01Use indentation to increase readabilityLaslo Hunhold
Granted, this style is definitely not common, but for the short utility-functions of this program it's just the right choice. This provides great flexibility, such that in the long run, it will be possible to also share code between the OS-implementations. This also keeps the state-keeping at a minimum and makes it clearer which functions are implemented on which OS without having to jiggle around with too many files in the process.
2018-05-01Revert component-splitLaslo Hunhold
this reverts the commits from 92ab9ef52ebcb097add97d9f78e67ad1c1d6a6ec up to d42870d6ca7fb587b38f8cf6d6821ae33a53a696. After heavy consideration, the component split has more disadvantages than advantages, especially given there will be utility-functions sharing quite a lot of code that would then need to be duplicated, as it does not fit into the util.c due to its speciality. One big advantage of the component-wise build is readability, and without doubt, this was achieved here. This point will be addressed with a different approach that will be visible in the upcoming commits. One big disadvantage of the component build is the fact that it introduces state to the build process which is not necessary. Before its introduction, the only influencing factors where the system-defines __linux__ and __OpenBSD__. With the components, we are also relying on the output of uname(1). Additionally, if the os.mk is not present, make gives the output $ make Makefile:5: os.mk: No such file or directory make: *** No rule to make target 'os.mk'. Stop. This could easily be fixed by providing some sort of meta-rule for this file, however, it indicates the problem we have here, and this entire statefulness will heavily complicate packaging of this tool and makes the build process much more complex than it actually has to be.
2018-04-30swap: OS splitQuentin Rameau
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.
2018-03-21More robust preprocessor switchesAaron Marcher
Replace #ifdef with #if defined() and #elif with #elif defined() as it should only test if it is defined or not.
2018-03-18Build Linux-only functions only on LinuxAaron Marcher
2017-09-24Move components into dedicated subdirectoryLaslo Hunhold
This brings us a lot more tidiness.