about summary refs log tree commit diff stats
path: root/apps/browse/main.mu
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-11-02 19:50:34 -0800
committerKartik Agaram <vc@akkartik.com>2020-11-02 19:50:52 -0800
commita3f779158626b9ad3c81959b85cbfbbce17425fd (patch)
tree10c9da6ee8783a2ed2a3e6e928fb5d70024d1bcc /apps/browse/main.mu
parent951c3f4c92358d3962154a4ef24a19366ea8a619 (diff)
downloadmu-a3f779158626b9ad3c81959b85cbfbbce17425fd.tar.gz
7159 - explicitly use 'return' everywhere
https://github.com/akkartik/mu/issues/45#issuecomment-719990879, task 2.
Diffstat (limited to 'apps/browse/main.mu')
-rw-r--r--apps/browse/main.mu52
1 files changed, 23 insertions, 29 deletions
diff --git a/apps/browse/main.mu b/apps/browse/main.mu
index 3a397ee0..d2510071 100644
--- a/apps/browse/main.mu
+++ b/apps/browse/main.mu
@@ -1,33 +1,29 @@
-fn main args-on-stack: (addr array addr array byte) -> exit-status/ebx: int {
+fn main args-on-stack: (addr array addr array byte) -> _/ebx: int {
   var args/eax: (addr array addr array byte) <- copy args-on-stack
   var len/ecx: int <- length args
-  $main-body: {
-    # if (len(args) <= 1) print usage and exit
-    compare len, 1
-    {
-      break-if->
-      print-string-to-real-screen "usage: browse [filename]\n"
-      print-string-to-real-screen "    or browse test\n"
-      exit-status <- copy 1
-      break $main-body
-    }
-    # if (args[1] == "test") run-tests()
-    var tmp/ecx: (addr addr array byte) <- index args, 1
-    var tmp2/eax: boolean <- string-equal? *tmp, "test"
-    compare tmp2, 0
-    {
-      break-if-=
-      run-tests
-      exit-status <- copy 0  # TODO: get at Num-test-failures somehow
-      break $main-body
-    }
-    # otherwise interactive mode
-    exit-status <- interactive args-on-stack
+  # if (len(args) <= 1) print usage and exit
+  compare len, 1
+  {
+    break-if->
+    print-string-to-real-screen "usage: browse [filename]\n"
+    print-string-to-real-screen "    or browse test\n"
+    return 1
   }
+  # if (args[1] == "test") run-tests()
+  var tmp/ecx: (addr addr array byte) <- index args, 1
+  var tmp2/eax: boolean <- string-equal? *tmp, "test"
+  compare tmp2, 0
+  {
+    break-if-=
+    run-tests
+    return 0  # TODO: get at Num-test-failures somehow
+  }
+  # otherwise interactive mode
+  var result/ebx: int <- interactive args-on-stack
+  return result
 }
 
-fn interactive _args: (addr array addr array byte) -> exit-status/ebx: int {
-$interactive:body: {
+fn interactive _args: (addr array addr array byte) -> _/ebx: int {
   # initialize fs from args[1]
   var args/eax: (addr array addr array byte) <- copy _args
   var arg/eax: (addr addr array byte) <- index args, 1
@@ -42,8 +38,7 @@ $interactive:body: {
     compare fs, 0
     break-if-!=
     print-string-to-real-screen "file not found\n"
-    exit-status <- copy 1
-    break $interactive:body
+    return 1
   }
   #
   enable-screen-grid-mode
@@ -62,8 +57,7 @@ $interactive:body: {
   }
   enable-keyboard-type-mode
   enable-screen-type-mode
-  exit-status <- copy 0
-}
+  return 0
 }
 
 fn render screen: (addr paginated-screen), fs: (addr buffered-file) {