diff options
Diffstat (limited to 'mrbgems/mruby-socket/src')
| -rw-r--r-- | mrbgems/mruby-socket/src/socket.c | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/mrbgems/mruby-socket/src/socket.c b/mrbgems/mruby-socket/src/socket.c index a819dcb29..0afbca521 100644 --- a/mrbgems/mruby-socket/src/socket.c +++ b/mrbgems/mruby-socket/src/socket.c @@ -53,7 +53,7 @@ #endif #endif -#define E_SOCKET_ERROR (mrb_class_get(mrb, "SocketError")) +#define E_SOCKET_ERROR mrb_class_get_id(mrb, MRB_SYM(SocketError)) #if !defined(mrb_cptr) #define mrb_cptr_value(m,p) mrb_voidp_value((m),(p)) @@ -140,50 +140,50 @@ mrb_addrinfo_getaddrinfo(mrb_state *mrb, mrb_value klass) if (mrb_string_p(service)) { servname = RSTRING_CSTR(mrb, service); - } else if (mrb_fixnum_p(service)) { + } else if (mrb_integer_p(service)) { servname = RSTRING_PTR(mrb_fixnum_to_str(mrb, service, 10)); } else if (mrb_nil_p(service)) { servname = NULL; } else { - mrb_raise(mrb, E_TYPE_ERROR, "service must be String, Fixnum, or nil"); + mrb_raise(mrb, E_TYPE_ERROR, "service must be String, Integer, or nil"); } memset(&hints, 0, sizeof(hints)); hints.ai_flags = (int)flags; - if (mrb_fixnum_p(family)) { - hints.ai_family = (int)mrb_fixnum(family); + if (mrb_integer_p(family)) { + hints.ai_family = (int)mrb_integer(family); } - if (mrb_fixnum_p(socktype)) { - hints.ai_socktype = (int)mrb_fixnum(socktype); + if (mrb_integer_p(socktype)) { + hints.ai_socktype = (int)mrb_integer(socktype); } - if (mrb_fixnum_p(protocol)) { - hints.ai_protocol = (int)mrb_fixnum(protocol); + if (mrb_integer_p(protocol)) { + hints.ai_protocol = (int)mrb_integer(protocol); } - lastai = mrb_cv_get(mrb, klass, mrb_intern_lit(mrb, "_lastai")); + lastai = mrb_cv_get(mrb, klass, MRB_SYM(_lastai)); if (mrb_cptr_p(lastai)) { freeaddrinfo((struct addrinfo*)mrb_cptr(lastai)); - mrb_cv_set(mrb, klass, mrb_intern_lit(mrb, "_lastai"), mrb_nil_value()); + mrb_cv_set(mrb, klass, MRB_SYM(_lastai), mrb_nil_value()); } error = getaddrinfo(hostname, servname, &hints, &res0); if (error) { mrb_raisef(mrb, E_SOCKET_ERROR, "getaddrinfo: %s", gai_strerror(error)); } - mrb_cv_set(mrb, klass, mrb_intern_lit(mrb, "_lastai"), mrb_cptr_value(mrb, res0)); + mrb_cv_set(mrb, klass, MRB_SYM(_lastai), mrb_cptr_value(mrb, res0)); for (res = res0; res != NULL; res = res->ai_next) { sa = mrb_str_new(mrb, (char*)res->ai_addr, res->ai_addrlen); - ai = mrb_funcall(mrb, klass, "new", 4, sa, mrb_fixnum_value(res->ai_family), mrb_fixnum_value(res->ai_socktype), mrb_fixnum_value(res->ai_protocol)); + ai = mrb_funcall_id(mrb, klass, MRB_SYM(new), 4, sa, mrb_fixnum_value(res->ai_family), mrb_fixnum_value(res->ai_socktype), mrb_fixnum_value(res->ai_protocol)); mrb_ary_push(mrb, ary, ai); mrb_gc_arena_restore(mrb, arena_idx); } freeaddrinfo(res0); - mrb_cv_set(mrb, klass, mrb_intern_lit(mrb, "_lastai"), mrb_nil_value()); + mrb_cv_set(mrb, klass, MRB_SYM(_lastai), mrb_nil_value()); return ary; } @@ -200,7 +200,7 @@ mrb_addrinfo_getnameinfo(mrb_state *mrb, mrb_value self) host = mrb_str_buf_new(mrb, NI_MAXHOST); serv = mrb_str_buf_new(mrb, NI_MAXSERV); - sastr = mrb_iv_get(mrb, self, mrb_intern_lit(mrb, "@sockaddr")); + sastr = mrb_iv_get(mrb, self, MRB_QSYM(0_sockaddr)); if (!mrb_string_p(sastr)) { mrb_raise(mrb, E_SOCKET_ERROR, "invalid sockaddr"); } @@ -222,7 +222,7 @@ mrb_addrinfo_unix_path(mrb_state *mrb, mrb_value self) { mrb_value sastr; - sastr = mrb_iv_get(mrb, self, mrb_intern_lit(mrb, "@sockaddr")); + sastr = mrb_iv_get(mrb, self, MRB_QSYM(0_sockaddr)); if (((struct sockaddr *)RSTRING_PTR(sastr))->sa_family != AF_UNIX) mrb_raise(mrb, E_SOCKET_ERROR, "need AF_UNIX address"); if (RSTRING_LEN(sastr) < (mrb_int)offsetof(struct sockaddr_un, sun_path) + 1) { @@ -269,7 +269,7 @@ sa2addrlist(mrb_state *mrb, const struct sockaddr *sa, socklen_t salen) static int socket_fd(mrb_state *mrb, mrb_value sock) { - return (int)mrb_fixnum(mrb_funcall(mrb, sock, "fileno", 0)); + return (int)mrb_integer(mrb_funcall_id(mrb, sock, MRB_SYM(fileno), 0)); } static int @@ -347,10 +347,10 @@ mrb_basicsocket_getsockopt(mrb_state *mrb, mrb_value self) optlen = sizeof(opt); if (getsockopt(s, (int)level, (int)optname, opt, &optlen) == -1) mrb_sys_fail(mrb, "getsockopt"); - c = mrb_const_get(mrb, mrb_obj_value(mrb_class_get(mrb, "Socket")), mrb_intern_lit(mrb, "Option")); + c = mrb_const_get(mrb, mrb_obj_value(mrb_class_get_id(mrb, MRB_SYM(Socket))), MRB_SYM(Option)); family = socket_family(s); data = mrb_str_new(mrb, opt, optlen); - return mrb_funcall(mrb, c, "new", 4, mrb_fixnum_value(family), mrb_fixnum_value(level), mrb_fixnum_value(optname), data); + return mrb_funcall_id(mrb, c, MRB_SYM(new), 4, mrb_fixnum_value(family), mrb_fixnum_value(level), mrb_fixnum_value(optname), data); } static mrb_value @@ -449,21 +449,21 @@ mrb_basicsocket_setsockopt(mrb_state *mrb, mrb_value self) argc = mrb_get_args(mrb, "o|io", &so, &optname, &optval); if (argc == 3) { - if (!mrb_fixnum_p(so)) { + if (!mrb_integer_p(so)) { mrb_raise(mrb, E_ARGUMENT_ERROR, "level is not an integer"); } - level = mrb_fixnum(so); + level = mrb_integer(so); if (mrb_string_p(optval)) { /* that's good */ } else if (mrb_true_p(optval) || mrb_false_p(optval)) { mrb_int i = mrb_test(optval) ? 1 : 0; optval = mrb_str_new(mrb, (char*)&i, sizeof(i)); - } else if (mrb_fixnum_p(optval)) { + } else if (mrb_integer_p(optval)) { if (optname == IP_MULTICAST_TTL || optname == IP_MULTICAST_LOOP) { - char uc = (char)mrb_fixnum(optval); + char uc = (char)mrb_integer(optval); optval = mrb_str_new(mrb, &uc, sizeof(uc)); } else { - mrb_int i = mrb_fixnum(optval); + mrb_int i = mrb_integer(optval); optval = mrb_str_new(mrb, (char*)&i, sizeof(i)); } } else { @@ -472,9 +472,9 @@ mrb_basicsocket_setsockopt(mrb_state *mrb, mrb_value self) } else if (argc == 1) { if (strcmp(mrb_obj_classname(mrb, so), "Socket::Option") != 0) mrb_raise(mrb, E_ARGUMENT_ERROR, "not an instance of Socket::Option"); - level = mrb_fixnum(mrb_funcall(mrb, so, "level", 0)); - optname = mrb_fixnum(mrb_funcall(mrb, so, "optname", 0)); - optval = mrb_funcall(mrb, so, "data", 0); + level = mrb_integer(mrb_funcall_id(mrb, so, MRB_SYM(level), 0)); + optname = mrb_integer(mrb_funcall_id(mrb, so, MRB_SYM(optname), 0)); + optval = mrb_funcall_id(mrb, so, MRB_SYM(data), 0); } else { mrb_argnum_error(mrb, argc, 3, 3); } @@ -842,7 +842,7 @@ mrb_win32_basicsocket_syswrite(mrb_state *mrb, mrb_value self) n = send(sd, RSTRING_PTR(str), (int)RSTRING_LEN(str), 0); if (n == SOCKET_ERROR) mrb_sys_fail(mrb, "send"); - return mrb_fixnum_value(n); + return mrb_int_value(mrb, n); } #endif @@ -862,14 +862,14 @@ mrb_mruby_socket_gem_init(mrb_state* mrb) #endif ai = mrb_define_class(mrb, "Addrinfo", mrb->object_class); - mrb_mod_cv_set(mrb, ai, mrb_intern_lit(mrb, "_lastai"), mrb_nil_value()); + mrb_mod_cv_set(mrb, ai, MRB_SYM(_lastai), mrb_nil_value()); mrb_define_class_method(mrb, ai, "getaddrinfo", mrb_addrinfo_getaddrinfo, MRB_ARGS_REQ(2)|MRB_ARGS_OPT(4)); mrb_define_method(mrb, ai, "getnameinfo", mrb_addrinfo_getnameinfo, MRB_ARGS_OPT(1)); #ifndef _WIN32 mrb_define_method(mrb, ai, "unix_path", mrb_addrinfo_unix_path, MRB_ARGS_NONE()); #endif - io = mrb_class_get(mrb, "IO"); + io = mrb_class_get_id(mrb, MRB_SYM(IO)); bsock = mrb_define_class(mrb, "BasicSocket", io); mrb_define_method(mrb, bsock, "_recvfrom", mrb_basicsocket_recvfrom, MRB_ARGS_REQ(1)|MRB_ARGS_OPT(1)); @@ -938,7 +938,7 @@ mrb_mruby_socket_gem_init(mrb_state* mrb) #define define_const(SYM) \ do { \ - mrb_define_const(mrb, constants, #SYM, mrb_fixnum_value(SYM)); \ + mrb_define_const(mrb, constants, #SYM, mrb_int_value(mrb, SYM)); \ } while (0) #include "const.cstub" @@ -948,7 +948,7 @@ void mrb_mruby_socket_gem_final(mrb_state* mrb) { mrb_value ai; - ai = mrb_mod_cv_get(mrb, mrb_class_get(mrb, "Addrinfo"), mrb_intern_lit(mrb, "_lastai")); + ai = mrb_mod_cv_get(mrb, mrb_class_get_id(mrb, MRB_SYM(Addrinfo)), MRB_SYM(_lastai)); if (mrb_cptr_p(ai)) { freeaddrinfo((struct addrinfo*)mrb_cptr(ai)); } |
