[BACK]Return to load.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / parse

Diff for /OpenXM_contrib2/asir2000/parse/load.c between version 1.10 and 1.11

version 1.10, 2004/03/02 07:44:02 version 1.11, 2004/03/02 08:28:49
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/parse/load.c,v 1.9 2001/12/25 02:39:06 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/parse/load.c,v 1.10 2004/03/02 07:44:02 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 106  extern JMP_BUF exec_env;
Line 106  extern JMP_BUF exec_env;
 char *search_executable(char *name)  char *search_executable(char *name)
 {  {
         char *c,*s,*ret;          char *c,*s,*ret;
         int len;          int len,nlen;
         char dir[BUFSIZ],path[BUFSIZ];          char dir[BUFSIZ],path[BUFSIZ];
         struct stat buf;          struct stat buf;
   
         for ( s = (char *)getenv("PATH"); s; ) {          nlen = strlen(name);
           for ( s = (char *)getenv("PATH"); *s; ) {
                 c = (char *)index(s,':');                  c = (char *)index(s,':');
                 if ( c ) {                  len = c ? c-s : strlen(dir);
                         len = c-s;                  if ( len >= BUFSIZ ) continue;
                         strncpy(dir,s,len); s = c+1; dir[len] = 0;                  strncpy(dir,s,len); s = c+1; dir[len] = 0;
                 } else {                  if ( len+nlen+1 >= BUFSIZ ) continue;
                         strcpy(dir,s); s = 0;  
                 }  
                 sprintf(path,"%s/%s",dir,name);                  sprintf(path,"%s/%s",dir,name);
                 if ( !stat(path,&buf) && !(buf.st_mode & S_IFDIR)                  if ( !stat(path,&buf) && !(buf.st_mode & S_IFDIR)
                         && !access(path,X_OK) ) {                          && !access(path,X_OK) ) {
Line 154  void env_init() {
Line 153  void env_init() {
         }          }
         if ( !(asir_pager = getenv("PAGER")) ) {          if ( !(asir_pager = getenv("PAGER")) ) {
                 japanese = 0;                  japanese = 0;
                 if ( (e = getenv("LANGUAGE")) && strstr(e,"ja") ) japanese = 1;                  if ( (e = getenv("LANGUAGE")) &&
                 else if ( (e = getenv("LC_ALL")) && strstr(e,"ja") ) japanese = 1;                          (!strncmp(e,"japan",5) || !strncmp(e,"ja_JP",5)) ) japanese = 1;
                 else if ( (e = getenv("LC_CTYPE")) && strstr(e,"ja") ) japanese = 1;                  else if ( (e = getenv("LC_ALL")) &&
                 else if ( (e = getenv("LANG")) && strstr(e,"ja") ) japanese = 1;                          (!strncmp(e,"japan",5) || !strncmp(e,"ja_JP",5)) ) japanese = 1;
                   else if ( (e = getenv("LC_CTYPE")) &&
                           (!strncmp(e,"japan",5) || !strncmp(e,"ja_JP",5)) ) japanese = 1;
                   else if ( (e = getenv("LANG")) &&
                           (!strncmp(e,"japan",5) || !strncmp(e,"ja_JP",5)) ) japanese = 1;
                 if ( japanese )                  if ( japanese )
                         asir_pager = search_executable("jless");                          asir_pager = search_executable("jless");
                 if ( !asir_pager ) {                  if ( !asir_pager ) {

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

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