Subversion Repositories wimsdev

Rev

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