(toppers-users 2748) jspカーネルのcfgディレクトリのソースについて

Mitsuyasu Ichimura mitsuyasu @ stellae.jp
2008年 5月 7日 (水) 17:02:15 JST


こんにちは、市村と申します。

cfgディレクトリのソースをgcc4にてコンパイルするとワーニングが出るので
少々調べてみました。

その結果、long* を int* に変換している箇所があり、これだと正しい値が変
数に入らないのでは?と思い、次のとおりソースを改変しました。


diff -cr jsp.orig/cfg/Makefile jsp/cfg/Makefile
*** jsp.orig/cfg/Makefile   Sat Dec  6 17:46:43 2003
--- jsp/cfg/Makefile    Fri May  2 21:00:15 2008
***************
*** 104,109 ****
--- 104,110 ----
    rm -f cfg chk
    rm -f container.txt container.xml kernel_cfg.c kernel_id.h
    rm -f settings.dat settings.txt
+   rm -f Makefile.depend
    rm -f cfg.exe chk.exe
  
  cleandep:
diff -cr jsp.orig/cfg/base/directorymap.cpp jsp/cfg/base/directorymap.cpp
*** jsp.orig/cfg/base/directorymap.cpp  Mon Dec 15 16:32:13 2003
--- jsp/cfg/base/directorymap.cpp   Fri May  2 20:58:17 2008
***************
*** 805,821 ****
              str ++;
              if(*str == 'x' || *str == 'X')
              {
!                 if(sscanf(str+1, "%ux", (int *)&work) == 0)
                      return default_value;
              }else
                  if(*str != '\x0')
                  {
!                     if(sscanf(str, "%o", (int *)&work) == 0)
                          return default_value;
                  }else
                      return 0;
          }else
!             if(sscanf(str, "%d", (int *)&work) == 0)
                  return default_value;
  
          if(minus)
--- 805,821 ----
              str ++;
              if(*str == 'x' || *str == 'X')
              {
!                 if(sscanf(str+1, "%lx", &work) == 0)
                      return default_value;
              }else
                  if(*str != '\x0')
                  {
!                     if(sscanf(str, "%lo", &work) == 0)
                          return default_value;
                  }else
                      return 0;
          }else
!             if(sscanf(str, "%ld", &work) == 0)
                  return default_value;
  
          if(minus)


この改変で不都合が出るでしょうか?詳しい方のご教示をお願いいたしたく、
メールしました。よろしくお願いいたします。


-=-=-=-=-=-=-=-=-=-=-=-=-
Mitsuyasu Ichimura
     mitsuyasu @ stellae.jp
-=-=-=-=-=-=-=-=-=-=-=-=-