diff options
Diffstat (limited to 'mrbgems')
| -rw-r--r-- | mrbgems/mruby-pack/src/pack.c | 12 | ||||
| -rw-r--r-- | mrbgems/mruby-socket/src/socket.c | 16 | ||||
| -rw-r--r-- | mrbgems/mruby-string-ext/mrblib/string.rb | 6 | ||||
| -rw-r--r-- | mrbgems/mruby-struct/src/struct.c | 2 |
4 files changed, 23 insertions, 13 deletions
diff --git a/mrbgems/mruby-pack/src/pack.c b/mrbgems/mruby-pack/src/pack.c index 4c43a2cf6..489ad3718 100644 --- a/mrbgems/mruby-pack/src/pack.c +++ b/mrbgems/mruby-pack/src/pack.c @@ -193,7 +193,9 @@ pack_l(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned int fl static int unpack_l(mrb_state *mrb, const unsigned char *src, int srclen, mrb_value ary, unsigned int flags) { +#ifndef MRB_INT64 char msg[60]; +#endif uint32_t ul; mrb_int n; @@ -210,16 +212,20 @@ unpack_l(mrb_state *mrb, const unsigned char *src, int srclen, mrb_value ary, un } if (flags & PACK_FLAG_SIGNED) { int32_t sl = ul; +#ifndef MRB_INT64 if (!FIXABLE(sl)) { snprintf(msg, sizeof(msg), "cannot unpack to Fixnum: %ld", (long)sl); mrb_raise(mrb, E_RANGE_ERROR, msg); } +#endif n = sl; } else { +#ifndef MRB_INT64 if (!POSFIXABLE(ul)) { snprintf(msg, sizeof(msg), "cannot unpack to Fixnum: %lu", (unsigned long)ul); mrb_raise(mrb, E_RANGE_ERROR, msg); } +#endif n = ul; } mrb_ary_push(mrb, ary, mrb_fixnum_value(n)); @@ -591,7 +597,7 @@ unpack_a(mrb_state *mrb, const void *src, int slen, mrb_value ary, long count, u if (flags & PACK_FLAG_Z) { /* "Z" */ if ((cp = (const char *)memchr(sptr, '\0', slen)) != NULL) { - copylen = cp - sptr; + copylen = (int)(cp - sptr); if (count == -1) { slen = copylen + 1; } @@ -859,8 +865,8 @@ has_tmpl(const struct tmpl *tmpl) static void read_tmpl(mrb_state *mrb, struct tmpl *tmpl, int *dirp, int *typep, int *sizep, int *countp, unsigned int *flagsp) { - mrb_int ch, t, tlen; - int dir, type, size = 0; + mrb_int t, tlen; + int ch, dir, type, size = 0; int count = 1; unsigned int flags = 0; const char *tptr; diff --git a/mrbgems/mruby-socket/src/socket.c b/mrbgems/mruby-socket/src/socket.c index 7d9bfe99f..0b0835f56 100644 --- a/mrbgems/mruby-socket/src/socket.c +++ b/mrbgems/mruby-socket/src/socket.c @@ -12,7 +12,10 @@ #include <windows.h> #define SHUT_RDWR SD_BOTH + #ifndef _SSIZE_T_DEFINED typedef int ssize_t; + #endif + typedef int fsize_t; #else #include <sys/types.h> #include <sys/socket.h> @@ -23,6 +26,7 @@ #include <fcntl.h> #include <netdb.h> #include <unistd.h> + typedef size_t fsize_t; #endif #include <stddef.h> @@ -337,7 +341,7 @@ mrb_basicsocket_recv(mrb_state *mrb, mrb_value self) mrb_get_args(mrb, "i|i", &maxlen, &flags); buf = mrb_str_buf_new(mrb, maxlen); - n = recv(socket_fd(mrb, self), RSTRING_PTR(buf), (size_t)maxlen, (int)flags); + n = recv(socket_fd(mrb, self), RSTRING_PTR(buf), (fsize_t)maxlen, (int)flags); if (n == -1) mrb_sys_fail(mrb, "recv"); mrb_str_resize(mrb, buf, (mrb_int)n); @@ -356,7 +360,7 @@ mrb_basicsocket_recvfrom(mrb_state *mrb, mrb_value self) buf = mrb_str_buf_new(mrb, maxlen); socklen = sizeof(struct sockaddr_storage); sa = mrb_str_buf_new(mrb, socklen); - n = recvfrom(socket_fd(mrb, self), RSTRING_PTR(buf), (size_t)maxlen, (int)flags, (struct sockaddr *)RSTRING_PTR(sa), &socklen); + n = recvfrom(socket_fd(mrb, self), RSTRING_PTR(buf), (fsize_t)maxlen, (int)flags, (struct sockaddr *)RSTRING_PTR(sa), &socklen); if (n == -1) mrb_sys_fail(mrb, "recvfrom"); mrb_str_resize(mrb, buf, (mrb_int)n); @@ -377,9 +381,9 @@ mrb_basicsocket_send(mrb_state *mrb, mrb_value self) dest = mrb_nil_value(); mrb_get_args(mrb, "Si|S", &mesg, &flags, &dest); if (mrb_nil_p(dest)) { - n = send(socket_fd(mrb, self), RSTRING_PTR(mesg), (size_t)RSTRING_LEN(mesg), (int)flags); + n = send(socket_fd(mrb, self), RSTRING_PTR(mesg), (fsize_t)RSTRING_LEN(mesg), (int)flags); } else { - n = sendto(socket_fd(mrb, self), RSTRING_PTR(mesg), (size_t)RSTRING_LEN(mesg), (int)flags, (const struct sockaddr*)RSTRING_PTR(dest), RSTRING_LEN(dest)); + n = sendto(socket_fd(mrb, self), RSTRING_PTR(mesg), (fsize_t)RSTRING_LEN(mesg), (int)flags, (const struct sockaddr*)RSTRING_PTR(dest), (fsize_t)RSTRING_LEN(dest)); } if (n == -1) mrb_sys_fail(mrb, "send"); @@ -530,7 +534,7 @@ mrb_ipsocket_recvfrom(mrb_state *mrb, mrb_value self) mrb_get_args(mrb, "i|i", &maxlen, &flags); buf = mrb_str_buf_new(mrb, maxlen); socklen = sizeof(ss); - n = recvfrom(fd, RSTRING_PTR(buf), (size_t)maxlen, (int)flags, + n = recvfrom(fd, RSTRING_PTR(buf), (fsize_t)maxlen, (int)flags, (struct sockaddr *)&ss, &socklen); if (n == -1) { mrb_sys_fail(mrb, "recvfrom"); @@ -555,7 +559,7 @@ mrb_socket_gethostname(mrb_state *mrb, mrb_value cls) bufsize = 256; #endif buf = mrb_str_buf_new(mrb, (mrb_int)bufsize); - if (gethostname(RSTRING_PTR(buf), bufsize) != 0) + if (gethostname(RSTRING_PTR(buf), (fsize_t)bufsize) != 0) mrb_sys_fail(mrb, "gethostname"); mrb_str_resize(mrb, buf, (mrb_int)strlen(RSTRING_PTR(buf))); return buf; diff --git a/mrbgems/mruby-string-ext/mrblib/string.rb b/mrbgems/mruby-string-ext/mrblib/string.rb index cb36d9a48..0da84daed 100644 --- a/mrbgems/mruby-string-ext/mrblib/string.rb +++ b/mrbgems/mruby-string-ext/mrblib/string.rb @@ -95,7 +95,7 @@ class String # "hello".lstrip! #=> nil # def lstrip! - raise RuntimeError, "can't modify frozen String" if frozen? + raise FrozenError, "can't modify frozen String" if frozen? s = self.lstrip (s == self) ? nil : self.replace(s) end @@ -125,7 +125,7 @@ class String # <code>nil</code> if <i>str</i> was not altered. # def strip! - raise RuntimeError, "can't modify frozen String" if frozen? + raise FrozenError, "can't modify frozen String" if frozen? s = self.strip (s == self) ? nil : self.replace(s) end @@ -199,7 +199,7 @@ class String # string #=> "thsa sting" # def slice!(arg1, arg2=nil) - raise RuntimeError, "can't modify frozen String" if frozen? + raise FrozenError, "can't modify frozen String" if frozen? raise "wrong number of arguments (for 1..2)" if arg1.nil? && arg2.nil? if !arg1.nil? && !arg2.nil? diff --git a/mrbgems/mruby-struct/src/struct.c b/mrbgems/mruby-struct/src/struct.c index 8de4b6c52..adeb09bc1 100644 --- a/mrbgems/mruby-struct/src/struct.c +++ b/mrbgems/mruby-struct/src/struct.c @@ -89,7 +89,7 @@ static void mrb_struct_modify(mrb_state *mrb, mrb_value strct) { if (MRB_FROZEN_P(mrb_basic_ptr(strct))) { - mrb_raise(mrb, E_RUNTIME_ERROR, "can't modify frozen struct"); + mrb_raise(mrb, E_FROZEN_ERROR, "can't modify frozen struct"); } mrb_write_barrier(mrb, mrb_basic_ptr(strct)); |
