pacemaker  1.1.24-3850484742
Scalable High-Availability cluster resource manager
Macros | Functions
strings.c File Reference
#include <crm_internal.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <limits.h>
#include <bzlib.h>
#include <sys/types.h>
Include dependency graph for strings.c:

Go to the source code of this file.

Macros

#define _GNU_SOURCE
 

Functions

char * crm_concat (const char *prefix, const char *suffix, char join)
 
char * crm_itoa_stack (int an_int, char *buffer, size_t len)
 
char * crm_itoa (int an_int)
 
void g_hash_destroy_str (gpointer data)
 
long long crm_int_helper (const char *text, char **end_text)
 
long long crm_parse_ll (const char *text, const char *default_text)
 Parse a long long integer value from a string. More...
 
int crm_parse_int (const char *text, const char *default_text)
 Parse an integer value from a string. More...
 
gboolean safe_str_neq (const char *a, const char *b)
 
gboolean crm_is_true (const char *s)
 
int crm_str_to_boolean (const char *s, int *ret)
 
char * crm_strip_trailing_newline (char *str)
 
gboolean crm_str_eq (const char *a, const char *b, gboolean use_case)
 
bool crm_starts_with (const char *str, const char *prefix)
 Check whether a string starts with a certain sequence. More...
 
gboolean crm_ends_with (const char *s, const char *match)
 
gboolean crm_ends_with_ext (const char *s, const char *match)
 
guint g_str_hash_traditional (gconstpointer v)
 
guint crm_strcase_hash (gconstpointer v)
 
GHashTable * crm_str_table_dup (GHashTable *old_table)
 
char * add_list_element (char *list, const char *value)
 
bool crm_compress_string (const char *data, int length, int max, char **result, unsigned int *result_len)
 
gint crm_alpha_sort (gconstpointer a, gconstpointer b)
 Compare two strings alphabetically (case-insensitive) More...
 

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

Definition at line 22 of file strings.c.

Function Documentation

◆ add_list_element()

char* add_list_element ( char *  list,
const char *  value 
)

Definition at line 426 of file strings.c.

◆ crm_alpha_sort()

gint crm_alpha_sort ( gconstpointer  a,
gconstpointer  b 
)

Compare two strings alphabetically (case-insensitive)

Parameters
[in]aFirst string to compare
[in]bSecond string to compare
Returns
0 if strings are equal, -1 if a < b, 1 if a > b
Note
Usable as a GCompareFunc with g_list_sort(). NULL is considered less than non-NULL.

Definition at line 504 of file strings.c.

◆ crm_compress_string()

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

Definition at line 445 of file strings.c.

◆ crm_concat()

char* crm_concat ( const char *  prefix,
const char *  suffix,
char  join 
)

Definition at line 33 of file strings.c.

◆ crm_ends_with()

gboolean crm_ends_with ( const char *  s,
const char *  match 
)

Definition at line 334 of file strings.c.

◆ crm_ends_with_ext()

gboolean crm_ends_with_ext ( const char *  s,
const char *  match 
)

Definition at line 363 of file strings.c.

◆ crm_int_helper()

long long crm_int_helper ( const char *  text,
char **  end_text 
)

Definition at line 81 of file strings.c.

◆ crm_is_true()

gboolean crm_is_true ( const char *  s)

Definition at line 197 of file strings.c.

◆ crm_itoa()

char* crm_itoa ( int  an_int)

Definition at line 61 of file strings.c.

◆ crm_itoa_stack()

char* crm_itoa_stack ( int  an_int,
char *  buffer,
size_t  len 
)

Definition at line 51 of file strings.c.

◆ crm_parse_int()

int crm_parse_int ( const char *  text,
const char *  default_text 
)

Parse an integer value from a string.

Parameters
[in]textThe string to parse
[in]default_textDefault string to parse if text is NULL
Returns
Parsed value on success, INT_MIN or INT_MAX (and set errno to ERANGE) if parsed value is out of integer range, otherwise -1 (and set errno)

Definition at line 157 of file strings.c.

◆ crm_parse_ll()

long long crm_parse_ll ( const char *  text,
const char *  default_text 
)

Parse a long long integer value from a string.

Parameters
[in]textThe string to parse
[in]default_textDefault string to parse if text is NULL
Returns
Parsed value on success, -1 (and set errno) on error

Definition at line 134 of file strings.c.

◆ crm_starts_with()

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

Check whether a string starts with a certain sequence.

Parameters
[in]strString to check
[in]matchSequence 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 284 of file strings.c.

◆ crm_str_eq()

gboolean crm_str_eq ( const char *  a,
const char *  b,
gboolean  use_case 
)

Definition at line 245 of file strings.c.

◆ crm_str_table_dup()

GHashTable* crm_str_table_dup ( GHashTable *  old_table)

Definition at line 414 of file strings.c.

◆ crm_str_to_boolean()

int crm_str_to_boolean ( const char *  s,
int *  ret 
)

Definition at line 208 of file strings.c.

◆ crm_strcase_hash()

guint crm_strcase_hash ( gconstpointer  v)

Definition at line 394 of file strings.c.

◆ crm_strip_trailing_newline()

char* crm_strip_trailing_newline ( char *  str)

Definition at line 229 of file strings.c.

◆ g_hash_destroy_str()

void g_hash_destroy_str ( gpointer  data)

Definition at line 75 of file strings.c.

◆ g_str_hash_traditional()

guint g_str_hash_traditional ( gconstpointer  v)

Definition at line 382 of file strings.c.

◆ safe_str_neq()

gboolean safe_str_neq ( const char *  a,
const char *  b 
)

Definition at line 182 of file strings.c.