aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library.js6
-rw-r--r--tests/runner.py3
2 files changed, 9 insertions, 0 deletions
diff --git a/src/library.js b/src/library.js
index 32a809fe..2a4a5e7d 100644
--- a/src/library.js
+++ b/src/library.js
@@ -3382,6 +3382,12 @@ LibraryManager.library = {
return __parseInt(str, endptr, base, 0, 18446744073709551615, 64, true); // ULONG_MAX; imprecise.
},
+ atof: function(ptr) {
+ var str = Pointer_stringify(ptr);
+ var ret = parseFloat(str);
+ return isNaN(ret) ? 0 : ret;
+ },
+
qsort__deps: ['memcpy'],
qsort: function(base, num, size, comparator) {
if (num == 0 || size == 0) return;
diff --git a/tests/runner.py b/tests/runner.py
index 7361f978..d5489dd6 100644
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -2882,6 +2882,7 @@ at function.:blag
src = r'''
#include <stdio.h>
#include <string.h>
+ #include <stdlib.h>
int main () {
#define CHECK(str) \
@@ -2896,6 +2897,8 @@ at function.:blag
CHECK("en-r");
CHECK("en 3");
+ printf("%f, %f\n", atof("1.234567"), atof("cheez"));
+
return 0;
}
'''