=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/help.c,v retrieving revision 1.4 retrieving revision 1.8 diff -u -p -r1.4 -r1.8 --- OpenXM_contrib2/asir2000/builtin/help.c 2000/08/22 05:03:58 1.4 +++ OpenXM_contrib2/asir2000/builtin/help.c 2013/07/31 00:38:12 1.8 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/builtin/help.c,v 1.3 2000/08/21 08:31:20 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/help.c,v 1.7 2009/02/19 15:48:26 ohara Exp $ */ #include "ca.h" #include "parse.h" @@ -93,16 +93,18 @@ char *s; extern char *asir_pager; char *e; static char helpdir[16]; + static int ja_JP_UTF_8 = 0; if ( !helpdir[0] ) { e = (char *)getenv("LANG"); if ( !e ) strcpy(helpdir,"help"); else if ( !strncmp(e,"japan",strlen("japan")) - || !strncmp(e,"ja_JP",strlen("ja_JP")) ) - strcpy(helpdir,"help-jp"); - else - strcpy(helpdir,"help-eg"); + || !strncmp(e,"ja_JP",strlen("ja_JP")) ) { + strcpy(helpdir,"help-ja"); + if (strcmp(e,"ja_JP.UTF-8")==0) ja_JP_UTF_8 = 1; + }else + strcpy(helpdir,"help-en"); } if ( !s ) @@ -117,13 +119,22 @@ char *s; sprintf(name,"%s/%s/%s",asir_libdir,helpdir,s); if ( fp = fopen(name,"r") ) { fclose(fp); - sprintf(com,"%s %s",asir_pager,name); + if (!ja_JP_UTF_8) + sprintf(com,"%s %s",asir_pager,name); + else + sprintf(com,"nkf -w %s | %s ",name,asir_pager); system(com); } else { - searchf(usrf,s,&f); - if ( f && f->f.usrf->desc ) + gen_searchf_searchonly(s,&f); + if ( f && f->id == A_USR && f->f.usrf->desc ) fprintf(stderr,"%s\n",f->f.usrf->desc); } +#else + FUNC f; + gen_searchf_searchonly(s,&f); + if ( f && f->id == A_USR && f->f.usrf->desc ) + fprintf(stderr,"%s\n",f->f.usrf->desc); + #endif } }