Changes in uspace/lib/posix/strings.c [6128390:8ecef91] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/posix/strings.c
r6128390 r8ecef91 38 38 #include "internal/common.h" 39 39 #include "strings.h" 40 40 41 #include "string.h" 41 42 #include "ctype.h" 43 44 #include "libc/mem.h" 42 45 43 46 /** … … 48 51 int posix_ffs(int i) 49 52 { 50 // TODO 51 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; 52 81 } 53 82 … … 95 124 int posix_bcmp(const void *mem1, const void *mem2, size_t n) 96 125 { 97 // TODO 98 not_implemented(); 126 return bcmp(mem1, mem2, n); 99 127 } 100 128 … … 107 135 void posix_bcopy(const void *dest, void *src, size_t n) 108 136 { 109 / / TODO110 not_implemented();137 /* Note that memmove has different order of arguments. */ 138 memmove(src, dest, n); 111 139 } 112 140 … … 118 146 void posix_bzero(void *mem, size_t n) 119 147 { 120 // TODO 121 not_implemented(); 148 bzero(mem, n); 122 149 } 123 150
Note:
See TracChangeset
for help on using the changeset viewer.