Explorar el Código

app_ruby: proper push of int values to Ruby for xval function return

Daniel-Constantin Mierla hace 6 años
padre
commit
3f6e25ecb0
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      src/modules/app_ruby/app_ruby_api.c

+ 2 - 2
src/modules/app_ruby/app_ruby_api.c

@@ -236,7 +236,7 @@ int ruby_sr_initialized(void)
  */
  */
 int sr_kemi_ruby_return_int(sr_kemi_t *ket, int rc)
 int sr_kemi_ruby_return_int(sr_kemi_t *ket, int rc)
 {
 {
-	if(ket->rtype==SR_KEMIP_INT) {
+	if(ket->rtype==SR_KEMIP_INT || ket->rtype==SR_KEMIP_XVAL) {
 		return INT2NUM(rc);
 		return INT2NUM(rc);
 	}
 	}
 	if(ket->rtype==SR_KEMIP_BOOL && rc!=SR_KEMI_FALSE) {
 	if(ket->rtype==SR_KEMIP_BOOL && rc!=SR_KEMI_FALSE) {
@@ -426,7 +426,7 @@ VALUE sr_kemi_ruby_return_xval(sr_kemi_t *ket, sr_kemi_xval_t *rx)
 		case SR_KEMIP_NONE:
 		case SR_KEMIP_NONE:
 			return Qnil;
 			return Qnil;
 		case SR_KEMIP_INT:
 		case SR_KEMIP_INT:
-			return sr_kemi_ruby_return_int(ket, rx->v.n);
+			return INT2NUM(rx->v.n);
 		case SR_KEMIP_STR:
 		case SR_KEMIP_STR:
 			return rb_str_new(rx->v.s.s, rx->v.s.len);
 			return rb_str_new(rx->v.s.s, rx->v.s.len);
 		case SR_KEMIP_BOOL:
 		case SR_KEMIP_BOOL: