|
@@ -838,16 +838,19 @@ _loop_end:
|
|
|
struct str
|
|
struct str
|
|
|
str_from_cstr(const char *cstr, u64 cstr_size, enum err *out_err)
|
|
str_from_cstr(const char *cstr, u64 cstr_size, enum err *out_err)
|
|
|
{
|
|
{
|
|
|
|
|
+ struct str empty = {0};
|
|
|
struct str str = {0};
|
|
struct str str = {0};
|
|
|
|
|
|
|
|
|
|
+ LIB_ARG_IF_NOT_NULL_MUST_BE(out_err, ERR_OK, empty);
|
|
|
|
|
+
|
|
|
if ( cstr == NULL ) {
|
|
if ( cstr == NULL ) {
|
|
|
- _SET_IF_NOT_NULL(out_err, ERR_NULL_ARG);
|
|
|
|
|
- return str;
|
|
|
|
|
|
|
+ LIB_SET_IF_NOT_NULL(out_err, ERR_NULL_ARG);
|
|
|
|
|
+ return empty;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if ( cstr_size >= STR_SIZE_LIMIT ) {
|
|
if ( cstr_size >= STR_SIZE_LIMIT ) {
|
|
|
- _SET_IF_NOT_NULL(out_err, ERR_TOO_BIG);
|
|
|
|
|
- return str;
|
|
|
|
|
|
|
+ LIB_SET_IF_NOT_NULL(out_err, ERR_TOO_BIG);
|
|
|
|
|
+ return empty;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
str.data = cstr;
|
|
str.data = cstr;
|