mbed I/F binding for mruby
Dependents: mruby_mbed_web mirb_mbed
mbed-mruby
How to use
Class
src/value_array.h@0:158c61bb030f, 2015-03-25 (annotated)
- Committer:
- mzta
- Date:
- Wed Mar 25 17:36:16 2015 +0000
- Revision:
- 0:158c61bb030f
mirb_mbed initial commit;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mzta | 0:158c61bb030f | 1 | #ifndef MRB_VALUE_ARRAY_H__ |
mzta | 0:158c61bb030f | 2 | #define MRB_VALUE_ARRAY_H__ |
mzta | 0:158c61bb030f | 3 | |
mzta | 0:158c61bb030f | 4 | #include "mruby.h" |
mzta | 0:158c61bb030f | 5 | |
mzta | 0:158c61bb030f | 6 | static inline void |
mzta | 0:158c61bb030f | 7 | value_move(mrb_value *s1, const mrb_value *s2, size_t n) |
mzta | 0:158c61bb030f | 8 | { |
mzta | 0:158c61bb030f | 9 | if (s1 > s2 && s1 < s2 + n) |
mzta | 0:158c61bb030f | 10 | { |
mzta | 0:158c61bb030f | 11 | s1 += n; |
mzta | 0:158c61bb030f | 12 | s2 += n; |
mzta | 0:158c61bb030f | 13 | while (n-- > 0) { |
mzta | 0:158c61bb030f | 14 | *--s1 = *--s2; |
mzta | 0:158c61bb030f | 15 | } |
mzta | 0:158c61bb030f | 16 | } |
mzta | 0:158c61bb030f | 17 | else if (s1 != s2) { |
mzta | 0:158c61bb030f | 18 | while (n-- > 0) { |
mzta | 0:158c61bb030f | 19 | *s1++ = *s2++; |
mzta | 0:158c61bb030f | 20 | } |
mzta | 0:158c61bb030f | 21 | } |
mzta | 0:158c61bb030f | 22 | else { |
mzta | 0:158c61bb030f | 23 | /* nothing to do. */ |
mzta | 0:158c61bb030f | 24 | } |
mzta | 0:158c61bb030f | 25 | } |
mzta | 0:158c61bb030f | 26 | |
mzta | 0:158c61bb030f | 27 | #endif /* MRB_VALUE_ARRAY_H__ */ |
mzta | 0:158c61bb030f | 28 |