Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void * memset1(void *ptr, int c, size_t size)
- {
- byte *p = ptr;
- int c32 = c | (c<<8) | (c<<16) | (c<<24);
- byte *cp = (byte *)&c32;
- while(size) {
- if(size >= 4) {
- *((u32*)p) = *((u32*)cp);
- size -= 4; p += 4;
- } else if(size >= 2) {
- *((u16*)p) = *((u16*)cp);
- size -= 2; p += 2;
- } else {
- *p++ = *cp;
- --size;
- }
- }
- return ptr;
- }
- void * memset1(void *ptr, int c, size_t size)
- {
- byte *p = ptr;
- byte c8 = (byte)c;
- u16 c16 = c8 | (c8<<8);
- u32 c32 = c16 | (c16<<16);
- while(size) {
- if(size >= 4) {
- *((u32*)p) = c32;
- size -= 4; p += 4;
- } else if(size >= 2) {
- *((u16*)p) = c16;
- size -= 2; p += 2;
- } else {
- *p++ = c8;
- --size;
- }
- }
- return ptr;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement