[BACK]Return to io.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / windows / asir32gui

Diff for /OpenXM_contrib2/windows/asir32gui/io.c between version 1.1 and 1.6

version 1.1, 2000/11/22 06:14:29 version 1.6, 2013/08/03 13:55:32
Line 5 
Line 5 
 #include <fcntl.h>  #include <fcntl.h>
 #include <process.h>  #include <process.h>
   
   #include "asir32gui_io.h"
   
 #define ECGEN_KEYNAME "SoftWare\\Fujitsu\\FSEcParamGen\\V1.0L10"  #define ECGEN_KEYNAME "SoftWare\\Fujitsu\\FSEcParamGen\\V1.0L10"
 #define ASIR_KEYNAME "SoftWare\\Fujitsu\\Asir\\1999.03.31"  #define ASIR_KEYNAME "SoftWare\\Fujitsu\\Asir\\1999.03.31"
   
Line 13 
Line 15 
   
 static int use_current_dir;  static int use_current_dir;
   
 int asir_main_window;  int asirgui_kind;
 HANDLE hProc;  HANDLE hProc;
 static HANDLE hRead,hWrite;  static HANDLE hRead,hWrite;
 HANDLE hNotify,hNotify_Ack;  HANDLE hNotify,hNotify_Ack;
Line 36  char *errmsg;
Line 38  char *errmsg;
         LONG    ret;          LONG    ret;
         HKEY    hOpenKey;          HKEY    hOpenKey;
         DWORD   Type,dw;          DWORD   Type,dw;
         char    dir[BUFSIZ],message[BUFSIZ];          char    dir[BUFSIZ],message[BUFSIZ],engine[BUFSIZ];
         char    *slash;          char    *slash;
         int             ldir;          size_t  ldir;
         static  char rootdir[BUFSIZ];          static  char rootdir[BUFSIZ];
         static  int rootdir_is_initialized;          static  int rootdir_is_initialized;
   
