stringtools.h

00001 /*
00002 Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
00003 Copyright (C) 2005- The University of Notre Dame
00004 This software is distributed under the GNU General Public License.
00005 See the file COPYING for details.
00006 */
00007 
00008 #ifndef STRINGTOOLS_H
00009 #define STRINGTOOLS_H
00010 
00011 #include <stdint.h>
00012 #include <stdlib.h>
00013 #include <time.h>
00014 #include <stdarg.h>
00015 
00016 typedef char *(*string_subst_lookup_t) (const char *name, void *arg);
00017 
00021 int string_compare(const void *p1, const void *p2);
00022 
00030 char *string_escape_shell (const char *str);
00031 
00039 char *string_quote_shell (const char *str);
00040 
00047 char *string_escape_condor( const char *str);
00048 void string_chomp(char *str);
00049 int whole_string_match_regex(const char *text, const char *pattern);
00050 int string_match_regex(const char *text, const char *pattern);
00051 int string_match(const char *pattern, const char *text);
00052 char *string_front(const char *str, int max);
00053 const char *string_back(const char *str, int max);
00054 char *string_metric(double value, int power_needed, char *buffer);
00055 int64_t string_metric_parse(const char *str);
00056 time_t string_time_parse(const char *str);
00057 int string_split(char *str, int *argc, char ***argv);
00058 int string_split_quotes(char *str, int *argc, char ***argv);
00059 char *string_pad_right(char *str, unsigned int length);
00060 char *string_pad_left(char *str, int length);
00061 void string_cookie(char *str, int length);
00062 char *string_subst(char *value, string_subst_lookup_t lookup, void *arg);
00063 int string_prefix_is(const char *string, const char *prefix);
00064 int string_suffix_is(const char *string, const char *suffix);
00065 
00072 char *string_combine(char *first, const char *second);
00073 char *string_combine_multi(char *first, ...);
00074 char *string_signal(int sig);
00075 void string_tolower(char *str);
00076 void string_toupper(char *str);
00077 int string_isspace(const char *str);
00078 int string_is_integer(const char *str, long long *integer_value );
00079 int string_is_float(const char *str, double *double_value );
00080 void string_replace_backslash_codes(const char *instr, char *outstr);
00081 
00092 char *string_replace_percents( const char *str, const char *replace );
00093 int string_equal(const char *str1, const char *str2);
00094 
00095 int strpos(const char *str, char c);
00096 int strrpos(const char *str, char c);
00097 int getDateString(char *str);
00098 int string_null_or_empty(const char *str);
00099 
00105 char *string_format (const char *fmt, ...)
00106 __attribute__ (( format(printf,1,2) ));
00107 
00115 int string_nformat(char *str, const size_t max, const char *fmt, ...);
00116 
00117 char *string_trim(char *s, int(func)(int));
00118 char *string_trim_spaces(char *s);
00119 char *string_trim_quotes(char *s);
00120 
00126 int string_istrue(const char *str);
00127 
00143 char * string_wrap_command( const char *command, const char *wrapper_command );
00144 
00145 
00146 #ifndef CCTOOLS_OPSYS_LINUX
00147 char *strsep(char **stringp, const char *delim);
00148 #endif
00149 
00150 char *strnchr (const char *s, int c);
00151 
00152 #endif

Generated on 17 Sep 2019 for cctools by  doxygen 1.6.1