diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/cfuns-c.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/cfuns-c.c b/src/lib/cfuns-c.c index 97d85d15..42dce2ed 100644 --- a/src/lib/cfuns-c.c +++ b/src/lib/cfuns-c.c @@ -526,6 +526,24 @@ oa_getpid(void) #endif } +/* Concatenate two strings and return a pointer to the + newly allocate resulting string. */ +OPENAXIOM_EXPORT const char* +oa_concatenate_string(const char* lhs, const char* rhs) +{ + if (lhs == NULL) + return rhs; + else if (rhs == NULL) + return lhs; + else { + const int lhs_length = strlen(lhs); + char* result = (char*) malloc(lhs_length + strlen(rhs) + 1); + strcpy(result, lhs); + strcpy(result + lhs_length, rhs); + return result; + } +} + /* Return the value of an environment variable. */ OPENAXIOM_EXPORT char* oa_getenv(const char* var) |