From 28e8503b861cfd243520025589cf8882e5c52623 Mon Sep 17 00:00:00 2001 From: zawz Date: Tue, 16 Feb 2021 15:07:09 +0100 Subject: [PATCH] fix special variables in arithmetics --- src/generate.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/generate.cpp b/src/generate.cpp index f200ce9..a4052ef 100644 --- a/src/generate.cpp +++ b/src/generate.cpp @@ -416,9 +416,9 @@ std::string parenthesis_arithmetic::generate(int ind) std::string ret; ret += '('; if(!opt_minimize) ret += ' '; - ret += val->generate(ind); + ret += val->generate(ind); if(!opt_minimize) ret += ' '; - ret += ')'; + ret += ')'; return ret; } @@ -427,6 +427,14 @@ std::string subshell_arithmetic::generate(int ind) return '$' + sbsh->generate(ind); } +std::string variable_arithmetic::generate(int ind) +{ + std::string ret=var->generate(ind); + if(is_num(ret[0]) || is_in(ret[0], SPECIAL_VARS)) + return '$' + ret; + return ret; +} + std::string variable::generate(int ind) { if(index!=nullptr) @@ -437,6 +445,7 @@ std::string variable::generate(int ind) return varname; } + // TEMPLATE // std::string thing::generate(int ind)