Rev 5356 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5356 | Rev 5360 | ||
---|---|---|---|
Line 84... | Line 84... | ||
84 | if(cnt > MAX_CONV){fprintf(stdout,"error : number of conversions exceeds limit of %d\n",MAX_CONV);return 0;} |
84 | if(cnt > MAX_CONV){fprintf(stdout,"error : number of conversions exceeds limit of %d\n",MAX_CONV);return 0;} |
85 | length = strlen(input); |
85 | length = strlen(input); |
86 | if( length > MAX_DIGITS){ |
86 | if( length > MAX_DIGITS){ |
87 | fprintf(stdout,"error : number is larger than %d digits\n",MAX_DIGITS); |
87 | fprintf(stdout,"error : number is larger than %d digits\n",MAX_DIGITS); |
88 | return 0; |
88 | return 0; |
89 | - | ||
90 | } |
89 | } |
91 | /* test for illegal characters */ |
90 | /* test for illegal characters */ |
92 | while (*input){ |
91 | while (*input){ |
93 | if ( strchr(invalid_characters, *input) ){ |
92 | if ( strchr(invalid_characters, *input) ){ |
94 | fprintf(stdout,"error : found illegal character in argument \"%s\" \n",input); |
93 | fprintf(stdout,"error : found illegal character in argument \"%s\" \n",input); |
Line 139... | Line 138... | ||
139 | break; |
138 | break; |
140 | case 'e' : if(found_point == 1){points--;found_point = 0;} found_power++;pow = length - i;sig1 = 0;sig2 = 0;dec1 = 0;found_digit = 0;zeros = 0;found_multiply++;break; |
139 | case 'e' : if(found_point == 1){points--;found_point = 0;} found_power++;pow = length - i;sig1 = 0;sig2 = 0;dec1 = 0;found_digit = 0;zeros = 0;found_multiply++;break; |
141 | case 'E' : if(found_point == 1){points--;found_point = 0;} found_power++;pow = length - i;sig1 = 0;sig2 = 0;dec1 = 0;found_digit = 0;zeros = 0;found_multiply++;break; |
140 | case 'E' : if(found_point == 1){points--;found_point = 0;} found_power++;pow = length - i;sig1 = 0;sig2 = 0;dec1 = 0;found_digit = 0;zeros = 0;found_multiply++;break; |
142 | case '0' : |
141 | case '0' : |
143 | if(i == 0){//last char |
142 | if(i == 0){//last char |
144 | fprintf(stdout,"last zero : sig1 - zeros = %d - %d\n",sig1,zeros ); |
- | |
145 | sig1 = sig1 - zeros; |
143 | sig1 = sig1 - zeros; |
146 | sig2++; |
144 | sig2++; |
147 | if(found_power == 1){zeros++;} |
145 | if(found_power == 1){zeros++;} |
148 | } |
146 | } |
149 | else |
147 | else |