Skip to content

Commit 26f017e

Browse files
author
Daniel Marjamäki
committed
scripts: added tabs.pl - in my opinion it is bad to use tabs inside string constants. spaces or \t should be used instead.
1 parent 95e917b commit 26f017e

File tree

5 files changed

+55
-20
lines changed

5 files changed

+55
-20
lines changed

scripts/tabs.pl

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/perl
2+
# warn if there are tabs in string constants, it can have surprising effects.
3+
# example usage:
4+
# scripts/tabs.pl lib/checkstl.cpp
5+
6+
sub checkfile
7+
{
8+
my $filename = $_[0];
9+
10+
# parse file
11+
open(FILE, $filename);
12+
my @lines = <FILE>;
13+
close(FILE);
14+
15+
# check comments..
16+
my $linenr = 0;
17+
foreach $line (@lines)
18+
{
19+
$linenr = $linenr + 1;
20+
21+
# is there a tab in a string
22+
if ($line =~ /".*\t.*"/)
23+
{
24+
print "[$filename:$linenr] tab inside string constant\n";
25+
}
26+
}
27+
}
28+
29+
30+
foreach $filename (@ARGV)
31+
{
32+
checkfile($filename)
33+
}
34+
35+

test/testclass.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,11 @@ class TestClass : public TestFixture
488488
" UString& operator=( const UString& s );\n"
489489
"};\n"
490490
"UString& UString::assign( const char* c_str ) {\n"
491-
" std::string tmp( c_str );\n"
492-
" return assign( tmp );\n"
491+
" std::string tmp( c_str );\n"
492+
" return assign( tmp );\n"
493493
"}\n"
494494
"UString& UString::operator=( const UString& s ) {\n"
495-
" return assign( s );\n"
495+
" return assign( s );\n"
496496
"}\n");
497497
}
498498

@@ -2723,7 +2723,7 @@ class TestClass : public TestFixture
27232723
" A()\n"
27242724
" {\n"
27252725
" init();\n"
2726-
" }\n"
2726+
" }\n"
27272727
"\n"
27282728
" void init() { init(0); }\n"
27292729
"\n"
@@ -5452,12 +5452,12 @@ class TestClass : public TestFixture
54525452
checkConst("template<template<class> class E,class D> class C : E<D>\n"
54535453
"{\n"
54545454
"public:\n"
5455-
" int f();\n"
5455+
" int f();\n"
54565456
"};\n"
54575457
"class E : C<D,int>\n"
54585458
"{\n"
54595459
"public:\n"
5460-
" int f() { return C< ::D,int>::f(); }\n"
5460+
" int f() { return C< ::D,int>::f(); }\n"
54615461
"};\n");
54625462

54635463
ASSERT_EQUALS("", errout.str());

test/testmathlib.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,20 @@ class TestMathLib : public TestFixture
6666
ASSERT_EQUALS("3000" , MathLib::multiply("1.0E3", "3"));
6767
ASSERT_EQUALS("-3000" , MathLib::multiply("-1.0E3", "3"));
6868
ASSERT_EQUALS("-3000" , MathLib::multiply("-1.0E+3", "3"));
69-
ASSERT_EQUALS("0" , MathLib::multiply("-1.0E+3", "0"));
70-
ASSERT_EQUALS("0" , MathLib::multiply("+1.0E+3", "0"));
71-
ASSERT_EQUALS("2147483648" , MathLib::multiply("2","1073741824"));
72-
ASSERT_EQUALS("536870912" , MathLib::multiply("512","1048576"));
69+
ASSERT_EQUALS("0" , MathLib::multiply("-1.0E+3", "0"));
70+
ASSERT_EQUALS("0" , MathLib::multiply("+1.0E+3", "0"));
71+
ASSERT_EQUALS("2147483648" , MathLib::multiply("2","1073741824"));
72+
ASSERT_EQUALS("536870912" , MathLib::multiply("512","1048576"));
7373

7474
// divide
75-
ASSERT_EQUALS("1" , MathLib::divide("1", "1"));
76-
ASSERT_EQUALS("0" , MathLib::divide("0", "1"));
77-
ASSERT_EQUALS("5" , MathLib::divide("-10", "-2"));
75+
ASSERT_EQUALS("1" , MathLib::divide("1", "1"));
76+
ASSERT_EQUALS("0" , MathLib::divide("0", "1"));
77+
ASSERT_EQUALS("5" , MathLib::divide("-10", "-2"));
7878
ASSERT_EQUALS("-2.5", MathLib::divide("-10.", "4"));
7979
ASSERT_EQUALS("2.5" , MathLib::divide("-10.", "-4"));
80-
ASSERT_EQUALS("5" , MathLib::divide("25.5", "5.1"));
81-
ASSERT_EQUALS("7" , MathLib::divide("21.", "3"));
82-
ASSERT_EQUALS("1" , MathLib::divide("3", "2"));
80+
ASSERT_EQUALS("5" , MathLib::divide("25.5", "5.1"));
81+
ASSERT_EQUALS("7" , MathLib::divide("21.", "3"));
82+
ASSERT_EQUALS("1" , MathLib::divide("3", "2"));
8383

8484
}
8585

test/testnullpointer.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ class TestNullPointer : public TestFixture
668668
check("void f(int a) {\n"
669669
" const char *p = 0;\n"
670670
" if (a) {\n"
671-
" p = \"abcd\";\n"
671+
" p = \"abcd\";\n"
672672
" }\n"
673673
" for (int i = 0; i < 3; i++) {\n"
674674
" if (a && (p[i] == '1'));\n"

test/testuninitvar.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -736,9 +736,9 @@ class TestUninitVar : public TestFixture
736736
checkUninitVar("enum ABCD { A, B, C, D };\n"
737737
"\n"
738738
"static void f(char *str ) {\n"
739-
" enum ABCD i;\n"
740-
" for (i = 0; i < D; i++) {\n"
741-
" str[i] = 0;\n"
739+
" enum ABCD i;\n"
740+
" for (i = 0; i < D; i++) {\n"
741+
" str[i] = 0;\n"
742742
" }\n"
743743
"}\n");
744744
ASSERT_EQUALS("", errout.str());

0 commit comments

Comments
 (0)