Rev 16 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 16 | Rev 38 | ||
---|---|---|---|
Line 19... | Line 19... | ||
19 | size_t size; // buffer size in bytes (i.e byte length of data) |
19 | size_t size; // buffer size in bytes (i.e byte length of data) |
20 | } buffer_t; |
20 | } buffer_t; |
21 | 21 | ||
22 | 22 | ||
23 | // function prototypes |
23 | // function prototypes |
24 | #define Buffer_Initialize(buffer) (memset ((buffer), 0, sizeof (buffer_t)) |
24 | #define Buffer_Initialize(buffer) (memset ((buffer), 0, sizeof (buffer_t)) != NULL) |
25 | #define Buffer_InitWithSize(buffer,size) (Buffer_Initialize ((buffer)) |
25 | #define Buffer_InitWithSize(buffer,size) (Buffer_Initialize ((buffer)) && Buffer_Append ((buffer), NULL, (size))) |
26 | #define Buffer_InitWithCString(buffer,data_string) (Buffer_Initialize ((buffer)) |
26 | #define Buffer_InitWithCString(buffer,data_string) (Buffer_Initialize ((buffer)) && Buffer_Append ((buffer), (data_string), strlen ((data_string)))) |
27 | #define Buffer_InitWithFormattedCString(buffer,fmt_string,...) (Buffer_Initialize ((buffer)) |
27 | #define Buffer_InitWithFormattedCString(buffer,fmt_string,...) (Buffer_Initialize ((buffer)) && Buffer_AppendFormattedCString ((buffer), (fmt_string), __VA_ARGS__)) |
28 | #define Buffer_InitWithByteArray(buffer,data_array) (Buffer_Initialize ((buffer)) |
28 | #define Buffer_InitWithByteArray(buffer,data_array) (Buffer_Initialize ((buffer)) && Buffer_Append ((buffer), (data_array), sizeof ((data_array)) - 1)) // WARNING: DO NOT USE WITH TERNARY OPERATORS! |
29 | #define Buffer_InitWithData(buffer,data,data_size) (Buffer_Initialize ((buffer)) |
29 | #define Buffer_InitWithData(buffer,data,data_size) (Buffer_Initialize ((buffer)) && Buffer_Append ((buffer), (data), (data_size))) |
30 | #define Buffer_InitWithBuffer(buffer,data_buffer) (Buffer_Initialize ((buffer)) |
30 | #define Buffer_InitWithBuffer(buffer,data_buffer) (Buffer_Initialize ((buffer)) && Buffer_Append ((buffer), (data_buffer)->bytes, (data_buffer)->size)) |
31 | void Buffer_Forget (buffer_t *buffer); |
31 | void Buffer_Forget (buffer_t *buffer); |
32 | int Buffer_Reset (buffer_t *buffer); |
32 | int Buffer_Reset (buffer_t *buffer); |
33 | #define Buffer_ResetWithData(buffer,data,data_size) (Buffer_Reset ((buffer)) |
33 | #define Buffer_ResetWithData(buffer,data,data_size) (Buffer_Reset ((buffer)) && Buffer_Append ((buffer), (data), (data_size))) |
34 | #define Buffer_ResetWithCString(buffer,data_string) (Buffer_Reset ((buffer)) |
34 | #define Buffer_ResetWithCString(buffer,data_string) (Buffer_Reset ((buffer)) && Buffer_Append ((buffer), (data_string), strlen ((data_string)))) |
35 | #define Buffer_ResetWithFormattedCString(buffer,fmt_string,...) (Buffer_Reset ((buffer)) |
35 | #define Buffer_ResetWithFormattedCString(buffer,fmt_string,...) (Buffer_Reset ((buffer)) && Buffer_AppendFormattedCString ((buffer), (fmt_string), __VA_ARGS__)) |
36 | #define Buffer_ResetWithByteArray(buffer,data_array) (Buffer_Reset ((buffer)) |
36 | #define Buffer_ResetWithByteArray(buffer,data_array) (Buffer_Reset ((buffer)) && Buffer_Append ((buffer), (data_array), sizeof ((data_array)) - 1)) // WARNING: DO NOT USE WITH TERNARY OPERATORS! |
37 | #define Buffer_ResetWithBuffer(buffer,data_buffer) (Buffer_Reset ((buffer)) |
37 | #define Buffer_ResetWithBuffer(buffer,data_buffer) (Buffer_Reset ((buffer)) && Buffer_Append ((buffer), (data_buffer)->bytes, (data_buffer)->size)) |
38 | int Buffer_Append (buffer_t *buffer, const void *data, const size_t data_size); |
38 | int Buffer_Append (buffer_t *buffer, const void *data, const size_t data_size); |
39 | #define Buffer_AppendCString(buffer,data_string) Buffer_Append ((buffer), (data_string), strlen ((data_string))) |
39 | #define Buffer_AppendCString(buffer,data_string) Buffer_Append ((buffer), (data_string), strlen ((data_string))) |
40 | #define Buffer_AppendByteArray(buffer,data_array) Buffer_Append ((buffer), (data_array), sizeof ((data_array)) - 1) // WARNING: DO NOT USE WITH TERNARY OPERATORS! |
40 | #define Buffer_AppendByteArray(buffer,data_array) Buffer_Append ((buffer), (data_array), sizeof ((data_array)) - 1) // WARNING: DO NOT USE WITH TERNARY OPERATORS! |
41 | #define Buffer_AppendBuffer(buffer,data_buffer) Buffer_Append ((buffer), (data_buffer)->bytes, (data_buffer)->size) |
41 | #define Buffer_AppendBuffer(buffer,data_buffer) Buffer_Append ((buffer), (data_buffer)->bytes, (data_buffer)->size) |
42 | int Buffer_AppendFormattedCString (buffer_t *buffer, const char *fmt_string, ...); |
42 | int Buffer_AppendFormattedCString (buffer_t *buffer, const char *fmt_string, ...); |