Browse code

fix loading of bytecode into intepreter.

Török Edvin authored on 2010/02/16 00:32:00
Showing 1 changed files
... ...
@@ -1572,8 +1572,8 @@ static int cli_bytecode_prepare_interpreter(struct cli_bc *bc)
1572 1572
 			    return CL_EBYTECODE;
1573 1573
 			}
1574 1574
 		    } else {
1575
-			/* APIs have 2 parameters always */
1576
-			if (inst->u.ops.numOps != 2) {
1575
+			/* APIs have at most 2 parameters always */
1576
+			if (inst->u.ops.numOps > 2) {
1577 1577
 			    cli_errmsg("bytecode: call operands don't match function prototype\n");
1578 1578
 			    return CL_EBYTECODE;
1579 1579
 			}
... ...
@@ -1607,6 +1607,30 @@ static int cli_bytecode_prepare_interpreter(struct cli_bc *bc)
1607 1607
 		case OP_BC_GEPN:
1608 1608
 		    /*TODO */
1609 1609
 		    break;
1610
+		case OP_BC_MEMSET:
1611
+		case OP_BC_MEMCPY:
1612
+		case OP_BC_MEMMOVE:
1613
+		case OP_BC_MEMCMP:
1614
+		    /*TODO*/
1615
+		    break;
1616
+		case OP_BC_ISBIGENDIAN:
1617
+		    /*TODO */
1618
+		    break;
1619
+		case OP_BC_ABORT:
1620
+		    /* TODO */
1621
+		    break;
1622
+		case OP_BC_BSWAP16:
1623
+		    /*TODO */
1624
+		    break;
1625
+		case OP_BC_BSWAP32:
1626
+		    /*TODO */
1627
+		    break;
1628
+		case OP_BC_BSWAP64:
1629
+		    /*TODO */
1630
+		    break;
1631
+		case OP_BC_PTRDIFF32:
1632
+		    /*TODO */
1633
+		    break;
1610 1634
 		default:
1611 1635
 		    cli_dbgmsg("Unhandled opcode: %d\n", inst->opcode);
1612 1636
 		    return CL_EBYTECODE;