ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
util/string.h
Go to the documentation of this file.
1#pragma once
2
43#include <stddef.h>
44#include <stdbool.h>
45
46/* ============================================================================
47 * String Escaping Functions
48 * @{
49 */
50
68void escape_ascii(const char *str, const char *escape_char, char *out_buffer, size_t out_buffer_size);
69
101bool validate_shell_safe(const char *str, const char *allowed_chars);
102
128bool escape_shell_single_quotes(const char *str, char *out_buffer, size_t out_buffer_size);
129
154bool escape_shell_double_quotes(const char *str, char *out_buffer, size_t out_buffer_size);
155
182bool string_needs_shell_quoting(const char *str);
183
214bool escape_path_for_shell(const char *path, char *out_buffer, size_t out_buffer_size);
215
218/* ============================================================================
219 * String Formatting and Display
220 * @{
221 */
222
223#include "../log/log.h"
224
258const char *colored_string(log_color_t color, const char *text);
259
277void truncate_with_ellipsis(const char *input, char *output, size_t output_size, int max_width);
278
311void strip_ansi_codes(const char *input, char *output, size_t output_size);
312
log_color_t
Color enum for logging - indexes into color arrays.
Definition log/log.h:130
const char * colored_string(log_color_t color, const char *text)
Build a colored string for terminal output.
void strip_ansi_codes(const char *input, char *output, size_t output_size)
Strip ANSI escape codes from a string.
bool escape_shell_double_quotes(const char *str, char *out_buffer, size_t out_buffer_size)
Escape a string for safe use in shell commands (double quotes, Windows-compatible)
bool escape_shell_single_quotes(const char *str, char *out_buffer, size_t out_buffer_size)
Escape a string for safe use in shell commands (single quotes)
bool string_needs_shell_quoting(const char *str)
Check if a string needs shell quoting (contains spaces or special chars)
bool validate_shell_safe(const char *str, const char *allowed_chars)
Validate that a string contains only safe characters for shell commands.
Definition util/string.c:62
void escape_ascii(const char *str, const char *escape_char, char *out_buffer, size_t out_buffer_size)
Escape ASCII characters in a string.
Definition util/string.c:20
bool escape_path_for_shell(const char *path, char *out_buffer, size_t out_buffer_size)
Escape a path for safe use in shell commands (auto-platform)
void truncate_with_ellipsis(const char *input, char *output, size_t output_size, int max_width)
Truncate a string to a maximum display width, with ellipsis.
ClangTool/LibTooling compatibility shim for stdbool.h.