/* * Copyright (C) 2021 P. J. McDermott * * This file is part of Dodge Balls * * Dodge Balls is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Dodge Balls is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Dodge Balls. If not, see . */ #include #include char * db_strcat(const char *str1, const char *str2) { size_t str1_len; size_t str2_len; char *dest; str1_len = strlen(str1); str2_len = strlen(str2); dest = malloc((str1_len + str2_len + 1) * sizeof(*dest)); if (dest == NULL) { return NULL; } memcpy(dest, str1, str1_len); memcpy(dest + str1_len, str2, str2_len); dest[str1_len + str2_len] = '\0'; return dest; }