Browse Source

check correct errno in _readlink

CiD- 3 years ago
parent
commit
8eaafd5242
1 changed files with 2 additions and 2 deletions
  1. 2 2
      core/os/os_linux.odin

+ 2 - 2
core/os/os_linux.odin

@@ -666,9 +666,9 @@ _readlink :: proc(path: string) -> (string, Errno) {
 	buf := make([]byte, bufsz)
 	buf := make([]byte, bufsz)
 	for {
 	for {
 		rc := _unix_readlink(path_cstr, &(buf[0]), bufsz)
 		rc := _unix_readlink(path_cstr, &(buf[0]), bufsz)
-		if rc == -1 {
+		if rc < 0 {
 			delete(buf)
 			delete(buf)
-			return "", Errno(get_last_error())
+			return "", _get_errno(rc)
 		} else if rc == int(bufsz) {
 		} else if rc == int(bufsz) {
 			// NOTE(laleksic, 2021-01-21): Any cleaner way to resize the slice?
 			// NOTE(laleksic, 2021-01-21): Any cleaner way to resize the slice?
 			bufsz *= 2
 			bufsz *= 2