[BACK]Return to asir.hh CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / plugin

Annotation of OpenXM/src/kan96xx/plugin/asir.hh, Revision 1.1.1.1

1.1       maekawa     1: else if (strcmp(key,"Asir_ExecuteString") == 0) {
                      2:   if (size != 2) errorKan1("%s\n","[(Asir_ExecuteString)  string] extension result.");
                      3:   obj1 = getoa(obj,1);
                      4:   if (obj1.tag != Sdollar) errorKan1("%s\n","[(Asir_ExecuteString)  string] extension result");
                      5:   rob = KpoInteger(Asir_ExecuteString(obj1.lc.str));
                      6: }
                      7: else if (strcmp(key,"Asir_PopString") == 0) {
                      8:   if (size != 1) errorKan1("%s\n","[(Asir_PopString)] extension result.");
                      9:   rob = KpoString(Asir_PopString());
                     10: }
                     11: else if (strcmp(key,"Asir_Start") == 0) {
                     12:   if (size != 1) errorKan1("%s\n","[(Asir_Start)] extension result.");
                     13:   rob = KpoInteger(Asir_Start());
                     14: }
                     15: else if (strcmp(key,"Asir_to_kan") == 0) {
                     16:   if (size != 2) errorKan1("%s\n","[(Asir_to_kan)  string] extension result.");
                     17:   obj1 = getoa(obj,1);
                     18:   if (obj1.tag != Sdollar) errorKan1("%s\n","[(Asir_to_kan)  string] extension result");
                     19:   rob = KpoString(KasirKanConvert(obj1.lc.str));
                     20: }
                     21: else if (strcmp(key,"Asir_Set") == 0) {
                     22:   if (size != 2) errorKan1("%s\n","[(Asir_Set)  string] extension result.");
                     23:   obj1 = getoa(obj,1);
                     24:   if (obj1.tag != Sdollar) errorKan1("%s\n","[(Asir_Set)  string] extension result");
                     25:   rob = KpoInteger(Asir_Set(obj1.lc.str));
                     26: }
                     27: else if (strcmp(key,"Asir_PushBinary") == 0) {
                     28:   if (size != 2) errorKan1("%s\n","[(Asir_PushCmo) cmo-obj] extension result.");
                     29:   obj1 = getoa(obj,1);
                     30:   if (obj1.tag != CMO) {
                     31:     errorKan1("%s\n","Argument must be cmo-object.");
                     32:   }
                     33:   rob=KpoInteger(Asir_PushBinary(((struct cmoBuffer *)(obj1.lc.voidp))->size,
                     34:                                  (((struct cmoBuffer *)(obj1.lc.voidp))->buf)));
                     35: }
                     36: else if (strcmp(key,"Asir_PopBinary") == 0) {
                     37:   if (size != 1) errorKan1("%s\n","[(Asir_PopCmo)] extension cmo-obj.");
                     38:   rob.tag =CMO;
                     39:   rob.lc.voidp = GC_malloc(sizeof(struct cmoBuffer));
                     40:   if (rob.lc.voidp == NULL) {
                     41:     fprintf(stderr,"No more memory.");
                     42:   }
                     43:   ((struct cmoBuffer *)(rob.lc.voidp))->buf = Asir_PopBinary(&size);
                     44:   ((struct cmoBuffer *)(rob.lc.voidp))->size = size;
                     45:   ((struct cmoBuffer *)(rob.lc.voidp))->pos = size;
                     46:   ((struct cmoBuffer *)(rob.lc.voidp))->rpos = 0;
                     47: }
                     48:
                     49:
                     50:
                     51:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>