mbed I/F binding for mruby

Dependents:   mruby_mbed_web mirb_mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers value_array.h Source File

value_array.h

00001 #ifndef MRB_VALUE_ARRAY_H__
00002 #define MRB_VALUE_ARRAY_H__
00003 
00004 #include "mruby.h"
00005 
00006 static inline void
00007 value_move(mrb_value *s1, const mrb_value *s2, size_t n)
00008 {
00009   if (s1 > s2 && s1 < s2 + n)
00010   {
00011     s1 += n;
00012     s2 += n;
00013     while (n-- > 0) {
00014       *--s1 = *--s2;
00015     }
00016   }
00017   else if (s1 != s2) {
00018     while (n-- > 0) {
00019       *s1++ = *s2++;
00020     }
00021   }
00022   else {
00023     /* nothing to do. */
00024   }
00025 }
00026 
00027 #endif /* MRB_VALUE_ARRAY_H__ */
00028