Line 47  char *errmsg;
Line 49  char *errmsg;
                 return TRUE;                  return TRUE;
         }          }
   
       if(GetModuleFileName(NULL,dir,BUFSIZ)) {
           slash = strrchr(dir,'\\');
           *slash = 0;
           sprintf(engine,"%s\\engine.exe", dir);
           if ( access(engine,0) >= 0 ) {
               slash = strrchr(dir,'\\');
               if ( slash ) {
                   *slash = 0;
               }
               use_current_dir = 1;
               strcpy(rootdir,dir);
               strcpy(name,dir);
               rootdir_is_initialized = 1;
               return TRUE;
           }
       }
           GetCurrentDirectory(BUFSIZ,dir);
           slash = strrchr(dir,'\\');
           if ( slash )
                   *slash = 0;
           ldir = strlen(dir)+1;
           if ( access("UseCurrentDir",0) >= 0 ) {
                   use_current_dir = 1;
                   strcpy(rootdir,dir);
                   strcpy(name,dir);
                   rootdir_is_initialized = 1;
                   return TRUE;
           }
         ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, ECGEN_KEYNAME, 0,          ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, ECGEN_KEYNAME, 0,
                 KEY_QUERY_VALUE, &hOpenKey);                  KEY_QUERY_VALUE, &hOpenKey);
         if ( ret != ERROR_SUCCESS )          if ( ret != ERROR_SUCCESS )
                 ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, ASIR_KEYNAME, 0,                  ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, ASIR_KEYNAME, 0,
                         KEY_QUERY_VALUE, &hOpenKey);                          KEY_QUERY_VALUE, &hOpenKey);
         if( ret != ERROR_SUCCESS ) {          if( ret != ERROR_SUCCESS ) {
                 GetCurrentDirectory(BUFSIZ,dir);  
                 slash = strrchr(dir,'\\');  
                 if ( slash )  
                         *slash = 0;  
                 ldir = strlen(dir)+1;  
                 if ( access("UseCurrentDir",0) >= 0 ) {  
                         use_current_dir = 1;  
                         strcpy(rootdir,dir);  
                         strcpy(name,dir);  
                         rootdir_is_initialized = 1;  
                         return TRUE;  
                 }  
   
                 sprintf(message,"May I register '%s' as the ASIR main directory?",dir);                  sprintf(message,"May I register '%s' as the ASIR main directory?",dir);
                 if( IDNO == MessageBox(NULL,message,"Asir",                  if( IDNO == MessageBox(NULL,message,"Asir",
                         MB_YESNO | MB_ICONEXCLAMATION | MB_DEFBUTTON2) ) {                          MB_YESNO | MB_ICONEXCLAMATION | MB_DEFBUTTON2) ) {
Line 85  char *errmsg;
Line 102  char *errmsg;
                                 NULL);                                  NULL);
                         return FALSE;                          return FALSE;
                 }                  }
                 if ( ret = RegSetValueEx(hOpenKey,"Directory",NULL,REG_SZ,dir,ldir) ) {                  if ( ret = RegSetValueEx(hOpenKey,"Directory",0,REG_SZ,dir,ldir) ) {
                         FormatMessage(                          FormatMessage(
                                 FORMAT_MESSAGE_FROM_SYSTEM |                                  FORMAT_MESSAGE_FROM_SYSTEM |
                                 FORMAT_MESSAGE_IGNORE_INSERTS,                                  FORMAT_MESSAGE_IGNORE_INSERTS,
Line 118  BOOL Init_IO(char *errmsg) {
Line 135  BOOL Init_IO(char *errmsg) {
   
         _setargv();          _setargv();
         if ( !strcmp(__argv[0],"debuggui") ) {          if ( !strcmp(__argv[0],"debuggui") ) {
                 asir_main_window = 0;                  asirgui_kind = ASIRGUI_DEBUG;
                 hRead = atoi(__argv[1]);                  hRead = atoi(__argv[1]);
                 hWrite = atoi(__argv[2]);                  hWrite = atoi(__argv[2]);
                 hNotify = OpenEvent(EVENT_ALL_ACCESS|EVENT_MODIFY_STATE,TRUE,__argv[3]);                  hNotify = OpenEvent(EVENT_ALL_ACCESS|EVENT_MODIFY_STATE,TRUE,__argv[3]);
Line 128  BOOL Init_IO(char *errmsg) {
Line 145  BOOL Init_IO(char *errmsg) {
                 hKill = OpenEvent(EVENT_ALL_ACCESS|EVENT_MODIFY_STATE,TRUE,__argv[7]);                  hKill = OpenEvent(EVENT_ALL_ACCESS|EVENT_MODIFY_STATE,TRUE,__argv[7]);
                 return TRUE;                  return TRUE;
         } else if ( !strcmp(__argv[0],"messagegui") ) {          } else if ( !strcmp(__argv[0],"messagegui") ) {
                 asir_main_window = 0;                  asirgui_kind = ASIRGUI_MESSAGE;
                 hRead = atoi(__argv[1]);                  hRead = atoi(__argv[1]);
                 hWrite = atoi(__argv[2]);                  hWrite = atoi(__argv[2]);
                 hNotify = OpenEvent(EVENT_ALL_ACCESS|EVENT_MODIFY_STATE,TRUE,__argv[3]);                  hNotify = OpenEvent(EVENT_ALL_ACCESS|EVENT_MODIFY_STATE,TRUE,__argv[3]);
                 hNotify_Ack = OpenEvent(EVENT_ALL_ACCESS|EVENT_MODIFY_STATE,TRUE,__argv[4]);                  hNotify_Ack = OpenEvent(EVENT_ALL_ACCESS|EVENT_MODIFY_STATE,TRUE,__argv[4]);
                 return TRUE;                  return TRUE;
         } else {          } else {
                 asir_main_window = 1;                  asirgui_kind = ASIRGUI_MAIN;
                 mypid = GetCurrentProcessId();                  mypid = GetCurrentProcessId();
                 sprintf(notify,"asir_notify_%d",mypid);                  sprintf(notify,"asir_notify_%d",mypid);
                 sprintf(notify_ack,"asir_notify_ack_%d",mypid);                  sprintf(notify_ack,"asir_notify_ack_%d",mypid);
Line 258  void read_and_insert()
Line 275  void read_and_insert()
         }          }
 }  }
   
   static char history_path[BUFSIZ];
   static char history_errmsg[BUFSIZ];
   
 void init_input_history()  void init_input_history()
 {  {
           char rootdir[BUFSIZ];
           get_rootdir(rootdir,sizeof(rootdir),history_errmsg);
           sprintf(history_path,"%s\\bin\\%s",rootdir,HISTORY);
         init_hist(MAXHIST);          init_hist(MAXHIST);
 }  }
   
 void write_input_history()  void write_input_history()
 {  {
         write_hist(HISTORY);          write_hist(history_path);
 }  }
   
 void read_input_history()  void read_input_history()
 {  {
         read_hist(HISTORY);          read_hist(history_path);
 }  }
   
 void send_intr() {  void send_intr() {

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

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