Files
event-handler/src/utils.c

58 lines
987 B
C

#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "utils.h"
#include "log.h"
char
*get_substring(char *s, int pos, int l)
{
int i = 0;
char *out;
if (l <= 0) {
return NULL;
}
out = malloc((l + 1) * sizeof(char));
if (out == NULL) {
log_fatal("failed to get substring malloc: %s", strerror(errno));
exit(1);
}
/* Copy substring into ss */
while (i < l) {
out[i] = s[pos + i];
i++;
}
/* Null terminate the substring */
out[i] = '\0';
return out;
}
char
*concat(const char *s1, const char *s2)
{
int len1, len2;
char *result;
len1 = strlen(s1);
len2 = strlen(s2);
/* attempt to allocate size for the new string */
result = malloc((len1 + len2 + 1) * sizeof(char));
if (result == NULL) {
log_fatal("malloc: %s", strerror(errno));
exit(1);
}
memcpy(result, s1, len1);
memcpy(result + len1, s2, len2 + 1);
// + 1 copies the null terminator
return result;
}