[BACK]Return to ext.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan

Diff for /OpenXM/src/kan96xx/Kan/ext.c between version 1.15 and 1.23

version 1.15, 2003/07/21 13:36:41 version 1.23, 2004/02/28 13:39:42
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/ext.c,v 1.14 2003/07/14 12:49:52 takayama Exp $ */  /* $OpenXM: OpenXM/src/kan96xx/Kan/ext.c,v 1.22 2004/02/25 23:14:35 takayama Exp $ */
 #include <stdio.h>  #include <stdio.h>
 #include <sys/types.h>  #include <sys/types.h>
 #include <sys/stat.h>  #include <sys/stat.h>
Line 12 
Line 12 
 #include "extern2.h"  #include "extern2.h"
 #include <signal.h>  #include <signal.h>
 #include "plugin.h"  #include "plugin.h"
   #include "kclass.h"
 #include <ctype.h>  #include <ctype.h>
   #include <errno.h>
 #include "ox_pathfinder.h"  #include "ox_pathfinder.h"
   
   extern int Quiet;
 extern char **environ;  extern char **environ;
   
 #define MYCP_SIZE 100  #define MYCP_SIZE 100
Line 24  static void mywait() {
Line 27  static void mywait() {
   int status;    int status;
   int pid;    int pid;
   int i,j;    int i,j;
   signal(SIGCHLD,SIG_IGN);    /* signal(SIGCHLD,SIG_IGN); */
   pid = wait(&status);    pid = wait(&status);
   fprintf(stderr,"Child process %d is exiting.\n",pid);    if (!Quiet) fprintf(stderr,"Child process %d is exiting.\n",pid);
   for (i=0; i<Mycp; i++) {    for (i=0; i<Mycp; i++) {
     if (Mychildren[i]  == pid) {      if (Mychildren[i]  == pid) {
       for (j=i; j<Mycp-1; j++) {        for (j=i; j<Mycp-1; j++) {
Line 102  struct object Kextension(struct object obj)
Line 105  struct object Kextension(struct object obj)
 #endif  #endif
   extern void ctrlC();    extern void ctrlC();
   extern int SigIgn;    extern int SigIgn;
   extern errno;  
   extern int DebugCMO;    extern int DebugCMO;
   extern int OXprintMessage;    extern int OXprintMessage;
   struct stat buf;    struct stat buf;
Line 342  struct object Kextension(struct object obj)
Line 344  struct object Kextension(struct object obj)
         obj2 = getoa(obj,2);          obj2 = getoa(obj,2);
     if (obj2.tag != Sarray) errorKan1("%s\n","[(regionMatches) str strArray] extension. strArray must be an array.");      if (obj2.tag != Sarray) errorKan1("%s\n","[(regionMatches) str strArray] extension. strArray must be an array.");
     rob = KregionMatches(obj1,obj2);      rob = KregionMatches(obj1,obj2);
     }else if (strcmp(key,"newVector")==0) {
       if (size != 2) errorKan1("%s\n","[(newVector) m] extension.");
       obj1 = getoa(obj,1);
       if (obj1.tag != Sinteger) errorKan1("%s\n","[(newVector) m] extension. m must be an integer.");
       rob = newObjectArray(KopInteger(obj1));
     }else if (strcmp(key,"newMatrix")==0) {
       if (size != 3) errorKan1("%s\n","[(newMatrix) m n] extension.");
       obj1 = getoa(obj,1);
       if (obj1.tag != Sinteger) errorKan1("%s\n","[(newMatrix) m n] extension. m must be an integer.");
           obj2 = getoa(obj,2);
       if (obj2.tag != Sinteger) errorKan1("%s\n","[(newMatrix) m n] extension. n must be an integer.");
       rob = newObjectArray(KopInteger(obj1));
           for (i=0; i<KopInteger(obj1); i++) {
         putoa(rob,i,newObjectArray(KopInteger(obj2)));
           }
     }else if (strcmp(key,"ooPower")==0) {
       if (size != 3) errorKan1("%s\n","[(ooPower) a b] extension.");
       obj1 = getoa(obj,1);
           obj2 = getoa(obj,2);
       rob = KooPower(obj1,obj2);
   }else if (strcmp(key,"ostype")==0) {    }else if (strcmp(key,"ostype")==0) {
     rob = newObjectArray(1);      rob = newObjectArray(1);
     /* Hard encode the OS type. */      /* Hard encode the OS type. */
Line 352  struct object Kextension(struct object obj)
Line 374  struct object Kextension(struct object obj)
 #endif  #endif
   }    }
 #include "plugin.hh"  #include "plugin.hh"
   #include "Kclass/tree.hh"
   else{    else{
     errorKan1("%s\n","Unknown tag for extension.");      errorKan1("%s\n","Unknown tag for extension.");
   }    }

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.23

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