|
C-Menu 0.2.9
A User Interface Toolkit
|
General utility functions. More...
#include <cm.h>#include <ctype.h>#include <dirent.h>#include <errno.h>#include <fcntl.h>#include <grp.h>#include <pwd.h>#include <regex.h>#include <stdbool.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <sys/types.h>#include <termios.h>#include <unistd.h>#include <wait.h>Go to the source code of this file.
Macros | |
| #define | LF_LNK 1 |
| #define | LF_DIR 2 |
| #define | LF_REG 4 |
Functions | |
| bool | lf_find (const char *base_path, const char *re, const char *ere, int max_depth, int flags) |
| Find files in a directory matching a regular expression. | |
| bool | lf_process (const char *base_path, regex_t *compiled_re, regex_t *compiled_ere, int depth, int max_depth, int flags) |
| logic for lf_find() | |
| size_t | strip_ansi (char *d, char *s) |
| Strips ANSI SGR escape sequences (ending in 'm') from string s to d. | |
| int | a_toi (char *s, bool *a_toi_error) |
| a safer alternative to atoi() for converting ASCII strings to integers. | |
| bool | chrep (char *s, char old_chr, char new_chr) |
| Replaces all occurrences of old_chr in s with new_chr in place. | |
| size_t | trim (char *s) |
| Trims leading and trailing spaces from string s in place. | |
| size_t | rtrim (char *s) |
| Trims trailing spaces from string s in place. | |
| bool | stripz_quotes (char *s) |
| removes leading and trailing double quotes if present | |
| bool | strip_quotes (char *s) |
| removes leading and trailing double quotes if present | |
| bool | str_to_bool (const char *s) |
| Converts String to boolean true or false. | |
| int | str_to_args (char **argv, char *arg_str, int max_args) |
| Converts a string into an array of argument strings. | |
| double | str_to_double (char *s) |
| converts string to double | |
| bool | str_to_lower (char *s) |
| Converts a string to lowercase. | |
| bool | str_to_upper (char *s) |
| Converts a string to uppercase. | |
| size_t | strz (char *s) |
| Terminates string at new line or carriage return. | |
| size_t | strnz (char *s, size_t max_len) |
| terminates string at New Line, Carriage Return, or max_len | |
| size_t | strnlf (char *s, size_t max_len) |
| terminates string with line feed | |
| bool | str_subc (char *d, char *s, char ReplaceChr, char *Withstr, int l) |
| Replaces "ReplaceChr" in "s" with "Withstr" in "d" won't copy more than "l" bytes to "d" Replaces all occurrences of a character in a string with another string, copying the result to a destination buffer. | |
| char * | rep_substring (const char *org_s, const char *tgt_s, const char *rep_s) |
| Replace all occurrences of "tgt_s" in "org_s" with "rep_s". | |
| bool | normalize_file_spec (char *fs) |
| replace backslashes with forward lashes | |
| bool | file_spec_path (char *fp, char *fs) |
| extracts the path component of a file specification | |
| bool | file_spec_name (char *fn, char *fs) |
| extracts the file name component of a file specification | |
| bool | verify_file (char *in_spec, int imode) |
| Verifies that the file specified by "in_spec" exists and is accessible with the permissions specified by "imode". | |
| bool | verify_dir (char *spec, int imode) |
| Verifies that the directory specified by "spec" exists and is accessible with the permissions specified by "imode". | |
| bool | locate_file_in_path (char *file_spec, char *file_name) |
| Locates a file in the system PATH. | |
| size_t | canonicalize_file_spec (char *spec) |
| Removes quotes and trims at first space. | |
| bool | is_directory (const char *path) |
| Checks if the given path is a directory. | |
| bool | is_valid_regex (const char *pattern) |
| Checks if the given regular expression pattern is valid. | |
| size_t | ssnprintf (char *buf, size_t buf_size, const char *format,...) |
| ssnprintf was designed to be a safer alternative to snprintf. | |
| size_t | strnz__cpy (char *d, const char *s, size_t max_len) |
| safer alternative to strncpy | |
| size_t | strnz__cat (char *d, const char *s, size_t max_len) |
| safer alternative to strncat | |
| size_t | string_cpy (String *dest, const String *src) |
| Copy src String to dest String, allocating additional memory for dest String if necessary. | |
| size_t | string_cat (String *dest, const String *src) |
| Concatenates src String to dest String, allocating additional memory for dest String if necessary. | |
| size_t | string_ncat (String *dest, const String *src, size_t n) |
| Concatenates up to n characters from src String to dest String, allocating additional memory for dest String if necessary. | |
| size_t | string_ncpy (String *dest, const String *src, size_t n) |
| copies up to n characters from src String to dest String, allocating additional memory for dest String if necessary | |
| String | to_string (const char *s) |
| String functions provide a simple string library to facilitate string manipulation in C, allowing developers to easily create, copy, concatenate, and free strings without having to manage memory manually. | |
| String | mk_string (size_t l) |
| Create a String struct with a dynamically allocated string. | |
| String | free_string (String string) |
| Free the dynamically allocated String. | |
| void | destroy_argv (int argc, char **argv) |
| Deallocates memory allocated for argument strings in argv. | |
| char * | strnz_dup (char *s, size_t l) |
| Allocates memory for and duplicates string s up to length l or until line feed or carriage return. | |
| bool | strnfill (char *s, char c, int n) |
| Fills string s with character c n. | |
| bool | expand_tilde (char *path, int path_maxlen) |
| Replace Leading Tilde With Home Directory. | |
| bool | trim_path (char *dir) |
| Trims trailing spaces and slashes from directory path in place. | |
| bool | trim_ext (char *buf, char *filename) |
| trims the file extension from "filename" and copies the result to "buf" | |
| bool | base_name (char *buf, char *path) |
| Returns the base name of a file specification. | |
| bool | dir_name (char *buf, char *path) |
| Returns the directory name of a file specification. | |
| bool | mk_dir (char *dir) |
| If directory doesn't exist, make it. | |
| int | segmentation_fault () |
| Function to intentionally cause a segmentation fault for testing purposes. | |
Variables | |
| char | earg_str [MAXLEN] |
| int | eargc |
| char * | eargv [MAXARGS] |
| char | errmsg [MAXLEN] |
| error_info_t | error_info |
| error_source_t | error_source |
| int | wait_timeout |
| String mk_string | ( | size_t | l | ) |
Create a String struct with a dynamically allocated string.
| l | length of string to create including null terminator |
| size_t rtrim | ( | char * | s | ) |
Trims trailing spaces from string s in place.
| s | - string to trim |
Definition at line 102 of file futil.c.
Referenced by fmt_line().
| bool str_to_bool | ( | const char * | s | ) |
Converts String to boolean true or false.
| s | - string to convert |
Definition at line 649 of file futil.c.
Referenced by parse_config().
| char earg_str[MAXLEN] |
earg - general use argument string general use argument string, for external commands or error messages
Definition at line 40 of file futil.c.
Referenced by enter_file_spec(), and menu_cmd_processor().
| int eargc |
general use argument count, for external commands or error messages
Definition at line 41 of file futil.c.
Referenced by display_pick_help(), enter_file_spec(), form_engine(), form_process(), and menu_cmd_processor().
| char* eargv[MAXARGS] |
eargv - argument vector for external commands, or error messages
Definition at line 42 of file futil.c.
Referenced by display_pick_help(), enter_file_spec(), and menu_cmd_processor().
| int wait_timeout |
Definition at line 98 of file futil.c.
Referenced by dump_config(), form_process(), init_pick(), parse_config(), view_init_input(), and write_config().