aboutsummaryrefslogtreecommitdiffstats
path: root/libfonts_parse_uint32__.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2023-01-08 21:40:02 +0100
committerMattias Andrée <maandree@kth.se>2023-01-08 21:40:02 +0100
commit17a93f72f3343e6839f625972ba743ec61441c49 (patch)
tree7fc53e253e9e2aefad0f9a8d10edff0524198c75 /libfonts_parse_uint32__.c
parentFix error handling (diff)
downloadlibfonts-17a93f72f3343e6839f625972ba743ec61441c49.tar.gz
libfonts-17a93f72f3343e6839f625972ba743ec61441c49.tar.bz2
libfonts-17a93f72f3343e6839f625972ba743ec61441c49.tar.xz
Partially implement libfonts_get_default_font, libfonts_get_{default,output}_rendering_settings
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'libfonts_parse_uint32__.c')
-rw-r--r--libfonts_parse_uint32__.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/libfonts_parse_uint32__.c b/libfonts_parse_uint32__.c
new file mode 100644
index 0000000..f87f19e
--- /dev/null
+++ b/libfonts_parse_uint32__.c
@@ -0,0 +1,36 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+int
+libfonts_parse_uint32__(uint32_t *outp, const char *value)
+{
+ uint32_t out = 0, digit;
+ value += *value == '+';
+ if (!*value)
+ return 0;
+ while (isdigit(*value)) {
+ digit = (*value & 15);
+ if (out > (UINT32_C(0xFFFFFFFF) - digit) / 10)
+ return 0;
+ out = out * 10 + digit;
+ }
+ if (*value)
+ return 0;
+ *outp = out;
+ return 1;
+}
+
+
+#else
+
+
+int
+main(void)
+{
+ return 0; /* TODO add test */
+}
+
+
+#endif