From: MINAMI H. <mi...@ch...> - 2002-01-28 03:09:32
|
南です On Mon, 28 Jan 2002 07:50:14 +0900 Araki Ken <j00...@ip...> wrote: > mlterm.spec には、2.2.0 リリース日に明日の日付を入れました。 > というわけで、明日中にリリースの予定です。 オプションのパースに kik_str_to_int を unsigned int で受けているところで 負数を指定すると怪しい挙動をするので、 (-P -1 とか -w -1 とか) kik_str_to_uint を追加して - kik_str_to_int => kik_str_to_uint - 警告メッセージを not digit => not valid でどうでしょう? RCS file: /cvsroot/mlterm/mlterm/kiklib/src/kik_str.c,v retrieving revision 1.4 diff -u -2 -r1.4 kik_str.c --- kiklib/src/kik_str.c 2002/01/14 15:17:36 1.4 +++ kiklib/src/kik_str.c 2002/01/28 03:03:53 @@ -333,4 +333,39 @@ _i = 0 ; + + if (kik_str_to_uint(&_i, s)) + { + if (is_minus) + { + *i = -(_i); + }else + { + *i = _i; + } + return 1 ; + }else{ + return 0 ; + } +} + +unsigned int +kik_str_to_uint( + int * i , + char * s + ) +{ + int _i ; + + if( *s == '\0') + { + return 0 ; + } + + if( *s == '-') + { + return 0 ; + } + + _i = 0 ; while( *s) { @@ -341,17 +376,10 @@ _i *= 10 ; - _i += (*s - 0x30) ; + _i += (*s - '0') ; s ++ ; } - if( is_minus) - { - *i = -(_i) ; - } - else - { *i = _i ; - } return 1 ; Index: kiklib/src/kik_str.h =================================================================== RCS file: /cvsroot/mlterm/mlterm/kiklib/src/kik_str.h,v retrieving revision 1.3 diff -u -2 -r1.3 kik_str.h --- kiklib/src/kik_str.h 2002/01/14 15:17:36 1.3 +++ kiklib/src/kik_str.h 2002/01/28 03:03:53 @@ -53,4 +53,5 @@ int kik_str_to_int( int * i , char * s) ; +unsigned int kik_str_to_uint( int * i , char * s) ; Index: src/ml_term_manager.c =================================================================== RCS file: /cvsroot/mlterm/mlterm/src/ml_term_manager.c,v retrieving revision 1.28 diff -u -2 -r1.28 ml_term_manager.c --- src/ml_term_manager.c 2002/01/27 22:35:08 1.28 +++ src/ml_term_manager.c 2002/01/28 03:03:53 @@ -62,14 +62,14 @@ } - if( ! kik_str_to_int( min , p)) + if( ! kik_str_to_uint( min , p)) { - kik_msg_printf( "min font size %s is not digit.\n" , p) ; + kik_msg_printf( "min font size %s is not valid.\n" , p) ; return 0 ; } - if( ! kik_str_to_int( max , str_p)) + if( ! kik_str_to_uint( max , str_p)) { - kik_msg_printf( "max font size %s is not digit.\n" , str_p) ; + kik_msg_printf( "max font size %s is not valid.\n" , str_p) ; return 0 ; @@ -940,5 +940,5 @@ u_int size ; - if( kik_str_to_int( &size , value)) + if( kik_str_to_uint( &size , value)) { term_man->step_in_changing_font_size = size ; @@ -946,5 +946,5 @@ else { - kik_msg_printf( "font larger smaller size %s is not digit.\n" , value) ; + kik_msg_printf( "font larger smaller size %s is not valid.\n" , value) ; } } @@ -1223,7 +1223,7 @@ term_man->font_size = 16 ; } - else if( ! kik_str_to_int( &term_man->font_size , value)) + else if( ! kik_str_to_uint( &term_man->font_size , value)) { - kik_msg_printf( "font size %s is not digit.\n" , value) ; + kik_msg_printf( "font size %s is not valid.\n" , value) ; /* default value is used. */ @@ -1250,7 +1250,7 @@ term_man->num_of_log_lines = 128 ; } - else if( ! kik_str_to_int( &term_man->num_of_log_lines , value)) + else if( ! kik_str_to_uint( &term_man->num_of_log_lines , value)) { - kik_msg_printf( "log size %s is not digit.\n" , value) ; + kik_msg_printf( "log size %s is not valid.\n" , value) ; /* default value is used. */ @@ -1263,7 +1263,7 @@ term_man->tab_size = 8 ; } - else if( ! kik_str_to_int( &term_man->tab_size , value)) + else if( ! kik_str_to_uint( &term_man->tab_size , value)) { - kik_msg_printf( "tab size %s is not digit.\n" , value) ; + kik_msg_printf( "tab size %s is not valid.\n" , value) ; /* default value is used. */ @@ -1369,5 +1369,5 @@ u_int col_size_a ; - if( kik_str_to_int( &col_size_a , value)) + if( kik_str_to_uint( &col_size_a , value)) { term_man->col_size_a = col_size_a ; @@ -1375,5 +1375,5 @@ else { - kik_msg_printf( "col size of width a %s is not digit.\n" , value) ; + kik_msg_printf( "col size of width a %s is not valid.\n" , value) ; } } @@ -1480,7 +1480,7 @@ u_int ptys ; - if( ! kik_str_to_int( &ptys , value)) + if( ! kik_str_to_uint( &ptys , value)) { - kik_msg_printf( "ptys %s is not digit.\n" , value) ; + kik_msg_printf( "ptys %s is not valid.\n" , value) ; } else |