pacemaker  2.1.9-49aab99839
Scalable High-Availability cluster resource manager
Macros | Enumerations | Functions
strings_internal.h File Reference
#include <stdbool.h>
#include <glib.h>
Include dependency graph for strings_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PCMK__PARSE_INT_DEFAULT   -1
 
#define PCMK__PARSE_DBL_DEFAULT   -1.0
 
#define pcmk__str_copy(str)   pcmk__str_copy_as(__FILE__, __func__, __LINE__, str)
 
#define pcmk__plural_alt(i, s1, s2)   (((i) == 1)? (s1) : (s2))
 
#define pcmk__plural_s(i)   pcmk__plural_alt(i, "", "s")
 

Enumerations

enum  pcmk__str_flags {
  pcmk__str_none = 0, pcmk__str_casei = 1 << 0, pcmk__str_null_matches = 1 << 1, pcmk__str_regex = 1 << 2,
  pcmk__str_star_matches = 1 << 3
}
 

Functions

int pcmk__scan_double (const char *text, double *result, const char *default_text, char **end_text)
 
int pcmk__guint_from_hash (GHashTable *table, const char *key, guint default_val, guint *result)
 
bool pcmk__starts_with (const char *str, const char *prefix)
 Check whether a string starts with a certain sequence. More...
 
bool pcmk__ends_with (const char *s, const char *match)
 
bool pcmk__ends_with_ext (const char *s, const char *match)
 
char * pcmk__trim (char *str)
 
void pcmk__add_separated_word (GString **list, size_t init_size, const char *word, const char *separator)
 
int pcmk__compress (const char *data, unsigned int length, unsigned int max, char **result, unsigned int *result_len)
 
int pcmk__scan_ll (const char *text, long long *result, long long default_value)
 
int pcmk__scan_min_int (const char *text, int *result, int minimum)
 
int pcmk__scan_port (const char *text, int *port)
 
int pcmk__parse_ll_range (const char *srcstring, long long *start, long long *end)
 
GHashTable * pcmk__strkey_table (GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)
 
GHashTable * pcmk__strikey_table (GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)
 
GHashTable * pcmk__str_table_dup (GHashTable *old_table)
 
void pcmk__insert_dup (GHashTable *table, const char *name, const char *value)
 
gboolean pcmk__str_in_list (const gchar *s, const GList *lst, uint32_t flags)
 
bool pcmk__strcase_any_of (const char *s,...) G_GNUC_NULL_TERMINATED
 
bool pcmk__str_any_of (const char *s,...) G_GNUC_NULL_TERMINATED
 
bool pcmk__char_in_any_str (int ch,...) G_GNUC_NULL_TERMINATED
 
int pcmk__strcmp (const char *s1, const char *s2, uint32_t flags)
 
int pcmk__numeric_strcasecmp (const char *s1, const char *s2)
 
char * pcmk__str_copy_as (const char *file, const char *function, uint32_t line, const char *str)
 
void pcmk__str_update (char **str, const char *value)
 
void pcmk__g_strcat (GString *buffer,...) G_GNUC_NULL_TERMINATED
 

Macro Definition Documentation

◆ PCMK__PARSE_DBL_DEFAULT

#define PCMK__PARSE_DBL_DEFAULT   -1.0

Definition at line 20 of file strings_internal.h.

◆ PCMK__PARSE_INT_DEFAULT

#define PCMK__PARSE_INT_DEFAULT   -1

Definition at line 19 of file strings_internal.h.

◆ pcmk__plural_alt

#define pcmk__plural_alt (   i,
  s1,
  s2 
)    (((i) == 1)? (s1) : (s2))

Definition at line 196 of file strings_internal.h.

◆ pcmk__plural_s

#define pcmk__plural_s (   i)    pcmk__plural_alt(i, "", "s")

Definition at line 199 of file strings_internal.h.

◆ pcmk__str_copy

#define pcmk__str_copy (   str)    pcmk__str_copy_as(__FILE__, __func__, __LINE__, str)

Definition at line 159 of file strings_internal.h.

Enumeration Type Documentation

◆ pcmk__str_flags

Enumerator
pcmk__str_none 
pcmk__str_casei 
pcmk__str_null_matches 
pcmk__str_regex 
pcmk__str_star_matches 

Definition at line 24 of file strings_internal.h.

Function Documentation

◆ pcmk__add_separated_word()

void pcmk__add_separated_word ( GString **  list,
size_t  init_size,
const char *  word,
const char *  separator 
)

