This source file includes following definitions.
- pcmk__strcase_any_of
- pcmk__add_word
- pcmk__str_empty
- pcmk__btoa
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 #ifndef PCMK__STRINGS_INTERNAL__H
  11 #define PCMK__STRINGS_INTERNAL__H
  12 
  13 #include <stdbool.h>            
  14 
  15 #include <glib.h>               
  16 
  17 
  18 
  19 #define PCMK__PARSE_INT_DEFAULT -1
  20 #define PCMK__PARSE_DBL_DEFAULT -1.0
  21 
  22 
  23 
  24 enum pcmk__str_flags {
  25     pcmk__str_none          = 0,
  26     pcmk__str_casei         = 1 << 0,
  27     pcmk__str_null_matches  = 1 << 1,
  28     pcmk__str_regex         = 1 << 2
  29 };
  30 
  31 int pcmk__scan_double(const char *text, double *result,
  32                       const char *default_text, char **end_text);
  33 int pcmk__guint_from_hash(GHashTable *table, const char *key, guint default_val,
  34                           guint *result);
  35 bool pcmk__starts_with(const char *str, const char *prefix);
  36 bool pcmk__ends_with(const char *s, const char *match);
  37 bool pcmk__ends_with_ext(const char *s, const char *match);
  38 void pcmk__add_separated_word(char **list, size_t *len, const char *word,
  39                               const char *separator);
  40 int pcmk__compress(const char *data, unsigned int length, unsigned int max,
  41                    char **result, unsigned int *result_len);
  42 
  43 int pcmk__parse_ll_range(const char *srcstring, long long *start, long long *end);
  44 gboolean pcmk__str_in_list(GList *lst, const gchar *s);
  45 
  46 bool pcmk__strcase_any_of(const char *s, ...) G_GNUC_NULL_TERMINATED;
     
  47 bool pcmk__str_any_of(const char *s, ...) G_GNUC_NULL_TERMINATED;
  48 bool pcmk__char_in_any_str(int ch, ...) G_GNUC_NULL_TERMINATED;
  49 
  50 int pcmk__strcmp(const char *s1, const char *s2, uint32_t flags);
  51 
  52 static inline bool
  53 pcmk__str_eq(const char *s1, const char *s2, uint32_t flags)
  54 {
  55     return pcmk__strcmp(s1, s2, flags) == 0;
  56 }
  57 
  58 
  59 static inline void
  60 pcmk__add_word(char **list, size_t *len, const char *word)
     
  61 {
  62     return pcmk__add_separated_word(list, len, word, " ");
  63 }
  64 
  65 
  66 
  67 
  68 
  69 
  70 
  71 
  72 
  73 
  74 
  75 
  76 
  77 
  78 
  79 
  80 
  81 
  82 
  83 #define pcmk__plural_alt(i, s1, s2) (((i) == 1)? (s1) : (s2))
  84 
  85 
  86 #define pcmk__plural_s(i) pcmk__plural_alt(i, "", "s")
  87 
  88 static inline int
  89 pcmk__str_empty(const char *s)
     
  90 {
  91     return (s == NULL) || (s[0] == '\0');
  92 }
  93 
  94 
  95 static inline const char *
  96 pcmk__btoa(bool condition)
     
  97 {
  98     return condition? "true" : "false";
  99 }
 100 
 101 #endif