String manipulations used in libssh.
More...
|
struct ssh_string_struct * | ssh_string_new (size_t size) |
| Create a new SSH String object.
|
|
int | ssh_string_fill (struct ssh_string_struct *s, const void *data, size_t len) |
| Fill a string with given data. The string should be big enough.
|
|
struct ssh_string_struct * | ssh_string_from_char (const char *what) |
| Create a ssh string using a C string.
|
|
size_t | ssh_string_len (struct ssh_string_struct *s) |
| Return the size of a SSH string.
|
|
const char * | ssh_string_get_char (struct ssh_string_struct *s) |
| Get the string as a C null-terminated string.
|
|
char * | ssh_string_to_char (struct ssh_string_struct *s) |
| Convert a SSH string to a C null-terminated string.
|
|
void | ssh_string_free_char (char *s) |
| Deallocate a char string object.
|
|
struct ssh_string_struct * | ssh_string_copy (struct ssh_string_struct *s) |
| Copy a string, return a newly allocated string. The caller has to free the string.
|
|
void | ssh_string_burn (struct ssh_string_struct *s) |
| Destroy the data in a string so it couldn't appear in a core dump.
|
|
void * | ssh_string_data (struct ssh_string_struct *s) |
| Get the payload of the string.
|
|
void | ssh_string_free (struct ssh_string_struct *s) |
| Deallocate a SSH string object.
|
|
String manipulations used in libssh.
◆ ssh_string_burn()
void ssh_string_burn |
( |
struct ssh_string_struct * | s | ) |
|
Destroy the data in a string so it couldn't appear in a core dump.
- Parameters
-
◆ ssh_string_copy()
struct ssh_string_struct * ssh_string_copy |
( |
struct ssh_string_struct * | s | ) |
|
Copy a string, return a newly allocated string. The caller has to free the string.
- Parameters
-
- Returns
- Newly allocated copy of the string, NULL on error.
◆ ssh_string_data()
void * ssh_string_data |
( |
struct ssh_string_struct * | s | ) |
|
Get the payload of the string.
- Parameters
-
s | The string to get the data from. |
- Returns
- Return the data of the string or NULL on error.
◆ ssh_string_fill()
int ssh_string_fill |
( |
struct ssh_string_struct * | s, |
|
|
const void * | data, |
|
|
size_t | len ) |
Fill a string with given data. The string should be big enough.
- Parameters
-
s | An allocated string to fill with data. |
data | The data to fill the string with. |
len | Size of data. |
- Returns
- 0 on success, < 0 on error.
◆ ssh_string_free()
void ssh_string_free |
( |
struct ssh_string_struct * | s | ) |
|
Deallocate a SSH string object.
- Parameters
-
[in] | s | The SSH string to delete. |
◆ ssh_string_free_char()
void ssh_string_free_char |
( |
char * | s | ) |
|
Deallocate a char string object.
- Parameters
-
[in] | s | The string to delete. |
◆ ssh_string_from_char()
struct ssh_string_struct * ssh_string_from_char |
( |
const char * | what | ) |
|
Create a ssh string using a C string.
- Parameters
-
[in] | what | The source 0-terminated C string. |
- Returns
- The newly allocated string, NULL on error with errno set.
- Note
- The null byte is not copied nor counted in the output string.
◆ ssh_string_get_char()
const char * ssh_string_get_char |
( |
struct ssh_string_struct * | s | ) |
|
Get the string as a C null-terminated string.
This is only available as long as the SSH string exists.
- Parameters
-
[in] | s | The SSH string to get the C string from. |
- Returns
- The char pointer, NULL on error.
◆ ssh_string_len()
size_t ssh_string_len |
( |
struct ssh_string_struct * | s | ) |
|
Return the size of a SSH string.
- Parameters
-
[in] | s | The input SSH string. |
- Returns
- The size of the content of the string, 0 on error.
◆ ssh_string_new()
struct ssh_string_struct * ssh_string_new |
( |
size_t | size | ) |
|
Create a new SSH String object.
- Parameters
-
[in] | size | The size of the string. |
- Returns
- The newly allocated string, NULL on error.
◆ ssh_string_to_char()
char * ssh_string_to_char |
( |
struct ssh_string_struct * | s | ) |
|
Convert a SSH string to a C null-terminated string.
- Parameters
-
[in] | s | The SSH input string. |
- Returns
- An allocated string pointer, NULL on error with errno set.
- Note
- If the input SSH string contains zeroes, some parts of the output string may not be readable with regular libc functions.