Definition at line 806 of file strings.c.

◆ pcmk__char_in_any_str()

bool pcmk__char_in_any_str ( int  ch,
  ... 
)

◆ pcmk__compress()

int pcmk__compress ( const char *  data,
unsigned int  length,
unsigned int  max,
char **  result,
unsigned int *  result_len 
)

Definition at line 849 of file strings.c.

◆ pcmk__ends_with()

bool pcmk__ends_with ( const char *  s,
const char *  match 
)

Definition at line 620 of file strings.c.

◆ pcmk__ends_with_ext()

bool pcmk__ends_with_ext ( const char *  s,
const char *  match 
)

Definition at line 647 of file strings.c.

◆ pcmk__g_strcat()

void pcmk__g_strcat ( GString *  buffer,
  ... 
)

Definition at line 1308 of file strings.c.

◆ pcmk__guint_from_hash()

int pcmk__guint_from_hash ( GHashTable *  table,
const char *  key,
guint  default_val,
guint *  result 
)

Definition at line 313 of file strings.c.

◆ pcmk__insert_dup()

void pcmk__insert_dup ( GHashTable *  table,
const char *  name,
const char *  value 
)

Definition at line 713 of file strings.c.

◆ pcmk__numeric_strcasecmp()

int pcmk__numeric_strcasecmp ( const char *  s1,
const char *  s2 
)

Definition at line 1090 of file strings.c.

◆ pcmk__parse_ll_range()

int pcmk__parse_ll_range ( const char *  srcstring,
long long *  start,
long long *  end 
)

Definition at line 915 of file strings.c.

◆ pcmk__scan_double()

int pcmk__scan_double ( const char *  text,
double *  result,
const char *  default_text,
char **  end_text 
)

Definition at line 201 of file strings.c.

◆ pcmk__scan_ll()

int pcmk__scan_ll ( const char *  text,
long long *  result,
long long  default_value 
)

Definition at line 96 of file strings.c.

◆ pcmk__scan_min_int()

int pcmk__scan_min_int ( const char *  text,
int *  result,
int  minimum 
)

Definition at line 126 of file strings.c.

◆ pcmk__scan_port()

int pcmk__scan_port ( const char *  text,
int *  port 
)

Definition at line 160 of file strings.c.

◆ pcmk__starts_with()

bool pcmk__starts_with ( const char *  str,
const char *  prefix 
)

Check whether a string starts with a certain sequence.

Parameters
[in]strString to check
[in]prefixSequence to match against beginning of str
Returns
true if str begins with match, false otherwise
Note
This is equivalent to !strncmp(s, prefix, strlen(prefix)) but is likely less efficient when prefix is a string literal if the compiler optimizes away the strlen() at compile time, and more efficient otherwise.

Definition at line 568 of file strings.c.

◆ pcmk__str_any_of()

bool pcmk__str_any_of ( const char *  s,
  ... 
)

Definition at line 1062 of file strings.c.

◆ pcmk__str_copy_as()

char* pcmk__str_copy_as ( const char *  file,
const char *  function,
uint32_t  line,
const char *  str 
)

Definition at line 1260 of file strings.c.

◆ pcmk__str_in_list()

gboolean pcmk__str_in_list ( const gchar *  s,
const GList *  lst,
uint32_t  flags 
)

Definition at line 993 of file strings.c.

◆ pcmk__str_table_dup()

GHashTable* pcmk__str_table_dup ( GHashTable *  old_table)

Definition at line 778 of file strings.c.

◆ pcmk__str_update()

void pcmk__str_update ( char **  str,
const char *  value 
)

Definition at line 1289 of file strings.c.

◆ pcmk__strcase_any_of()

bool pcmk__strcase_any_of ( const char *  s,
  ... 
)

Definition at line 1038 of file strings.c.

◆ pcmk__strcmp()

int pcmk__strcmp ( const char *  s1,
const char *  s2,
uint32_t  flags 
)

Definition at line 1175 of file strings.c.

◆ pcmk__strikey_table()

GHashTable* pcmk__strikey_table ( GDestroyNotify  key_destroy_func,
GDestroyNotify  value_destroy_func 
)

Definition at line 751 of file strings.c.

◆ pcmk__strkey_table()

GHashTable* pcmk__strkey_table ( GDestroyNotify  key_destroy_func,
GDestroyNotify  value_destroy_func 
)

Definition at line 695 of file strings.c.

◆ pcmk__trim()

char* pcmk__trim ( char *  str)

Definition at line 540 of file strings.c.