[rtems-libbsd commit] Provide strtoq() and strtouq()

Sebastian Huber sebh at rtems.org
Mon Mar 6 11:10:27 UTC 2017


Module:    rtems-libbsd
Branch:    master
Commit:    18a623e5b2acc9eff2c2b6ca54041cfa74862a6c
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=18a623e5b2acc9eff2c2b6ca54041cfa74862a6c

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Mar  6 12:07:32 2017 +0100

Provide strtoq() and strtouq()

---

 freebsd/sys/sys/systm.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/freebsd/sys/sys/systm.h b/freebsd/sys/sys/systm.h
index 2f781e9..3512c49 100644
--- a/freebsd/sys/sys/systm.h
+++ b/freebsd/sys/sys/systm.h
@@ -276,8 +276,27 @@ int	sscanf(const char *, char const *, ...) __nonnull(1) __nonnull(2) __scanflik
 int	vsscanf(const char *, char const *, __va_list) __nonnull(1) __nonnull(2) __scanflike(2, 0);
 long	strtol(const char *, char **, int) __nonnull(1);
 u_long	strtoul(const char *, char **, int) __nonnull(1);
+#ifndef __rtems__
 quad_t	strtoq(const char *, char **, int) __nonnull(1);
 u_quad_t strtouq(const char *, char **, int) __nonnull(1);
+#else /* __rtems__ */
+long long strtoll(const char *, char **, int);
+unsigned long long strtoull(const char *, char **, int);
+
+static inline quad_t __nonnull(1)
+strtoq(const char *nptr, char **endptr, int base)
+{
+
+	return (strtoll(nptr, endptr, base));
+}
+
+static inline u_quad_t __nonnull(1)
+strtouq(const char *nptr, char **endptr, int base)
+{
+
+	return (strtoull(nptr, endptr, base));
+}
+#endif /* __rtems__ */
 void	tprintf(struct proc *p, int pri, const char *, ...) __printflike(3, 4);
 void	vtprintf(struct proc *, int, const char *, __va_list) __printflike(3, 0);
 void	hexdump(const void *ptr, int length, const char *hdr, int flags);




More information about the vc mailing list