[BACK]Return to cmdasir.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / windows / post-msg-asirgui

Diff for /OpenXM_contrib2/windows/post-msg-asirgui/cmdasir.c between version 1.9 and 1.11

version 1.9, 2014/05/10 08:23:33 version 1.11, 2014/05/28 02:46:55
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/windows/post-msg-asirgui/cmdasir.c,v 1.8 2013/11/28 18:53:32 ohara Exp $ */  /* $OpenXM: OpenXM_contrib2/windows/post-msg-asirgui/cmdasir.c,v 1.10 2014/05/25 21:01:04 ohara Exp $ */
 // cl test.c user32.lib  // cl test.c user32.lib
   
 #include <windows.h>  #include <windows.h>
Line 8 
Line 8 
 #include <io.h>  #include <io.h>
 #include <process.h>  #include <process.h>
 #include <fcntl.h>  #include <fcntl.h>
   #include <winnls.h>
   
 char *winname2uxname(char winname[]);  char *winname2uxname(char winname[]);
 FILE *findAsirHandler();  FILE *findAsirHandler();
Line 19  int pasteFile(HWND hnd, char *uname);
Line 20  int pasteFile(HWND hnd, char *uname);
 int containEnd(char s[]);  int containEnd(char s[]);
 int abortAsir(HWND hnd);  int abortAsir(HWND hnd);
 int main(int argc, char *argv[]);  int main(int argc, char *argv[]);
   int damemsg(unsigned char s[]);
   int damemoji(unsigned char s[]);
   
 FILE *open_stdio(DWORD type) {  FILE *open_stdio(DWORD type) {
     HANDLE hnd;      HANDLE hnd;
Line 57  int main(int argc, char *argv[])
Line 60  int main(int argc, char *argv[])
   int paste_contents=0;    int paste_contents=0;
   int abort=0;    int abort=0;
   
   /* MessageBox(NULL,TEXT("test"),TEXT("Error in cmdasir.c"),MB_OK); */    /* MessageBox(NULL,TEXT("test"),TEXT("ERROR in cmdasir.c"),MB_OK); */
   sprintf(snameWin,"%s\\cmdasir-%d.txt",getenv("TEMP"),_getpid());    sprintf(snameWin,"%s\\cmdasir-%d.txt",getenv("TEMP"),_getpid());
   snameUx = winname2uxname(snameWin);    snameUx = winname2uxname(snameWin);
   if ((argc > 1) && (strcmp(argv[1],"--delete-tmp")==0)) {    if ((argc > 1) && (strcmp(argv[1],"--delete-tmp")==0)) {
Line 90  int main(int argc, char *argv[])
Line 93  int main(int argc, char *argv[])
       fp2 = fopen(snameUx,"w");        fp2 = fopen(snameUx,"w");
       if (fp2 == NULL) {        if (fp2 == NULL) {
         sprintf(msg,"File %s to load is not found.",argv[ii]);          sprintf(msg,"File %s to load is not found.",argv[ii]);
         MessageBox(NULL,TEXT(msg),TEXT("Error in cmdasir.c"), MB_OK);          MessageBox(NULL,TEXT(msg),TEXT("ERROR in cmdasir.c"), MB_OK);
         return(-1);          return(-1);
       }        }
       while ((c=fgetc(fp)) >= 0) fputc(c,fp2);        while ((c=fgetc(fp)) >= 0) fputc(c,fp2);
Line 147  int terminateAsir(HWND hnd) {
Line 150  int terminateAsir(HWND hnd) {
 char *winname2uxname(char wname[]) {  char *winname2uxname(char wname[]) {
   int i;    int i;
   char *uname;    char *uname;
     damemsg(wname);
   uname = (char *) malloc(strlen(wname)+1);    uname = (char *) malloc(strlen(wname)+1);
   for (i=0; i<strlen(wname); i++) {    for (i=0; i<strlen(wname); i++) {
     if (wname[i] == '\\') uname[i] = '/';      if (wname[i] == '\\') uname[i] = '/';
Line 287  int abortAsir(HWND hnd) {
Line 291  int abortAsir(HWND hnd) {
   c='y'; PostMessage(hnd,WM_CHAR,c,1);    c='y'; PostMessage(hnd,WM_CHAR,c,1);
   c=0xd; PostMessage(hnd,WM_CHAR,c,1);    c=0xd; PostMessage(hnd,WM_CHAR,c,1);
   return(0);    return(0);
   }
   
   int damemsg(unsigned char s[]) {
     int dame;
     char msg[1024];
     char s2[3];
     dame = damemoji(s);
     if (dame) {
       s2[0]=s[dame-1]; s2[1]=s[dame]; s2[2]=0;
       sprintf(msg,"The path name %s contains dame-moji %s (ShiftJIS code).",s,s2);
       MessageBox(NULL,TEXT(msg),TEXT("ERROR in cmdasir.c"), MB_OK);
     }
   
   }
   int damemoji(unsigned char s[]) {
     char lang[BUFSIZ];
     int n,i,dame;
     int c;
     lang[0]=0;
     if(GetLocaleInfo(GetUserDefaultLCID(), LOCALE_SISO639LANGNAME, lang, BUFSIZ)){
       // printf("lang=%s\n",lang);
     }
     dame=0;
     if (strcmp(lang,"ja")==0) {
       n = strlen(s);
       for (i=1; i<n; i++) {
         if (s[i] == '\\') {
           c=s[i-1];
           if (((c>=0x81) && (c<=0x9f)) || ((c>=0xe0) && (c<=0xee)) || ((c>=0xfa) && (c<=0xfc))) {
             dame=i; break;
           }
         }
       }
     }
     return(dame);
 }  }

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.11

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