From 591dbbf13f51b6135e06f37773bc8d7dd51ac524 Mon Sep 17 00:00:00 2001 From: Masaki Muranaka Date: Sat, 16 Mar 2013 16:58:14 +0900 Subject: Change the place of the close parenthesis. Even though it probably cause no bugs for current code. --- include/mruby/khash.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/mruby/khash.h b/include/mruby/khash.h index 9eddc0bb3..96c48d294 100644 --- a/include/mruby/khash.h +++ b/include/mruby/khash.h @@ -22,7 +22,7 @@ typedef khint_t khiter_t; #endif #define KHASH_MIN_SIZE 8 -#define UPPER_BOUND(x) ((x)>>2|(x>>1)) +#define UPPER_BOUND(x) ((x)>>2|(x)>>1) //extern uint8_t __m[]; -- cgit v1.2.3 From 1bb447a7d3bd60e9e8ce2980ad0d5f314884aa44 Mon Sep 17 00:00:00 2001 From: Masaki Muranaka Date: Sat, 16 Mar 2013 17:00:44 +0900 Subject: Avoid to call memset(). Use the new function kh_fill_flags() instead. This is for compatibility. --- include/mruby/khash.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/mruby/khash.h b/include/mruby/khash.h index 96c48d294..08896d256 100644 --- a/include/mruby/khash.h +++ b/include/mruby/khash.h @@ -75,6 +75,14 @@ static const uint8_t __m[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; void kh_del_##name(kh_##name##_t *h, khint_t x); \ kh_##name##_t *kh_copy_##name(mrb_state *mrb, kh_##name##_t *h); +static inline void +kh_fill_flags(uint8_t *p, uint8_t c, size_t len) +{ + while (len-- > 0) { + *p++ = c; + } +} + /* define kh_xxx_funcs name: hash name @@ -92,8 +100,8 @@ static const uint8_t __m[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; h->upper_bound = UPPER_BOUND(sz); \ h->e_flags = (uint8_t *)mrb_malloc(h->mrb, sizeof(uint8_t)*sz/4); \ h->d_flags = h->e_flags + sz/8; \ - memset(h->e_flags, 0xff, sz/8*sizeof(uint8_t)); \ - memset(h->d_flags, 0x00, sz/8*sizeof(uint8_t)); \ + kh_fill_flags(h->e_flags, 0xff, sz/8); \ + kh_fill_flags(h->d_flags, 0x00, sz/8); \ h->keys = (khkey_t *)mrb_malloc(h->mrb, sizeof(khkey_t)*sz); \ h->vals = (khval_t *)mrb_malloc(h->mrb, sizeof(khval_t)*sz); \ h->mask = sz-1; \ @@ -124,8 +132,8 @@ static const uint8_t __m[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; void kh_clear_##name(kh_##name##_t *h) \ { \ if (h && h->e_flags) { \ - memset(h->e_flags, 0xff, h->n_buckets/8*sizeof(uint8_t)); \ - memset(h->d_flags, 0x00, h->n_buckets/8*sizeof(uint8_t)); \ + kh_fill_flags(h->e_flags, 0xff, h->n_buckets/8); \ + kh_fill_flags(h->d_flags, 0x00, h->n_buckets/8); \ h->size = h->n_occupied = 0; \ } \ } \ -- cgit v1.2.3 From 7de2deab1e5254a3dbf48714aca3732b64b1f2fa Mon Sep 17 00:00:00 2001 From: Masaki Muranaka Date: Sat, 16 Mar 2013 17:48:30 +0900 Subject: Remove string.h in khash.h --- include/mruby/khash.h | 1 - src/class.c | 1 + tasks/mrbgems_test.rake | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/mruby/khash.h b/include/mruby/khash.h index 08896d256..373e54b13 100644 --- a/include/mruby/khash.h +++ b/include/mruby/khash.h @@ -12,7 +12,6 @@ extern "C" { #endif #include -#include typedef uint32_t khint_t; typedef khint_t khiter_t; diff --git a/src/class.c b/src/class.c index 59431c26e..d53629636 100644 --- a/src/class.c +++ b/src/class.c @@ -7,6 +7,7 @@ #include "mruby.h" #include #include +#include #include "mruby/class.h" #include "mruby/proc.h" #include "mruby/string.h" diff --git a/tasks/mrbgems_test.rake b/tasks/mrbgems_test.rake index 6ca5eaef2..e725f1c4d 100644 --- a/tasks/mrbgems_test.rake +++ b/tasks/mrbgems_test.rake @@ -68,7 +68,7 @@ MRuby.each_target do f.puts %Q[ ] f.puts %Q[ while(mrb_test(val2)) {] f.puts %Q[ char *str = mrb_string_value_cstr(mrb2, &val2);] - f.puts %Q[ mrb_ary_push(mrb, ary1, mrb_str_new(mrb, str, strlen(str)));] + f.puts %Q[ mrb_ary_push(mrb, ary1, mrb_str_new_cstr(mrb, str));] f.puts %Q[ val2 = mrb_ary_shift(mrb2, ary2);] f.puts %Q[ }] f.puts %Q[ }] -- cgit v1.2.3