+ } else if(ch=='e' || ch=='d' || ch=='E' || ch=='D') {
+ goto exponent;
+ } else if(ch=='+' || ch=='-') {
+ if(mode==0) { /* sign before digits */
+ if(ch=='-') sx=1;
+ mode = 1;
+ } else if(mode==1) { /* two signs before digits */
+ return(errno=F_ERRFCHR);
+ } else { /* sign after digits, weird but standard!
+ means exponent without 'e' or 'd' */
+ goto exponent;
+ }
+ } else if(ch==',') {
+ goto done;
+ } else if(ch=='\n') {
+ if(cblank && (mode==2)) x *= 10;
+ } else {
+ return(errno=F_ERRFCHR);