pacemaker  3.0.0-d8340737c4
Scalable High-Availability cluster resource manager
Functions
strings.c File Reference
#include <crm_internal.h>
#include <regex.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <float.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.

Functions

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__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)
 
long long crm_get_msec (const char *input)
 Parse a time+units string and return milliseconds equivalent. More...
 
int pcmk_parse_interval_spec (const char *input, guint *result_ms)
 Parse milliseconds from a Pacemaker interval specification. More...
 
gboolean crm_is_true (const char *s)
 
int crm_str_to_boolean (const char *s, int *ret)
 
char * pcmk__trim (char *str)
 
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)
 
GHashTable * pcmk__strkey_table (GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)
 
void pcmk__insert_dup (GHashTable *table, const char *name, const char *value)
 
GHashTable * pcmk__strikey_table (GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)
 
GHashTable * pcmk__str_table_dup (GHashTable *old_table)
 
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)
 
char * crm_strdup_printf (char const *format,...)
 
int pcmk__parse_ll_range (const char *srcstring, long long *start, long long *end)
 
gboolean pcmk__str_in_list (const gchar *s, const GList *lst, uint32_t flags)
 
bool pcmk__strcase_any_of (const char *s,...)
 
bool pcmk__str_any_of (const char *s,...)
 
int pcmk__numeric_strcasecmp (const char *s1, const char *s2)
 
int pcmk__strcmp (const char *s1, const char *s2, uint32_t flags)
 
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,...)
 

Function Documentation

◆ crm_get_msec()

long long crm_get_msec ( const char *  input)

Parse a time+units string and return milliseconds equivalent.

Parameters
[in]inputString with a nonnegative number and optional unit (optionally with whitespace before and/or after the number). If missing, the unit defaults to seconds.
Returns
Milliseconds corresponding to string expression, or PCMK__PARSE_INT_DEFAULT on error

Definition at line 351 of file strings.c.

◆ crm_is_true()

gboolean crm_is_true ( const char *  s)

Definition at line 490 of file strings.c.

◆ crm_str_to_boolean()

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

Definition at line 498 of file strings.c.

◆ crm_strdup_printf()

char* crm_strdup_printf ( char const *  format,
  ... 
)

Definition at line 891 of file strings.c.

◆ pcmk__add_separated_word()

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

Definition at line 796 of file strings.c.

◆ pcmk__compress()

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

Definition at line 839 of file strings.c.

◆ pcmk__ends_with()

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

Definition at line 610 of file strings.c.

◆ pcmk__ends_with_ext()

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

Definition at line 637 of file strings.c.

◆ pcmk__g_strcat()

void pcmk__g_strcat ( GString *  buffer,
  ... 
)

Definition at line 1297 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 303 of file strings.c.

◆ pcmk__insert_dup()

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

Definition at line 703 of file strings.c.

◆ pcmk__numeric_strcasecmp()

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

Definition at line 1079 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 905 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 191 of file strings.c.

◆ pcmk__scan_ll()

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

Definition at line 92 of file strings.c.

◆ pcmk__scan_min_int()

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

Definition at line 116 of file strings.c.

◆ pcmk__scan_port()

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

Definition at line 150 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 558 of file strings.c.

◆ pcmk__str_any_of()

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

Definition at line 1051 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 1249 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 982 of file strings.c.

◆ pcmk__str_table_dup()

GHashTable* pcmk__str_table_dup ( GHashTable *  old_table)

Definition at line 768 of file strings.c.

◆ pcmk__str_update()

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

Definition at line 1278 of file strings.c.

◆ pcmk__strcase_any_of()

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

Definition at line 1027 of file strings.c.

◆ pcmk__strcmp()

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

Definition at line 1164 of file strings.c.

◆ pcmk__strikey_table()

GHashTable* pcmk__strikey_table ( GDestroyNotify  key_destroy_func,
GDestroyNotify  value_destroy_func 
)

Definition at line 741 of file strings.c.

◆ pcmk__strkey_table()

GHashTable* pcmk__strkey_table ( GDestroyNotify  key_destroy_func,
GDestroyNotify  value_destroy_func 
)

Definition at line 685 of file strings.c.

◆ pcmk__trim()

char* pcmk__trim ( char *  str)

Definition at line 530 of file strings.c.

◆ pcmk_parse_interval_spec()

int pcmk_parse_interval_spec ( const char *  input,
guint *  result_ms 
)

Parse milliseconds from a Pacemaker interval specification.

Parameters
[in]inputPacemaker time interval specification (a bare number of seconds; a number with a unit, optionally with whitespace before and/or after the number; or an ISO 8601 duration)
[out]result_msWhere to store milliseconds equivalent of input on success (limited to the range of an unsigned integer), or 0 if input is NULL or invalid
Returns
Standard Pacemaker return code (specifically, pcmk_rc_ok if input is valid or NULL, and EINVAL otherwise)

Definition at line 452 of file strings.c.