mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 51b6bfb011
			
		
	
	
		51b6bfb011
		
	
	
	
	
		
			
			git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			372 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			372 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* public domain rewrite of memcmp(3) */
 | |
| 
 | |
| #include "ruby/missing.h"
 | |
| #include <stddef.h>
 | |
| 
 | |
| void *
 | |
| memmove(void *d, const void *s, size_t n)
 | |
| {
 | |
|     char *dst = (char *)d;
 | |
|     const char *src = (const char *)s;
 | |
| 
 | |
|     if (src < dst) {
 | |
| 	src += n;
 | |
| 	dst += n;
 | |
| 	for (; n; --n)
 | |
| 	    *--dst = *--src;
 | |
|     }
 | |
|     else if (dst < src)
 | |
| 	for (; n; --n)
 | |
| 	    *dst++ = *src++;
 | |
|     return d;
 | |
| }
 |