bugfix: socket not reporting bad-write
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 8 Mar 2023 15:33:32 +0000 (09:33 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 8 Mar 2023 15:33:32 +0000 (09:33 -0600)
core/net/net.onyx
core/string/string.onyx
tests/dyn_str.onyx

index d3355054e2e9013e9f515ca18fd25afbb23aac4f..59886132c9cdb2ba5715ce5a461662960311d5ce 100644 (file)
@@ -275,7 +275,7 @@ network_to_host :: #match #local {}
         if cast(i32) handle == 0 do return .BadFile, 0;
         
         bytes_written := __net_send(handle, buffer);
-        if bytes_written < 0 { s.vtable = null; }
+        if bytes_written < 0 { s.vtable = null; return .EOF, 0; }
         return .None, bytes_written;
     },
 
index 07fa5d97cd3bde47d4fb12a268725f254689bd95..f16ae9b1191ca2c96620461217baabaa1936a363 100644 (file)
@@ -659,8 +659,14 @@ delete  :: macro (x: &dyn_str, idx: u32) -> u8 {
     return (package core.array).delete(x, idx);
 }
 
-append  :: macro (x: &dyn_str, other: str) {
-    (package core.array).concat(x, other);
+append  :: #match {
+    macro (x: &dyn_str, other: str) {
+        (package core.array).concat(x, other);
+    }, 
+
+    macro (x: &dyn_str, other: u8) {
+        (package core.array).push(x, other);
+    }, 
 }
 
 clear   :: macro (x: &dyn_str) {
index 0169f8083d81ad79beee43857622909a7ef7195b..5a0d2593af47ab30821dbb3a0a6f672e73f7c929 100644 (file)
@@ -7,7 +7,7 @@ main :: () {
 
     string.append(&output, "Hello");
     string.append(&output, "World");
-    string.append(&output, "!");
+    string.append(&output, '!');
 
     string.insert(&output, 5, ", ");