summaryrefslogtreecommitdiffhomepage
path: root/src/string.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-08-11 13:10:31 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-08-11 13:10:31 +0900
commit0ff28c9e606c86fafab997bb070a3ab13d804b97 (patch)
tree162025db1f36956e20b7c69b4ae93ec565c5821b /src/string.c
parentef0b239704c2552f19f4e23d6c206884650a77ac (diff)
downloadmruby-0ff28c9e606c86fafab997bb070a3ab13d804b97.tar.gz
mruby-0ff28c9e606c86fafab997bb070a3ab13d804b97.zip
Silence integer type conversion warnings.
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/string.c b/src/string.c
index 5abc5c4cf..ae650865d 100644
--- a/src/string.c
+++ b/src/string.c
@@ -40,7 +40,7 @@ str_new_static(mrb_state *mrb, const char *p, size_t len)
mrb_raise(mrb, E_ARGUMENT_ERROR, "string size too big");
}
s = mrb_obj_alloc_string(mrb);
- s->as.heap.len = len;
+ s->as.heap.len = (mrb_int)len;
s->as.heap.aux.capa = 0; /* nofree */
s->as.heap.ptr = (char *)p;
s->flags = MRB_STR_NOFREE;
@@ -68,8 +68,8 @@ str_new(mrb_state *mrb, const char *p, size_t len)
if (len >= MRB_INT_MAX) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "string size too big");
}
- s->as.heap.len = len;
- s->as.heap.aux.capa = len;
+ s->as.heap.len = (mrb_int)len;
+ s->as.heap.aux.capa = (mrb_int)len;
s->as.heap.ptr = (char *)mrb_malloc(mrb, len+1);
if (p) {
memcpy(s->as.heap.ptr, p, len);
@@ -112,7 +112,7 @@ mrb_str_buf_new(mrb_state *mrb, size_t capa)
capa = MRB_STR_BUF_MIN_SIZE;
}
s->as.heap.len = 0;
- s->as.heap.aux.capa = capa;
+ s->as.heap.aux.capa = (mrb_int)capa;
s->as.heap.ptr = (char *)mrb_malloc(mrb, capa+1);
RSTR_PTR(s)[0] = '\0';
@@ -341,7 +341,8 @@ mrb_memsearch_qs(const unsigned char *xs, mrb_int m, const unsigned char *ys, mr
{
const unsigned char *x = xs, *xe = xs + m;
const unsigned char *y = ys;
- int i, qstable[256];
+ int i;
+ ptrdiff_t qstable[256];
/* Preprocessing */
for (i = 0; i < 256; ++i)
@@ -351,7 +352,7 @@ mrb_memsearch_qs(const unsigned char *xs, mrb_int m, const unsigned char *ys, mr
/* Searching */
for (; y + m <= ys + n; y += *(qstable + y[m])) {
if (*xs == *y && memcmp(xs, y, m) == 0)
- return y - ys;
+ return (mrb_int)(y - ys);
}
return -1;
}
@@ -372,7 +373,7 @@ mrb_memsearch(const void *x0, mrb_int m, const void *y0, mrb_int n)
const unsigned char *ys = (const unsigned char *)memchr(y, *x, n);
if (ys)
- return ys - y;
+ return (mrb_int)(ys - y);
else
return -1;
}
@@ -585,7 +586,7 @@ str_rindex(mrb_state *mrb, mrb_value str, mrb_value sub, mrb_int pos)
if (len) {
while (sbeg <= s) {
if (memcmp(s, t, len) == 0) {
- return s - RSTR_PTR(ps);
+ return (mrb_int)(s - RSTR_PTR(ps));
}
s--;
}