@@ -426,38 +426,38 @@ void eval(var_t *r) {
426426 op = CODE (IP );
427427 IP ++ ;
428428
429- if (r -> type == V_INT && left -> type == V_INT ) {
429+ if (r -> type == V_INT && v_is_type ( left , V_INT ) ) {
430430 if (op == '+' ) {
431431 r -> v .i += left -> v .i ;
432432 } else {
433433 r -> v .i = left -> v .i - r -> v .i ;
434434 }
435- } else if (r -> type == V_NUM && left -> type == V_NUM ) {
435+ } else if (r -> type == V_NUM && v_is_type ( left , V_NUM ) ) {
436436 r -> type = V_NUM ;
437437 if (op == '+' ) {
438438 r -> v .n += left -> v .n ;
439439 } else {
440440 r -> v .n = left -> v .n - r -> v .n ;
441441 }
442- } else if (r -> type == V_INT && left -> type == V_NUM ) {
442+ } else if (r -> type == V_INT && v_is_type ( left , V_NUM ) ) {
443443 r -> type = V_NUM ;
444444 if (op == '+' ) {
445445 r -> v .n = r -> v .i + left -> v .n ;
446446 } else {
447447 r -> v .n = left -> v .n - r -> v .i ;
448448 }
449- } else if (r -> type == V_NUM && left -> type == V_INT ) {
449+ } else if (r -> type == V_NUM && v_is_type ( left , V_INT ) ) {
450450 if (op == '+' ) {
451451 r -> v .n += left -> v .i ;
452452 } else {
453453 r -> v .n = left -> v .i - r -> v .n ;
454454 }
455455 } else {
456- if (r -> type == V_ARRAY || left -> type == V_ARRAY ) {
456+ if (r -> type == V_ARRAY || v_is_type ( left , V_ARRAY ) ) {
457457 //
458458 // ARRAYS
459459 //
460- if (r -> type == V_ARRAY && left -> type == V_ARRAY ) {
460+ if (r -> type == V_ARRAY && v_is_type ( left , V_ARRAY ) ) {
461461 if (op == '+' ) {
462462 mat_add (r , left );
463463 } else {
@@ -499,11 +499,11 @@ void eval(var_t *r) {
499499 op = CODE (IP );
500500 IP ++ ;
501501
502- if (r -> type == V_ARRAY || left -> type == V_ARRAY ) {
502+ if (r -> type == V_ARRAY || v_is_type ( left , V_ARRAY ) ) {
503503 //
504504 // ARRAYS
505505 //
506- if (r -> type == V_ARRAY && left -> type == V_ARRAY ) {
506+ if (r -> type == V_ARRAY && v_is_type ( left , V_ARRAY ) ) {
507507 if (op == '*' ) {
508508 mat_mul (left , r );
509509 } else {
@@ -769,13 +769,13 @@ void eval(var_t *r) {
769769 }
770770 }
771771 } else if (r -> type == V_STR ) {
772- if (left -> type == V_STR ) {
772+ if (v_is_type ( left , V_STR ) ) {
773773 if (left -> v .p .ptr [0 ] != '\0' ) {
774774 ri = (strstr (r -> v .p .ptr , left -> v .p .ptr ) != NULL );
775775 } else {
776776 ri = 0 ;
777777 }
778- } else if (left -> type == V_NUM || left -> type == V_INT ) {
778+ } else if (v_is_type ( left , V_NUM ) || v_is_type ( left , V_INT ) ) {
779779 var_t * v ;
780780
781781 v = v_clone (left );
0 commit comments