Browse Source

Add end map when untokenizing + debug message + comment

Yann Weber 4 years ago
parent
commit
c4a4642910
3 changed files with 19 additions and 2 deletions
  1. 11
    0
      rpn_jit.c
  2. 3
    2
      rpn_jit.h
  3. 5
    0
      rpn_parse.c

+ 11
- 0
rpn_jit.c View File

@@ -130,9 +130,20 @@ int rpn_expr_untokenize(rpn_expr_t *expr, rpn_tokenized_t *tokens, char long_op)
130 130
 		}
131 131
 	}
132 132
 
133
+	if(_rpn_expr_end_map(expr))
134
+	{
135
+		snprintf(expr->err_reason, 128,
136
+			"Error ending code map : %s",
137
+			strerror(errno));
138
+		expr->state = RPN_ERROR;
139
+		return -1;
140
+	}
141
+
142
+	expr->state = RPN_READY;
133 143
 	return 0;
134 144
 
135 145
 	ret_err:
146
+		expr->state = RPN_ERROR;
136 147
 		errno = err;
137 148
 		return -1;
138 149
 }

+ 3
- 2
rpn_jit.h View File

@@ -122,8 +122,9 @@ struct rpn_expr_s
122 122
 	size_t args_count;
123 123
 
124 124
 	/**@brief Stack values memory */
125
-	unsigned long *stack;
126
-	/**@brief rpn jit function stack size */
125
+	rpn_value_t *stack;
126
+	/**@brief rpn jit function stack size
127
+	 * @note item size (size in bytes is sizeof(long) * stack_sz */
127 128
 	unsigned char stack_sz;
128 129
 
129 130
 	/**@brief Expression status. Takes value in @ref RPN_ERROR,

+ 5
- 0
rpn_parse.c View File

@@ -284,6 +284,11 @@ char* rpn_tokenized_expr(rpn_tokenized_t *tokens, char long_op)
284 284
 					"0x%lX ", token->value);
285 285
 				break;
286 286
 			default:
287
+				#ifdef DEBUG
288
+				dprintf(2,
289
+"Invalid token type encountered : %d\n",
290
+					token->type); 
291
+				#endif
287 292
 				err = EUCLEAN;
288 293
 				goto free_err;
289 294
 		}

Loading…
Cancel
Save