Changes in uspace/lib/posix/strings.c [a6d908c1:8ecef91] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/posix/strings.c
ra6d908c1 r8ecef91 42 42 #include "ctype.h" 43 43 44 #include "libc/mem.h" 45 44 46 /** 45 47 * … … 49 51 int posix_ffs(int i) 50 52 { 51 // TODO 52 not_implemented(); 53 if (i == 0) { 54 return 0; 55 } 56 57 int result = 0; 58 59 // XXX: assumes at most 32-bit int 60 if (!(i & 0xFFFF)) { 61 result |= 16; 62 i >>= 16; 63 } 64 if (!(i & 0xFF)) { 65 result |= 8; 66 i >>= 8; 67 } 68 if (!(i & 0xF)) { 69 result |= 4; 70 i >>= 4; 71 } 72 if (!(i & 0x3)) { 73 result |= 2; 74 i >>= 2; 75 } 76 if (!(i & 0x1)) { 77 result |= 1; 78 } 79 80 return result + 1; 53 81 } 54 82 … … 96 124 int posix_bcmp(const void *mem1, const void *mem2, size_t n) 97 125 { 98 // TODO 99 not_implemented(); 126 return bcmp(mem1, mem2, n); 100 127 } 101 128 … … 108 135 void posix_bcopy(const void *dest, void *src, size_t n) 109 136 { 110 / / TODO111 not_implemented();137 /* Note that memmove has different order of arguments. */ 138 memmove(src, dest, n); 112 139 } 113 140 … … 119 146 void posix_bzero(void *mem, size_t n) 120 147 { 121 // TODO 122 not_implemented(); 148 bzero(mem, n); 123 149 } 124 150
Note:
See TracChangeset
for help on using the changeset viewer.