Jelajahi Sumber

Updating str_from_cstr

Vinicius Teshima 4 bulan lalu
induk
melakukan
c4023ef4fd
1 mengubah file dengan 7 tambahan dan 4 penghapusan
  1. 7 4
      src/lib.h

+ 7 - 4
src/lib.h

@@ -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;