]> www.git.momoyon.org Git - commonlib.git/commitdiff
Change slurp_file to read in text_mode
authormomoyon <ahmedsamyh10@gmail.com>
Sun, 6 Apr 2025 16:13:27 +0000 (21:13 +0500)
committermomoyon <ahmedsamyh10@gmail.com>
Sun, 6 Apr 2025 16:13:27 +0000 (21:13 +0500)
commonlib.h
tests/.slurp_file.out.expected
tests/slurp_file.c

index ebef2cad06ebd7b0af99fed38430a7afc683c827..d1b219d088c44873b9a125b0d4757545de15f599 100644 (file)
@@ -335,7 +335,7 @@ bool c_os_file_exists(cstr filename) {
     goto defer\r
 \r
 const char *c_slurp_file(const char* filename, int *file_size) {\r
-    FILE* f = fopen(filename, "rb");\r
+    FILE* f = fopen(filename, "r");\r
     char* result = NULL;\r
 \r
     if (f == NULL){\r
@@ -355,8 +355,6 @@ const char *c_slurp_file(const char* filename, int *file_size) {
         defer(NULL);\r
     }\r
 \r
-    *file_size = (int)fsize;\r
-\r
     result = C_MALLOC(sizeof(char)*(fsize+1));\r
 \r
     if (result == NULL){\r
@@ -369,13 +367,12 @@ const char *c_slurp_file(const char* filename, int *file_size) {
         defer(NULL);\r
     }\r
 \r
-    if (fread((char*)result, sizeof(char), fsize, f) != fsize){\r
-        c_log_error("'%s': %s", filename, strerror(errno));\r
-        defer(NULL);\r
-    }\r
+    size_t read = fread((char*)result, sizeof(char), fsize, f);\r
+\r
+    *file_size = (int)read;\r
 \r
     // set null-terminator\r
-    result[fsize] = '\0';\r
+    result[read] = '\0';\r
 \r
  defer:\r
     if (f) fclose(f);\r
index f2d6e9799c8ff313926b65f9fac06be08b695644..2720f7a9edb87a669cd8abadd4a075580093c20b 100644 (file)
@@ -1,29 +1,15 @@
 [INFO] buff: '#define COMMONLIB_IMPLEMENTATION
-
 #include "../commonlib.h"
 
-
-
 int main(void) {
-
     int file_size = 0;
-
     const char *buff = c_slurp_file(__FILE__, &file_size);
 
-    
-
     if (file_size < 0) { return 1; }
 
-
-
     c_log_info("buff: '%s' (%d bytes)", buff, file_size);
 
-    
-
     // We don't care about leaking memory since we are just exiting right away!
-
     return 0;
-
 }
-
-' (375 bytes)
+' (353 bytes)
index f5413ea355e5e6b15408748d3aa720a74964a845..4822d9a97053d712325c9d818e967654f5d8800b 100644 (file)
@@ -4,11 +4,11 @@
 int main(void) {
     int file_size = 0;
     const char *buff = c_slurp_file(__FILE__, &file_size);
-    
+
     if (file_size < 0) { return 1; }
 
     c_log_info("buff: '%s' (%d bytes)", buff, file_size);
-    
+
     // We don't care about leaking memory since we are just exiting right away!
     return 0;
 }