← Commit list

766f67250

Denys Vlasenko
Denys Vlasenko
2018-12-13
SUCCESS Duration: 152s

Subject

bc: fix comment handling

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

miscutils/bc.c+5 -2
@@ -7088,10 +7088,13 @@ static BC_STATUS zbc_vm_stdin(void)
string++;
if (c == '/' && *string == '*') {
comment = true;
- break;
+ string++;
+ continue;
}
- if (c == '*' && *string == '/')
+ if (c == '*' && *string == '/') {
comment = false;
+ string++;
+ }
}
if (str || comment || string[-2] == '\\') {
bc_vec_concat(&buffer, buf.v);
testsuite/bc.tests+12 -0
@@ -4,6 +4,18 @@
. ./testing.sh
+# testing "test name" "command" "expected result" "file input" "stdin"
+
+testing "bc comment 1" \
+ "bc" \
+ "3\n" \
+ "" "1 /* comment */ + 2"
+
+testing "bc comment 2: /*/ is not a closed comment" \
+ "bc" \
+ "4\n" \
+ "" "1 /*/ + 2 */ + 3"
+
tar xJf bc_large.tar.xz
for f in bc*.bc; do