summaryrefslogtreecommitdiff
path: root/lib/libc/strings/ffsl.c
diff options
context:
space:
mode:
authorKacper <kacper@mail.openlinux.dev>2025-12-07 22:22:16 +0100
committerKacper <kacper@mail.openlinux.dev>2025-12-07 22:22:16 +0100
commit8f9e448b2ef6db7cd905540c21f3c5b190e7a1e7 (patch)
treeae0285dd15042d1e9236a5ce2e60daf65acbdca0 /lib/libc/strings/ffsl.c
parentfc00c656c96528112d05cf0edf8631bd5eaea446 (diff)
Add bin/true and bin/false implementations
- Added assembly implementations for `true` and `false` commands. - Updated Kbuild files to include new binaries. - Removed unused libraries and headers. - Cleaned up makefile and unused code.
Diffstat (limited to 'lib/libc/strings/ffsl.c')
-rw-r--r--lib/libc/strings/ffsl.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/libc/strings/ffsl.c b/lib/libc/strings/ffsl.c
index 2f2e7d44..c84a2905 100644
--- a/lib/libc/strings/ffsl.c
+++ b/lib/libc/strings/ffsl.c
@@ -1,14 +1,18 @@
int ffsl(long i)
{
- if (i == 0)
- return 0;
+ int pos;
+ unsigned long u;
- int pos = 1;
- unsigned long u = (unsigned long)i;
+ if (i == 0) {
+ return 0;
+ }
+ pos = 1;
+ u = (unsigned long)i;
while ((u & 1UL) == 0UL) {
u >>= 1;
pos++;
}
+
return pos;
}