summaryrefslogtreecommitdiff
path: root/StdLib/LibC/Stdio/vfwscanf.c
diff options
context:
space:
mode:
Diffstat (limited to 'StdLib/LibC/Stdio/vfwscanf.c')
-rw-r--r--StdLib/LibC/Stdio/vfwscanf.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/StdLib/LibC/Stdio/vfwscanf.c b/StdLib/LibC/Stdio/vfwscanf.c
index 3d7404171b..7bf3f66690 100644
--- a/StdLib/LibC/Stdio/vfwscanf.c
+++ b/StdLib/LibC/Stdio/vfwscanf.c
@@ -198,7 +198,7 @@ literal:
goto input_failure;
if (wi != c) {
ungetwc(wi, fp);
- goto input_failure;
+ goto match_failure;
}
nread++;
continue;
@@ -721,20 +721,19 @@ literal:
if ((width = parsefloat(fp, buf, buf + width)) == 0)
goto match_failure;
if ((flags & SUPPRESS) == 0) {
-#ifdef notyet
+#ifdef REAL_LONG_DOUBLE_SUPPORT
if (flags & LONGDBL) {
long double res = wcstold(buf, &p);
*va_arg(ap, long double *) = res;
} else
#endif
- if (flags & LONG) {
+ if (flags & (LONG | LONGDBL)) {
double res = wcstod(buf, &p);
*va_arg(ap, double *) = res;
-#ifdef notyet
- } else {
+ }
+ else {
float res = wcstof(buf, &p);
*va_arg(ap, float *) = res;
-#endif
}
#ifdef DEBUG
if (p - buf != width)