cctools
stringtools.h
1/*
2Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
3Copyright (C) 2022 The University of Notre Dame
4This software is distributed under the GNU General Public License.
5See the file COPYING for details.
6*/
7
8#ifndef STRINGTOOLS_H
9#define STRINGTOOLS_H
10
11#include <stdint.h>
12#include <stdlib.h>
13#include <time.h>
14#include <stdarg.h>
15
16typedef char *(*string_subst_lookup_t) (const char *name, void *arg);
17
21int string_compare(const void *p1, const void *p2);
22
30char *string_escape_shell (const char *str);
31
39char *string_quote_shell (const char *str);
40
47char *string_escape_condor( const char *str);
48
57int string_escape_chars( const char *s, char *t, const char *specials, int length );
58
59
60void string_chomp(char *str);
61int whole_string_match_regex(const char *text, const char *pattern);
62int string_match_regex(const char *text, const char *pattern);
63int string_match(const char *pattern, const char *text);
64char *string_front(const char *str, int max);
65const char *string_back(const char *str, int max);
66char *string_metric(double value, int power_needed, char *buffer);
67int64_t string_metric_parse(const char *str);
68time_t string_time_parse(const char *str);
69int string_split(char *str, int *argc, char ***argv);
70int string_split_quotes(char *str, int *argc, char ***argv);
71char *string_pad_right(char *str, unsigned int length);
72char *string_pad_left(char *str, int length);
73void string_cookie(char *str, int length);
74char *string_subst(char *value, string_subst_lookup_t lookup, void *arg);
75int string_prefix_is(const char *string, const char *prefix);
76int string_suffix_is(const char *string, const char *suffix);
77
84char *string_combine(char *first, const char *second);
85char *string_combine_multi(char *first, ...);
86char *string_signal(int sig);
87void string_tolower(char *str);
88void string_toupper(char *str);
89int string_isspace(const char *str);
90int string_is_integer(const char *str, long long *integer_value );
91int string_is_float(const char *str, double *double_value );
92void string_replace_backslash_codes(const char *instr, char *outstr);
93
104char *string_replace_percents( const char *str, const char *replace );
105int string_equal(const char *str1, const char *str2);
106
107int strpos(const char *str, char c);
108int strrpos(const char *str, char c);
109int getDateString(char *str);
110int string_null_or_empty(const char *str);
111
117char *string_format (const char *fmt, ...)
118__attribute__ (( format(printf,1,2) ));
119
127int string_nformat(char *str, const size_t max, const char *fmt, ...);
128
129char *string_trim(char *s, int(func)(int));
130char *string_trim_spaces(char *s);
131char *string_trim_quotes(char *s);
132
138int string_istrue(const char *str);
139
155char * string_wrap_command( const char *command, const char *wrapper_command );
156
157
158#ifndef CCTOOLS_OPSYS_LINUX
159char *strsep(char **stringp, const char *delim);
160#endif
161
162char *strnchr (const char *s, int c);
163
164#endif
Definition buffer.h:26