Advertisement
dipto181

memset1.c

Sep 18th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. #include <linux/types.h>
  2. #include <linux/string.h>
  3. //#define SELF_MEM
  4.  
  5. #ifdef SELF_MEM
  6.  
  7. void memset1(void *dst,int c, int count){
  8. int i = 0;
  9. unsigned char *d = (unsigned char *)dst;
  10. while(count-- > 0){
  11. d[i++] = (unsigned char)c;
  12. }
  13. }
  14.  
  15.  
  16.  
  17. size_t strlen1(const char *s){
  18. size_t ret = 0;
  19. while(s[ret++] != '\0')
  20. ;
  21. return (ret - 1);
  22. }
  23.  
  24.  
  25.  
  26. void *memcpy1(void *to, const void *from, size_t n){
  27. int i;
  28. unsigned char *des = (unsigned char *)to;
  29. unsigned char *src = (unsigned char *)from;
  30. for(i=0;i<n;++i)
  31. des[i] = src[i];
  32. return to;
  33. }
  34. #else
  35. /*
  36. #define memset1 memset
  37. #define strlen1 strlen
  38. #define memcpy1 memcpy
  39. */
  40. void memset1(void *dst,int c, int count){
  41. memset(dst, c, count);
  42. }
  43.  
  44.  
  45.  
  46. size_t strlen1(const char *s){
  47. return strlen(s);
  48. }
  49.  
  50.  
  51.  
  52. void *memcpy1(void *to, const void *from, size_t n){
  53. return memcpy(to, from, n);
  54. }
  55.  
  56. #endif
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement