DBusString implementation details
D-Bus secret internal implementation details

DBusString implementation details. More...

## Macros

#define | _DBUS_STRING_MAX_LENGTH (_DBUS_INT32_MAX - _DBUS_STRING_ALLOCATION_PADDING)
| The maximum length of a DBusString.
#define | DBUS_GENERIC_STRING_PREAMBLE(real)
| Checks a bunch of assertions about a string object. More...
#define | DBUS_STRING_PREAMBLE(str)
| Checks assertions about a string object that needs to be modifiable - may not be locked or const. More...
#define | DBUS_LOCKED_STRING_PREAMBLE(str)
| Checks assertions about a string object that may be locked but can't be const. More...
#define | DBUS_CONST_STRING_PREAMBLE(str)
| Checks assertions about a string that may be const or locked. More...
#define | DBUS_IS_ASCII_BLANK(c) ((c) == ' ' || (c) == '\t')
| Checks for ASCII blank byte. More...
#define | DBUS_IS_ASCII_WHITE(c) ((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) == '\r')
| Checks for ASCII whitespace byte. More...

## Detailed Description

DBusString implementation details.

The guts of DBusString.

## Macro Definition Documentation

#define DBUS_CONST_STRING_PREAMBLE | ( |  | str) |  |

Value:
const DBusRealString *real = (DBusRealString*) str; \
DBUS_GENERIC_STRING_PREAMBLE (real)

Checks assertions about a string that may be const or locked.

Also declares the "real" variable pointing to DBusRealString.

Parameters

  str | the string.

Definition at line 114 of file dbus-string-private.h.

Referenced by _dbus_string_copy_data(), _dbus_string_copy_to_buffer(), _dbus_string_copy_to_buffer_with_nul(), _dbus_string_find_blank(), _dbus_string_find_byte_backward(), _dbus_string_find_eol(), _dbus_string_find_to(), _dbus_string_get_byte(), _dbus_string_get_const_data(), _dbus_string_get_const_data_len(), _dbus_string_get_length(), _dbus_string_skip_blank(), _dbus_string_skip_white(), _dbus_string_skip_white_reverse(), _dbus_string_validate_ascii(), _dbus_string_validate_nul(), and _dbus_string_validate_utf8().

#define DBUS_GENERIC_STRING_PREAMBLE | ( |  | real) |  |

Value:
do { \
(void) real; /* might be unused unless asserting */ \
_dbus_assert ((real) != NULL); \
_dbus_assert (!(real)->invalid); \
_dbus_assert ((real)->len >= 0); \
_dbus_assert ((real)->allocated >= 0); \
_dbus_assert ((real)->len <= ((real)->allocated - _DBUS_STRING_ALLOCATION_PADDING)); \
_dbus_assert ((real)->len <= _DBUS_STRING_MAX_LENGTH); \
} while (0)

Checks a bunch of assertions about a string object.

Parameters

  real | the DBusRealString

Definition at line 76 of file dbus-string-private.h.

Referenced by _dbus_string_ends_with_c_str(), _dbus_string_equal(), _dbus_string_equal_c_str(), _dbus_string_equal_len(), _dbus_string_equal_substring(), _dbus_string_free(), and _dbus_string_starts_with_c_str().

#define DBUS_IS_ASCII_BLANK | ( |  | c) |  | ((c) == ' ' || (c) == '\t')

Checks for ASCII blank byte.

Parameters

  c | the byte

Definition at line 121 of file dbus-string-private.h.

Referenced by _dbus_string_skip_blank().

#define DBUS_IS_ASCII_WHITE | ( |  | c) |  | ((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) == '\r')

Checks for ASCII whitespace byte.

Parameters

  c | the byte

Definition at line 127 of file dbus-string-private.h.

Referenced by _dbus_string_skip_blank(), _dbus_string_skip_white(), and _dbus_string_skip_white_reverse().

#define DBUS_LOCKED_STRING_PREAMBLE | ( |  | str) |  |

Value:
DBusRealString *real = (DBusRealString*) str; \
DBUS_GENERIC_STRING_PREAMBLE (real); \
_dbus_assert (!(real)->constant)

Checks assertions about a string object that may be locked but can't be const.

i.e. a string object that we can free. Also declares the "real" variable pointing to DBusRealString.

Parameters

  str | the string

Definition at line 105 of file dbus-string-private.h.

#define DBUS_STRING_PREAMBLE | ( |  | str) |  |

Value:
DBusRealString *real = (DBusRealString*) str; \
DBUS_GENERIC_STRING_PREAMBLE (real); \
_dbus_assert (!(real)->constant); \
_dbus_assert (!(real)->locked)

Checks assertions about a string object that needs to be modifiable - may not be locked or const.

Also declares the "real" variable pointing to DBusRealString.

Parameters

  str | the string

Definition at line 93 of file dbus-string-private.h.

Referenced by _dbus_string_append(), _dbus_string_append_byte(), _dbus_string_append_len(), _dbus_string_append_printf_valist(), _dbus_string_compact(), _dbus_string_delete(), _dbus_string_get_data(), _dbus_string_get_data_len(), _dbus_string_insert_2_aligned(), _dbus_string_insert_4_aligned(), _dbus_string_insert_8_aligned(), _dbus_string_insert_alignment(), _dbus_string_insert_byte(), _dbus_string_insert_bytes(), _dbus_string_lengthen(), _dbus_string_set_byte(), _dbus_string_set_length(), _dbus_string_shorten(), _dbus_string_steal_data(), _dbus_string_tolower_ascii(), _dbus_string_toupper_ascii(), and _dbus_string_zero().