[hackers] [sbase] bc: Unwind after calculating return expression || Roberto E. Vargas Caballero

From: <git_AT_suckless.org>
Date: Sun, 30 Nov 2025 21:12:33 +0100 (CET)

commit afa8975960633104311f9d81bf478171e950e26d
Author: Roberto E. Vargas Caballero <k0ga_AT_shike2.net>
AuthorDate: Sun Nov 30 21:11:22 2025 +0100
Commit: Roberto E. Vargas Caballero <k0ga_AT_shike2.net>
CommitDate: Sun Nov 30 21:11:22 2025 +0100

    bc: Unwind after calculating return expression
    
    The locals can be used to compute the return value, and
    for that reason we cannot get rid of them until we know
    that they will not be used anymore.

diff --git a/bc.y b/bc.y
index 7ae1be8..536d719 100644
--- a/bc.y
+++ b/bc.y
_AT_@ -494,7 +494,7 @@ retcode(char *expr)
 
         if (nested < 2 || macros[1].op != DEF)
                 yyerror("return must be in a function");
- return code("%s %s %dQ", estrdup(unwind), expr, nested - 1);
+ return code("%s %s %dQ", expr, estrdup(unwind), nested - 1);
 }
 
 static char *
Received on Sun Nov 30 2025 - 21:12:33 CET

This archive was generated by hypermail 2.3.0 : Sun Nov 30 2025 - 21:13:06 CET