libc: Cleanup remaining files
authorAntonio Nino Diaz <[email protected]>
Thu, 16 Aug 2018 13:53:05 +0000 (14:53 +0100)
committerAntonio Nino Diaz <[email protected]>
Wed, 22 Aug 2018 09:26:04 +0000 (10:26 +0100)
The existing files had some style problems that this patch fixes.

Change-Id: I794e0d96e52f8da0ffa0d70a41f36c4432b4e563
Signed-off-by: Antonio Nino Diaz <[email protected]>
lib/libc/abort.c
lib/libc/assert.c
lib/libc/libc.mk
lib/libc/mem.c [deleted file]
lib/libc/memchr.c [new file with mode: 0644]
lib/libc/memcmp.c [new file with mode: 0644]
lib/libc/memcpy.c [new file with mode: 0644]
lib/libc/memmove.c [new file with mode: 0644]
lib/libc/memset.c [new file with mode: 0644]
lib/libc/putchar.c
lib/libc/puts.c

index 65ce4ccaf2c6de26c72a6b78841e2503b884ca64..c9d16cccc68a6dc088fc6ce8731c93677b654404 100644 (file)
@@ -7,10 +7,7 @@
 #include <debug.h>
 #include <stdlib.h>
 
-/*
- * This is a basic implementation. This could be improved.
- */
-void abort (void)
+void abort(void)
 {
        ERROR("ABORT\n");
        panic();
index 97fab4b0f2c4cdfdce01738fd5d180d07b390510..721b6e54b10af96667cef91e43abb2b3873dfa5b 100644 (file)
@@ -10,9 +10,9 @@
 #include <platform.h>
 
 /*
-* Only print the output if PLAT_LOG_LEVEL_ASSERT is higher or equal to
-* LOG_LEVEL_INFO, which is the default value for builds with DEBUG=1.
-*/
+ * Only print the output if PLAT_LOG_LEVEL_ASSERT is higher or equal to
+ * LOG_LEVEL_INFO, which is the default value for builds with DEBUG=1.
+ */
 
 #if PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_VERBOSE
 void __assert(const char *file, unsigned int line, const char *assertion)
index 022e6bfa9c196d4aee05d550d0f479f73b13cd83..575a2aa63a6b52e34e7f8df4f3113a1b085fb84c 100644 (file)
@@ -8,7 +8,11 @@ LIBC_SRCS      :=      $(addprefix lib/libc/,  \
                        abort.c                         \
                        assert.c                        \
                        exit.c                          \
-                       mem.c                           \
+                       memchr.c                        \
+                       memcmp.c                        \
+                       memcpy.c                        \
+                       memmove.c                       \
+                       memset.c                        \
                        printf.c                        \
                        putchar.c                       \
                        puts.c                          \
diff --git a/lib/libc/mem.c b/lib/libc/mem.c
deleted file mode 100644 (file)
index 65b62fd..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include <stddef.h> /* size_t */
-
-/*
- * Fill @count bytes of memory pointed to by @dst with @val
- */
-void *memset(void *dst, int val, size_t count)
-{
-       char *ptr = dst;
-
-       while (count--)
-               *ptr++ = val;
-
-       return dst;
-}
-
-/*
- * Compare @len bytes of @s1 and @s2
- */
-int memcmp(const void *s1, const void *s2, size_t len)
-{
-       const unsigned char *s = s1;
-       const unsigned char *d = s2;
-       unsigned char sc;
-       unsigned char dc;
-
-       while (len--) {
-               sc = *s++;
-               dc = *d++;
-               if (sc - dc)
-                       return (sc - dc);
-       }
-
-       return 0;
-}
-
-/*
- * Copy @len bytes from @src to @dst
- */
-void *memcpy(void *dst, const void *src, size_t len)
-{
-       const char *s = src;
-       char *d = dst;
-
-       while (len--)
-               *d++ = *s++;
-
-       return dst;
-}
-
-/*
- * Move @len bytes from @src to @dst
- */
-void *memmove(void *dst, const void *src, size_t len)
-{
-       /*
-        * The following test makes use of unsigned arithmetic overflow to
-        * more efficiently test the condition !(src <= dst && dst < str+len).
-        * It also avoids the situation where the more explicit test would give
-        * incorrect results were the calculation str+len to overflow (though
-        * that issue is probably moot as such usage is probably undefined
-        * behaviour and a bug anyway.
-        */
-       if ((size_t)dst - (size_t)src >= len) {
-               /* destination not in source data, so can safely use memcpy */
-               return memcpy(dst, src, len);
-       } else {
-               /* copy backwards... */
-               const char *end = dst;
-               const char *s = (const char *)src + len;
-               char *d = (char *)dst + len;
-               while (d != end)
-                       *--d = *--s;
-       }
-       return dst;
-}
-
-/*
- * Scan @len bytes of @src for value @c
- */
-void *memchr(const void *src, int c, size_t len)
-{
-       const char *s = src;
-
-       while (len--) {
-               if (*s == c)
-                       return (void *) s;
-               s++;
-       }
-
-       return NULL;
-}
diff --git a/lib/libc/memchr.c b/lib/libc/memchr.c
new file mode 100644 (file)
index 0000000..2eba47c
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <stddef.h>
+
+void *memchr(const void *src, int c, size_t len)
+{
+       const char *s = src;
+
+       while (len--) {
+               if (*s == c)
+                       return (void *) s;
+               s++;
+       }
+
+       return NULL;
+}
diff --git a/lib/libc/memcmp.c b/lib/libc/memcmp.c
new file mode 100644 (file)
index 0000000..a4c798b
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <stddef.h>
+
+int memcmp(const void *s1, const void *s2, size_t len)
+{
+       const unsigned char *s = s1;
+       const unsigned char *d = s2;
+       unsigned char sc;
+       unsigned char dc;
+
+       while (len--) {
+               sc = *s++;
+               dc = *d++;
+               if (sc - dc)
+                       return (sc - dc);
+       }
+
+       return 0;
+}
diff --git a/lib/libc/memcpy.c b/lib/libc/memcpy.c
new file mode 100644 (file)
index 0000000..fc0c9fe
--- /dev/null
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <stddef.h>
+
+void *memcpy(void *dst, const void *src, size_t len)
+{
+       const char *s = src;
+       char *d = dst;
+
+       while (len--)
+               *d++ = *s++;
+
+       return dst;
+}
diff --git a/lib/libc/memmove.c b/lib/libc/memmove.c
new file mode 100644 (file)
index 0000000..63acf26
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <string.h>
+
+void *memmove(void *dst, const void *src, size_t len)
+{
+       /*
+        * The following test makes use of unsigned arithmetic overflow to
+        * more efficiently test the condition !(src <= dst && dst < str+len).
+        * It also avoids the situation where the more explicit test would give
+        * incorrect results were the calculation str+len to overflow (though
+        * that issue is probably moot as such usage is probably undefined
+        * behaviour and a bug anyway.
+        */
+       if ((size_t)dst - (size_t)src >= len) {
+               /* destination not in source data, so can safely use memcpy */
+               return memcpy(dst, src, len);
+       } else {
+               /* copy backwards... */
+               const char *end = dst;
+               const char *s = (const char *)src + len;
+               char *d = (char *)dst + len;
+               while (d != end)
+                       *--d = *--s;
+       }
+       return dst;
+}
diff --git a/lib/libc/memset.c b/lib/libc/memset.c
new file mode 100644 (file)
index 0000000..03aa809
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <stddef.h>
+
+void *memset(void *dst, int val, size_t count)
+{
+       char *ptr = dst;
+
+       while (count--)
+               *ptr++ = val;
+
+       return dst;
+}
index 8265667b18f544b1a517212659e332c15baea4ae..0beb625b2d0beff3218431304e5d3ac42cff869d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -7,11 +7,6 @@
 #include <stdio.h>
 #include <console.h>
 
-/* Putchar() should either return the character printed or EOF in case of error.
- * Our current console_putc() function assumes success and returns the
- * character. Write all other printing functions in terms of putchar(), if
- * possible, so they all benefit when this is improved.
- */
 int putchar(int c)
 {
        int res;
index 284cf8c52aab33c10b01e6b17d0022851a810eb9..717b5228e26bb191f271432cd7fa55c98cc4a8ee 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -9,15 +9,13 @@
 int puts(const char *s)
 {
        int count = 0;
-       while(*s) {
+
+       while (*s) {
                if (putchar(*s++) == EOF)
                        return EOF;
                count++;
        }
 
-       /* According to the puts(3) manpage, the function should write a
-        * trailing newline.
-        */
        if (putchar('\n') == EOF)
                return EOF;