]> Kevux Git Server - fll/commitdiff
Bugfix: incorrect invalid parameter check for file write for used to size comparison
authorKevin Day <thekevinday@gmail.com>
Sat, 13 Jun 2020 21:37:55 +0000 (16:37 -0500)
committerKevin Day <thekevinday@gmail.com>
Sat, 13 Jun 2020 21:37:55 +0000 (16:37 -0500)
The used may equal size, do not trigger an error.
Change un-reallocated dynamic strings to static strings.

level_0/f_file/c/file.c
level_0/f_file/c/file.h
level_1/fl_utf_file/c/utf_file.c
level_1/fl_utf_file/c/utf_file.h

index 837beede512cd1b0e342fb9455bccf9d471c37e8..406efaf0887262b3b884501f6af1b98deb9393b7 100644 (file)
@@ -1079,10 +1079,10 @@ extern "C" {
 #endif // _di_f_file_touch_at_
 
 #ifndef _di_f_file_write_
-  f_return_status f_file_write(const f_file file, const f_string_dynamic buffer, f_string_length *written) {
+  f_return_status f_file_write(const f_file file, const f_string_static buffer, f_string_length *written) {
     #ifndef _di_level_0_parameter_checking_
       if (file.size_write == 0) return F_status_set_error(F_parameter);
-      if (buffer.used >= buffer.size) return F_status_set_error(F_parameter);
+      if (buffer.used > buffer.size) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
     if (file.id < 0) return F_status_set_error(F_file);
@@ -1115,10 +1115,10 @@ extern "C" {
 #endif // _di_f_file_write_
 
 #ifndef _di_f_file_write_block_
-  f_return_status f_file_write_block(const f_file file, const f_string_dynamic buffer, f_string_length *written) {
+  f_return_status f_file_write_block(const f_file file, const f_string_static buffer, f_string_length *written) {
     #ifndef _di_level_0_parameter_checking_
       if (file.size_write == 0) return F_status_set_error(F_parameter);
-      if (buffer.used >= buffer.size) return F_status_set_error(F_parameter);
+      if (buffer.used > buffer.size) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
     if (file.id < 0) return F_status_set_error(F_file);
@@ -1161,10 +1161,10 @@ extern "C" {
 #endif // _di_f_file_write_block_
 
 #ifndef _di_f_file_write_until_
-  f_return_status f_file_write_until(const f_file file, const f_string_dynamic buffer, const f_string_length total, f_string_length *written) {
+  f_return_status f_file_write_until(const f_file file, const f_string_static buffer, const f_string_length total, f_string_length *written) {
     #ifndef _di_level_0_parameter_checking_
       if (file.size_write == 0) return F_status_set_error(F_parameter);
-      if (buffer.used >= buffer.size) return F_status_set_error(F_parameter);
+      if (buffer.used > buffer.size) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
     if (file.id < 0) return F_status_set_error(F_file);
@@ -1207,10 +1207,10 @@ extern "C" {
 #endif // _di_f_file_write_until_
 
 #ifndef _di_f_file_write_range_
-  f_return_status f_file_write_range(const f_file file, const f_string_dynamic buffer, const f_string_range range, f_string_length *written) {
+  f_return_status f_file_write_range(const f_file file, const f_string_static buffer, const f_string_range range, f_string_length *written) {
     #ifndef _di_level_0_parameter_checking_
       if (file.size_write == 0) return F_status_set_error(F_parameter);
-      if (buffer.used >= buffer.size) return F_status_set_error(F_parameter);
+      if (buffer.used > buffer.size) return F_status_set_error(F_parameter);
       if (range.stop < range.start) return F_status_set_error(F_parameter);
       if (range.start >= buffer.used) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
index 778d2aa31a3dd5a4894885b35444aa23004f5abf..07c9d453c1fb19a060187cbad07d297bd76d7e30 100644 (file)
@@ -1695,7 +1695,7 @@ extern "C" {
  * @see write()
  */
 #ifndef _di_f_file_write_
-  extern f_return_status f_file_write(const f_file file, const f_string_dynamic buffer, f_string_length *written);
+  extern f_return_status f_file_write(const f_file file, const f_string_static buffer, f_string_length *written);
 #endif // _di_f_file_write_
 
 /**
@@ -1811,7 +1811,7 @@ extern "C" {
  * @see write()
  */
 #ifndef _di_f_file_write_block_
-  extern f_return_status f_file_write_block(const f_file file, const f_string_dynamic buffer, f_string_length *written);
+  extern f_return_status f_file_write_block(const f_file file, const f_string_static buffer, f_string_length *written);
 #endif // _di_f_file_write_block_
 
 /**
@@ -1845,7 +1845,7 @@ extern "C" {
  * @see write()
  */
 #ifndef _di_f_file_write_until_
-  extern f_return_status f_file_write_until(const f_file file, const f_string_dynamic buffer, const f_string_length total, f_string_length *written);
+  extern f_return_status f_file_write_until(const f_file file, const f_string_static buffer, const f_string_length total, f_string_length *written);
 #endif // _di_f_file_write_until_
 
 /**
@@ -1879,7 +1879,7 @@ extern "C" {
  * @see write()
  */
 #ifndef _di_f_file_write_range_
-  extern f_return_status f_file_write_range(const f_file file, const f_string_dynamic buffer, const f_string_range range, f_string_length *written);
+  extern f_return_status f_file_write_range(const f_file file, const f_string_static buffer, const f_string_range range, f_string_length *written);
 #endif // _di_f_file_write_range_
 
 #ifdef __cplusplus
index ab84fb861674325d37e68ab2d6df8a9661351ea0..80aef4991007e33eca64f5206634ecfeff730998 100644 (file)
@@ -193,10 +193,10 @@ extern "C" {
 #endif // _di_fl_utf_file_read_until_
 
 #ifndef _di_fl_utf_file_write_
-  f_return_status fl_utf_file_write(const f_file file, const f_utf_string_dynamic buffer, f_utf_string_length *written) {
+  f_return_status fl_utf_file_write(const f_file file, const f_utf_string_static buffer, f_utf_string_length *written) {
     #ifndef _di_level_0_parameter_checking_
       if (file.size_write == 0) return F_status_set_error(F_parameter);
-      if (buffer.used >= buffer.size) return F_status_set_error(F_parameter);
+      if (buffer.used > buffer.size) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
     if (file.id < 0) return F_status_set_error(F_file);
@@ -217,10 +217,10 @@ extern "C" {
 #endif // _di_fl_utf_file_write_
 
 #ifndef _di_fl_utf_file_write_block_
-  f_return_status fl_utf_file_write_block(const f_file file, const f_utf_string_dynamic buffer, f_utf_string_length *written) {
+  f_return_status fl_utf_file_write_block(const f_file file, const f_utf_string_static buffer, f_utf_string_length *written) {
     #ifndef _di_level_0_parameter_checking_
       if (file.size_write == 0) return F_status_set_error(F_parameter);
-      if (buffer.used >= buffer.size) return F_status_set_error(F_parameter);
+      if (buffer.used > buffer.size) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
     if (file.id < 0) return F_status_set_error(F_file);
@@ -247,10 +247,10 @@ extern "C" {
 #endif // _di_fl_utf_file_write_block_
 
 #ifndef _di_fl_utf_file_write_until_
-  f_return_status fl_utf_file_write_until(const f_file file, const f_utf_string_dynamic buffer, const f_utf_string_length total, f_utf_string_length *written) {
+  f_return_status fl_utf_file_write_until(const f_file file, const f_utf_string_static buffer, const f_utf_string_length total, f_utf_string_length *written) {
     #ifndef _di_level_0_parameter_checking_
       if (file.size_write == 0) return F_status_set_error(F_parameter);
-      if (buffer.used >= buffer.size) return F_status_set_error(F_parameter);
+      if (buffer.used > buffer.size) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
     if (file.id < 0) return F_status_set_error(F_file);
@@ -277,10 +277,10 @@ extern "C" {
 #endif // _di_fl_utf_file_write_until_
 
 #ifndef _di_fl_utf_file_write_range_
-  f_return_status fl_utf_file_write_range(const f_file file, const f_utf_string_dynamic buffer, const f_utf_string_range range, f_utf_string_length *written) {
+  f_return_status fl_utf_file_write_range(const f_file file, const f_utf_string_static buffer, const f_utf_string_range range, f_utf_string_length *written) {
     #ifndef _di_level_0_parameter_checking_
       if (file.size_write == 0) return F_status_set_error(F_parameter);
-      if (buffer.used >= buffer.size) return F_status_set_error(F_parameter);
+      if (buffer.used > buffer.size) return F_status_set_error(F_parameter);
       if (range.stop < range.start) return F_status_set_error(F_parameter);
       if (range.start >= buffer.used) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
index 91ff1da6c57ec7e0d11becc38d61a92d88b8bc64..9e47c69c22d48205ec3af6d5e5fdffa0cefd29c6 100644 (file)
@@ -153,7 +153,7 @@ extern "C" {
  * @see write()
  */
 #ifndef _di_fl_utf_file_write_
-  extern f_return_status fl_utf_file_write(const f_file file, const f_utf_string_dynamic buffer, f_utf_string_length *written);
+  extern f_return_status fl_utf_file_write(const f_file file, const f_utf_string_static buffer, f_utf_string_length *written);
 #endif // _di_fl_utf_file_write_
 
 /**
@@ -187,7 +187,7 @@ extern "C" {
  * @see write()
  */
 #ifndef _di_fl_utf_file_write_block_
-  extern f_return_status fl_utf_file_write_block(const f_file file, const f_utf_string_dynamic buffer, f_utf_string_length *written);
+  extern f_return_status fl_utf_file_write_block(const f_file file, const f_utf_string_static buffer, f_utf_string_length *written);
 #endif // _di_fl_utf_file_write_block_
 
 /**
@@ -221,7 +221,7 @@ extern "C" {
  * @see write()
  */
 #ifndef _di_fl_utf_file_write_until_
-  extern f_return_status fl_utf_file_write_until(const f_file file, const f_utf_string_dynamic buffer, const f_utf_string_length total, f_utf_string_length *written);
+  extern f_return_status fl_utf_file_write_until(const f_file file, const f_utf_string_static buffer, const f_utf_string_length total, f_utf_string_length *written);
 #endif // _di_fl_utf_file_write_until_
 
 /**
@@ -255,7 +255,7 @@ extern "C" {
  * @see write()
  */
 #ifndef _di_fl_utf_file_write_range_
-  extern f_return_status fl_utf_file_write_range(const f_file file, const f_utf_string_dynamic buffer, const f_utf_string_range range, f_utf_string_length *written);
+  extern f_return_status fl_utf_file_write_range(const f_file file, const f_utf_string_static buffer, const f_utf_string_range range, f_utf_string_length *written);
 #endif // _di_fl_utf_file_write_range_
 
 #ifdef __cplusplus