treebird/src/string_helpers.h
me@ow.nekobit.net 282b914e6c Error handling
FossilOrigin-Name: dadb89e019730998cc09f3eb0a06d518cfcd154b42f965cb4df10d035adb5dd8
2022-03-29 18:10:08 +00:00

43 lines
1.5 KiB
C

/*
* Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef STRING_HELPERS_H
#define STRING_HELPERS_H
#include <stddef.h>
/** Returns str. If NULL, returns empty string */
#define STR_NULL_EMPTY(str) ((str) ? (str) : "")
/**
* Constructs a string based on a function
*
* @param func A function, with void* being the string,
* size_t being an index, and int* being the returned parse size
* @param strings The array of strings
* @param strings_len len of `strings`
* @param ret_size Set to the full result string size, useful for large
* results
* @return The result, this MUST be free'd when finished and checked for NULL.
*/
char* construct_func_strings(char* (*func)(void*, size_t, int*),
void* strings,
size_t strings_len,
size_t* ret_size);
#endif // STRING_HELPERS_H