summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2012-08-07 15:42:05 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-08-15 12:27:55 -0500
commiteedc0bb29e002418c53a13a96030a980a4f6b26b (patch)
treed09470895bb63ff41dc531049d095408d7bc93bc /src/lib
parenta346e4fa854de69dcd6a0ebfddf4c5530a175504 (diff)
downloadtalos-hostboot-eedc0bb29e002418c53a13a96030a980a4f6b26b.tar.gz
talos-hostboot-eedc0bb29e002418c53a13a96030a980a4f6b26b.zip
Additional needed utilities for PRD port.
Implement assorted utilities and STL templates for the port of existing PRD code from FSP: * strcat / strncat * std::generate_n * std::transform * std::back_inserter RTC: 44531 Change-Id: I9992f78222cbc2f74da15eea74c9b2cad602ad59 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1501 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Christopher T. Phan <cphan@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/string.C83
1 files changed, 61 insertions, 22 deletions
diff --git a/src/lib/string.C b/src/lib/string.C
index 0e1095c63..18cfec530 100644
--- a/src/lib/string.C
+++ b/src/lib/string.C
@@ -1,25 +1,26 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/lib/string.C $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// p1
-//
-// Object Code Only (OCO) source materials
-// Licensed Internal Code Source Materials
-// IBM HostBoot Licensed Internal Code
-//
-// The source code for this program is not published or other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/lib/string.C $
+ *
+ * IBM CONFIDENTIAL
+ *
+ * COPYRIGHT International Business Machines Corp. 2011-2012
+ *
+ * p1
+ *
+ * Object Code Only (OCO) source materials
+ * Licensed Internal Code Source Materials
+ * IBM HostBoot Licensed Internal Code
+ *
+ * The source code for this program is not published or other-
+ * wise divested of its trade secrets, irrespective of what has
+ * been deposited with the U.S. Copyright Office.
+ *
+ * Origin: 30
+ *
+ * IBM_PROLOG_END_TAG
+ */
#include <string.h>
extern "C" void *memset(void *vdest, int ch, size_t len)
@@ -201,6 +202,44 @@ extern "C" size_t strlen(const char* a)
return length;
}
+extern "C" char* strcat(char* d, const char* s)
+{
+ char* _d = d;
+ while(*_d)
+ {
+ _d++;
+ }
+
+ while(*s)
+ {
+ *_d = *s;
+ _d++; s++;
+ }
+ *_d = '\0';
+
+ return d;
+}
+
+extern "C" char* strncat(char* d, const char* s, size_t n)
+{
+ char* _d = d;
+ while(*_d)
+ {
+ _d++;
+ }
+
+ while((*s) && (0 != n))
+ {
+ *_d = *s;
+ _d++; s++;
+ n--;
+ }
+ *_d = '\0';
+
+ return d;
+}
+
+
extern "C" char* strchr(const char* s, int c)
{
while((*s != '\0') && (*s != c))
OpenPOWER on IntegriCloud