Simon Martin
c78d99dc07
Ticket #6954 : Properly handle pointers to arrays in CheckUnunsedVar.
2015-08-27 23:56:26 +02:00
PKEuS
ac867b4220
Handle pointers to const member functions in Tokenizer::simplifyFunctionPointers() ( #6603 )
2015-04-13 21:21:57 +02:00
PKEuS
bc5132e0ac
Refactorization: Moved declaration of errout, ... to testsuite.h, uniformized style
2015-03-11 22:54:43 +01:00
Daniel Marjamäki
ff11ba9847
Updated copyright year to 2015
2015-01-03 12:14:58 +01:00
Alexander Mai
ec2c4aa2e3
#6301 Unused shared lock variable. Add exception for std::shared_lock() to CheckUnusedVar::checkFunctionVariableUsage_iterateScopes()
2014-12-07 15:32:09 +01:00
Daniel Marjamäki
051d42ae6b
astyle formatting
2014-11-20 14:20:09 +01:00
orbitcowboy
f5d804f71a
running astyle
2014-11-20 10:13:03 +01:00
PKEuS
6955e719cf
Collected garbage code tests and moved them to testgarbage.cpp
2014-10-16 10:59:46 +02:00
PKEuS
936043d47d
Fixed false positive 'unusedVar' with C++11 initialization ( #6160 )
2014-09-30 12:39:27 +02:00
PKEuS
b8918906e6
Fixed false positive #5466
2014-08-31 19:46:30 +02:00
PKEuS
8f4662de92
No unused variable messages about std::unique_ptr|shared_ptr|auto_ptr ( #4355 )
2014-08-31 19:18:02 +02:00
PKEuS
adcc8b1634
Implement support for __attribute__((used)) ( #3408 )
2014-08-06 11:13:58 +02:00
PKEuS
f3e0df7501
Support C++11 style initialization with {}:
...
-> Support in setVarId and SymbolDatabase (#4344 )
-> Fixed false positives in unused variable checking (#5491 , #5494 )
Side-effect: Support global variables initialized with brackets (C++03 style) in SymbolDatabase
2014-08-05 15:33:57 +02:00
PKEuS
57c055fcc4
Fixed false negative #5985 : default argument values should not affect variable usage checking.
2014-08-03 19:13:37 +02:00
PKEuS
8c96cc59c9
Fixed false positive #5976 : Properly handle shift from stream.
2014-07-17 10:03:58 +02:00
PKEuS
3d0ebe196b
Several improvements to CheckUnusedVar::checkFunctionVariableUsage_iterateScopes():
...
- Use AST in some places
- Fixed misusage of Token::isStandardType (fixes false negative)
- Removed some redundant conditions
2014-07-02 00:18:40 +02:00
orbitcowboy
dfe876fa4c
Fixed typo in comment, no functional changes.
2014-05-07 23:39:32 +02:00
PKEuS
7e4081f7f5
Treat syntaxError and cppcheckError as InternalErrors (throw as exception, #4268 )
2014-03-27 13:15:21 +01:00
XhmikosR
fc54e6acc4
Trim tailing spaces and convert tabs to spaces.
2014-03-18 17:00:28 +02:00
Daniel Marjamäki
fd3a8a2a18
Update copyright
2014-02-15 07:45:39 +01:00
Heinrich Schuchardt
6bfd4af5f7
5355: False postive var not assigned
...
Avoid false positive "variable not assigned" for
struct Fred{
};
void foo () {
Fred fred;
throw fred;
}
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2014-02-01 22:40:35 +01:00
Daniel Marjamäki
e2bc99aa24
Fixed #5154 (Tokenizer: wrong handling of msvc 'for each')
2013-12-17 06:34:27 +01:00
Daniel Marjamäki
853d9dd7a9
Fixed #4956 (false positive: Variable 'myIsFirst' is assigned a value that is never used.)
2013-10-26 15:22:28 +02:00
Daniel Marjamäki
3b8e9f5a2a
Fixed #4899 (False positive on unused variable)
2013-09-03 17:02:46 +02:00
Daniel Marjamäki
5d7ebadf25
Fixed ¤4596 (False positive, Variable 'value' is not assigned a value (x = x >> value))
2013-08-27 15:57:38 +02:00
Daniel Marjamäki
4189d7db46
test
2013-08-27 06:47:06 +02:00
PKEuS
a9a5dc0354
Updated to AStyle 2.03, require this version
2013-08-07 16:27:37 +02:00
Frank Zingsheim
395a474ec2
Fixed #4695 : Infinite recursion inside isRecordTypeWithoutSideEffects()
2013-04-01 12:41:14 +02:00
Daniel Marjamäki
3301728c50
astyle formatting
2013-03-29 17:55:09 +01:00
Alexander Mai
7902cd0123
Fixed #4447 (false positive: (style) Variable 'X' is assigned a value that is never used (goto))
2013-03-28 06:44:37 +01:00
Ettl Martin
1b9c1c03fa
unittests: removed not needed '\n' at the end of testcases.
2013-03-20 15:36:16 +01:00
Daniel Marjamäki
dd155b57e4
Fixed #4487 (False positive: variable is not assigned a value (pointer alias))
2013-03-20 06:38:53 +01:00
PKEuS
657e5d7ea2
Fixed some small formatting issues in test suite
2013-03-04 11:14:56 -08:00
Daniel Marjamäki
78a3a58a5a
Fixed #4628 (False positive: Variable is assigned a value that is never used)
2013-03-04 19:13:49 +01:00
Daniel Marjamäki
ecafe7a129
Fixed #4624 (Wrong error for instances of std::unique_lock (variable is never used))
2013-02-28 17:02:58 +01:00
Daniel Marjamäki
bce99a9e2f
Fixed #4394 (FP: Variable 'a' is not assigned a value)
2013-02-20 17:43:16 +01:00
Daniel Marjamki
635b7d5a0e
Fixed #4423 (Variable is assigned a value that is never used.)
2013-02-16 16:07:05 +01:00
Robert Reif
a1da067b88
Fixed #4585 (false positive, Variable 'b' is assigned a value that is never used when using+loop)
2013-02-14 06:31:41 +01:00
Frank Zingsheim
498d03458f
Fixed #4385 : lock_guard RAII throws unreadVariable
2013-01-07 20:28:43 +01:00
Reijo Tomperi
5d5f7085bf
Updating year 2012 -> 2013 to .cpp and .h files and man page.
2013-01-01 18:29:08 +02:00
Daniel Marjamäki
e7aa1ec396
Fixed #4411 (Variable is assigned a value that is never used.)
2012-12-29 12:45:37 +01:00
Daniel Marjamäki
1769240e15
Fixed #4022 (false positive: (style) Variable 'sort_entry' is assigned a value that is never used)
2012-12-28 18:18:36 +01:00
Daniel Marjamäki
3913fd8398
Fixed #4320 (False positives 'unassignedVariable' and 'uninitvar')
2012-12-18 19:02:30 +01:00
Daniel Marjamäki
1e2fb4f1a4
Unused var: Limit bailout for foreach loops. Only bailout if name contains 'foreach' or 'for_each'. Only bailout variables that are used more than once in the body. Ticket: #4155
2012-12-17 18:19:05 +01:00
Daniel Marjamäki
72ea94bf75
Fixed #4155 (false positive: Variable is assigned a value that is never used (inside BOOST_FOREACH loop))
2012-12-17 17:07:56 +01:00
Edoardo Prezioso
0273c183a7
Run astyle and update the translation files.
...
I believe we need a hook script because else everytime we change a file we have to make a new commit to fix the discrepancies problems.
2012-12-07 01:49:51 +01:00
Frank Zingsheim
aebdb3769f
Fixed #4369 (false positive: Variable 'i' is assigned a value that is never used)
2012-12-04 21:39:51 +01:00
Frank Zingsheim
590704afb4
Missing semicolon in "do {} while();" tests of testunusedvar.cpp ( #4180 )
2012-12-03 21:49:53 +01:00
Frank Zingsheim
f23ce8d254
Fixed #4180 (false positive: (style) Variable is assigned a value that is never used (inside loop))
2012-11-28 06:11:33 +01:00
Daniel Marjamäki
382e1e95ef
Fixed #4168 (False positive: (style) struct or union member 'super::x' is never used)
2012-11-18 15:24:47 +01:00
Daniel Marjamäki
a2febc49d6
Fixed #4318 (False positive: 'unreadVariable')
2012-11-15 08:36:43 +01:00
PKEuS
24b98feadb
Message refactorization: checkuninitvar.cpp, checkunusedfunctions.cpp, checkunusedvar.cpp
2012-11-01 18:40:20 +01:00
Daniel Marjamäki
a64669b1ec
Fixed #4203 (Don't warn about setting NULL value for pointers and not using that value)
2012-09-30 17:22:35 +02:00
PKEuS
1863306198
Fixed false negative in checkunusedvar.cpp and reduced code dupliaction.
2012-09-11 14:24:12 +02:00
PKEuS
623ffe23f0
Fixed #4145
2012-09-11 14:14:35 +02:00
PKEuS
8924e8af43
Fixed #4143 : Give correct line numbers in checkunusedvar.cpp
2012-09-04 14:53:24 +02:00
kbajaj91
be716e81d3
Fixed #4138 - False positive about variable assigned a value that is never
...
used in loops
2012-09-04 13:06:04 +02:00
Kartik Bajaj
ea0cbbcf78
Fixed #1481
2012-09-02 18:50:17 +02:00
Daniel Marjamäki
7975ffba21
Fixed #3980 (Variable not assigned a value)
2012-08-25 13:07:33 +02:00
Daniel Marjamäki
f133c9e8ec
Fixed #4020 (false positive: (style) Variable 'dst' is assigned a value that is never used)
2012-08-22 19:47:46 +02:00
PKEuS
c537a86363
Fixed false negative in unused variable checking when class without side effects inherits from another one.
2012-08-20 07:55:39 -07:00
PKEuS
35d94c26d5
Changed creation of SymbolDatabase. Database always created after Tokenizer::tokenize() and Tokenizer::simplifyTokenList() instead of on-demand creation by Tokenizer::getSymbolDatabase.
...
-> With Token::scope() it is possible to access the symboldatabase without having to call getSymbolDatabase(). The change increases safety because it is guaranteed that the database is available in all checks, even if the specific check doesn't call getSymbolDatabase
- Tokenizer::_symbolDatabase does no longer have to be mutable -> Increased const correctness
The change above required two additional changes:
- A bug causing a debug message was fixed in the symboldatabase that became visible in the test suite by the change above.
- Simplify expressions like "struct struct Foo" which might be result of typedef instanciation.
2012-08-12 03:01:24 -07:00
PKEuS
355c1322d6
Small refactorizations in checkunusedvar.cpp:
...
- Token::Match handles nullpointers
- In chained assignments variables are only written (not read) when assigned
- Fixed crash #4033
2012-08-10 03:36:08 -07:00
PKEuS
c11e8cdbfa
Fixed false positive "Variable is not assigned a value" on class types
2012-07-25 00:34:27 -07:00
PKEuS
bb940e4722
Implemented unused variable checking for standard types ( #2851 )
2012-07-24 11:47:29 -07:00
PKEuS
2103811291
Refactorizations in testrunner:
...
- Removed unnecessary space characters
- Removed comments from test cases which are not preprocessed
2012-07-16 05:02:33 -07:00
Daniel Marjamäki
cb7757f650
CheckUnusedVar: dont report false positives for extern variables
2012-06-28 17:22:56 +02:00
Daniel Marjamäki
25b24d149f
Fixed #3910 (False positive: Variable is not assigned a value (pointerArray alias))
2012-06-24 16:54:37 +02:00
Daniel Marjamäki
951da02f89
Reviewed handling of unknown types in C files in checkunusedvar
2012-06-22 15:59:41 +02:00
Daniel Marjamäki
082e6d506b
#3744 (Unexpected unused value warning for char ptr types set in switch)
2012-04-28 15:43:42 +02:00
Ettl Martin
bf0ed17a16
added testcase for ticket #3602
2012-04-27 02:05:45 +02:00
Daniel Marjamäki
d5f6cfcfa8
Tokenizer: Use new setVarId function. Removed the old one.
2012-04-22 11:36:31 +02:00
Daniel Marjamäki
aeac38b673
Tokenizer::setVarIdNew: Removed test case in TestUnusedVar that fails with the new setVarId function. The new setVarId function assumes that 'static int i(a);' is a variable declaration if it's in a executable scope (it is unknown if 'a' is a type or a variable so this assumption could be wrong).
2012-04-22 10:42:55 +02:00
Ettl Martin
2840b19fb3
removed some c++-comments within testcases ( from my last commit ). No functional change.
2012-04-19 10:15:29 +02:00
Ettl Martin
7699d5bf87
#3742 added testcases to ensure it works correctly.
2012-04-19 10:08:51 +02:00
PKEuS
782cd5d228
Fixed #3687 : Don't treat catched variables as local ones.
2012-03-26 21:19:42 +02:00
PKEuS
002389f836
Fixed #3677
...
Added forgotten testcase for #3672
2012-03-21 18:40:32 +01:00
Daniel Marjamäki
385c9d341d
Fixed #3633 (False positive: struct array not assigned a value)
2012-02-26 08:29:02 +01:00
Daniel Marjamäki
bbfae8e3ae
Fixed #3583 (False positive Variable X is assigned a value that is never used)
2012-02-25 12:56:33 +01:00
Daniel Marjamäki
69d03bac34
Fixed #3603 (False Positive: Variable is assigned a value that is never used)
2012-02-19 15:25:46 +01:00
Daniel Marjamäki
9f139cf414
Fixed #3509 (FP: Variable 'itemList' is not assigned a value, when << operator is used)
2012-01-23 08:02:59 +01:00
Edoardo Prezioso
57fcde8090
Fixed ticket #3481 (segmentation fault of cppcheck)
2012-01-09 13:39:02 +01:00
Daniel Marjamäki
304980848f
Fixed #3473 (False positive: variable is assigned value that is never used (used in return statement))
2012-01-08 08:44:18 +01:00
Daniel Marjamäki
70c83d9ca9
Fixed #3467 (False positive: Variable is not assigned a value (new))
2012-01-08 08:31:00 +01:00
Reijo Tomperi
8cae17fda8
Update year to 2012
2012-01-01 01:05:37 +02:00
Daniel Marjamäki
2ae48c7aef
Fixed #3454 (false positive: (style) Variable 'iFaktor' is assigned a value that is never used)
2011-12-30 09:47:15 +01:00
Daniel Marjamäki
fd4bc12ed3
Fixed #3438 (false positive: (style) Variable 'dBuf' is not assigned a value)
2011-12-26 08:12:23 +01:00
PKEuS
6dc2a6e7ab
Refactorized CheckUnusedVar
2011-12-18 20:15:41 +01:00
Daniel Marjamäki
6f8e42a5af
changed the astyle formatting flags
2011-10-13 20:53:06 +02:00
Daniel Marjamäki
9a97fbe022
Fixed #3104 (unread despite modified and used in IF statement)
2011-09-11 08:19:35 +02:00
Daniel Marjamäki
8240422a09
Fixed #3078 (vector::at using int causes false positive)
2011-09-04 20:48:05 +02:00
Robert Reif
477d1e92c9
add new (nothrow) support to CheckUnusedVar::checkFunctionVariableUsage
2011-08-31 06:39:39 -04:00
Robert Reif
2dd93dff75
move unused variable checks from checkother to checkunusedvar
2011-08-19 14:35:25 -04:00
Kimmo Varis
cfcfa3f000
Use "enabled" list for the style checking.
...
Settings-class currently enables style checking via dedicated
boolean attribute. All other CLI's enable-options are handled
through the enable-list. This commit moves style-check enabling
to use the enable-list.
Main advantage is the consistency how options are handled/stored
in the Settings class. Which also unifies using them for the other
code. You need to enable certain type of checks? Use the
addEnabled()-method. You want to check if certain type of checks
are enabled? Use the isEnabled()-method.
2011-08-07 10:28:52 +03:00
Robert Reif
9a4447c835
add support for unused const local variables
2011-07-24 12:09:59 -04:00
Robert Reif
c3c3eb74e8
fix #2929 (Additional Unused variable check)
2011-07-21 18:37:37 -04:00
Robert Reif
270b2b1772
fix #2904 (Memory leak not detected when creating a new class instance)
2011-07-14 19:15:59 -04:00
Robert Reif
b32b2c6d87
add support for checking unused std::string local variables
2011-07-02 19:25:10 -04:00
Robert Reif
301e59cea0
fix false positive for unused local class/struct variable
2011-07-01 08:45:29 -04:00
Robert Reif
18e6509c5d
add support in CheckOther::functionVariableUsage() for checking structures that are declared with struct keyword
2011-07-01 07:42:20 -04:00
Robert Reif
7826b5e22d
add support for detecting unused function variables of type class or struct
2011-06-30 21:58:11 -04:00
Daniel Marjamäki
97d47fa20e
Fixed #2805 (false positive: [NotAssigned1.cpp:5]: (style) Variable 'y' is not assigned a value)
2011-06-08 19:54:01 +02:00
Daniel Marjamäki
144d811e54
Fixed #2780 (false positive: variable p is not assigned a value 'int p[2]; *p = 0;')
2011-05-11 18:58:25 +02:00
Daniel Marjamäki
3629f953f0
Fixed #2770 (False positives (scope can be reduced / variable is assigned value that is never used))
2011-05-06 21:16:01 +02:00
Daniel Marjamäki
5175e4ff3f
Fixed #2535 (false positive: (style) Variable 'A' is not assigned a value)
2011-02-09 19:20:44 +01:00
Pete Johns
098f0bf3e6
Fixed #2526 (Make TODO_ASSERT_EQUALS take three arguments (value, to_be, as_is)?...
...
Removed replaced EXPECTED with...
WANTED (to-be): The future expected value.
CURRENT (as-is): Documenting how cppcheck behaves now.
This removes the need for an ASSERT_EQUALS but enforces the check for every TODO_ASSERT_EQUALS.
2011-01-30 23:20:11 +11:00
Reijo Tomperi
226b605774
Change year 2010 -> 2011 in license texts.
2011-01-09 21:33:36 +02:00
Daniel Marjamäki
92acca3d0c
Fixed #2368 (assigned a value that is never used)
2010-12-27 20:49:07 +01:00
Ettl Martin
ccde32b210
Created to testcase ( #2368 ) for assigned a value that is never used false positive
2010-12-27 15:12:17 +01:00
Daniel Marjamäki
ecad249ae2
Fixed #2346 (False positive: pointer is assigned value that is never used. used here: 'pCol = pCol->GetNext()')
2010-12-25 19:17:53 +01:00
Daniel Marjamäki
0f9415a5fb
Fixed #2330 (unreadVariable error for a fstream object when only extraction operator (>>) is used)
2010-12-21 19:02:00 +01:00
Robert Reif
244974a61a
unused variables: fixed false negatives with the help of the symbol database. ticket: #2317
2010-12-21 08:13:40 +01:00
Daniel Marjamäki
f73cce9eca
Fixed #2317 ((style) Variable is allocated memory that is never used)
2010-12-20 18:31:16 +01:00
Daniel Marjamäki
02892499d2
Fixed #2286 (Variable 'ownKilled' is assigned a value that is never used)
2010-12-19 18:27:31 +01:00
Daniel Marjamäki
b25e6ff24c
Fixed #2279 ((style) struct of union member is never used)
2010-12-05 18:33:53 +01:00
Daniel Marjamäki
93ebdca313
Fixed #2264 (False positive: variable assigned value that is never used)
2010-12-03 18:45:49 +01:00
Daniel Marjamäki
8118e4755a
Fixed #2263 (False positive: variable assigned value that is never used)
2010-12-02 20:08:05 +01:00
Robert Reif
f12c0c7ada
Tokenizer: add assert(_settings) to Tokenizer to insure the tokenizer always has settings. Ticket: #2219
2010-12-01 18:00:55 +01:00
Daniel Marjamäki
d250cb5aa2
Fixed #2206 (False positive: variable is assigned a value that is never used (array initializers))
2010-11-15 17:53:55 +01:00
Daniel Marjamäki
7b3e7f6467
Fixed #2205 (False positive: variable is assigned a value that is never used (assigning to dereferenced casted pointers))
2010-11-15 17:30:07 +01:00
Zachary Blair
36d80d6eaa
Fixed #2058 (Warn for unused variable when only doing malloc/free)
2010-11-14 17:37:36 -08:00
Daniel Marjamäki
19f809c9b4
Unused variables: better handling of '= %var% ++'. Ticket: #2160
2010-11-02 20:01:12 +01:00
Daniel Marjamäki
558899dc74
Variable usage: Fixed false negative that I introduced when simplifying compound assignments
2010-10-31 09:34:25 +01:00
Daniel Marjamäki
23d3fd3a5a
Fixed #2147 (uninitialized variable: false negative for 'x += y;')
2010-10-31 08:47:13 +01:00
Daniel Marjamäki
0afd19c59b
Fixed #2039 (unions not handled properly, false positive about initialization)
2010-09-09 20:15:00 +02:00
Daniel Marjamäki
9415423352
Fixed #2017 (false positive::struct or union member 'Base::m_ui' is never used)
2010-09-04 11:21:34 +02:00
Daniel Marjamäki
8ff1e71b22
Fixed #2004 (False positive in 'variable assigned a value but is never used' check)
2010-08-31 20:58:37 +02:00
Daniel Marjamäki
1d78b5072d
Fixed #1996 (False positive for 'Variable foo is assigned a value that is never used')
2010-08-31 20:33:28 +02:00
Daniel Marjamäki
71453871d4
Fixed #1989 (false positive: Variable 'Aux13' is assigned a value that is never used)
2010-08-28 13:32:43 +02:00
Daniel Marjamäki
83a8879f11
Tokenizer::simplifyInitVar : Refactorings and fixes related to ticket #1989
2010-08-27 22:58:21 +02:00
Robert Reif
4a6070d2af
fix 2 problems related to ticket 1976:
...
1. nested unnamed anonymous structures and unions were not supported.
2. declaration split up in class had bug if proceeded by access specifier.
2010-08-25 20:17:31 +02:00
Daniel Marjamäki
ed4f1164a1
Fixed #1894 (unreadVariable false positive with const references)
2010-08-07 15:53:51 +02:00
Robert Reif
e86e8449f8
Variable usage: better handling of pointer aliasing. Ticket: #1729
2010-07-12 09:50:18 +02:00
Robert Reif
566b4b4beb
Variable usage: fixed false positive reported in #1729
2010-07-08 08:42:34 +02:00
Robert Reif
2d6dfa57e1
Variable usage: Better aliasing support (Ticket #1729 )
2010-07-08 08:00:50 +02:00
Daniel Marjamäki
4ebf4caf66
Variable usage: only warn about variables that have variable id > 0
2010-07-07 08:50:34 +02:00
Daniel Marjamäki
2bb07a55bd
Fixed #1803 (False positive: unused variable: this)
2010-07-07 08:39:18 +02:00
Daniel Marjamäki
a107cd1b59
Fixed #1729 (False positive: variable is assigned a value that is never used (pointer aliasing))
2010-07-07 08:26:24 +02:00
Robert Reif
4668359b51
Fixed #1808 (false positive: uninitialized variable with multiple assignment)
2010-06-29 08:38:24 +02:00
Robert Reif
38f90dae09
Fixed #1813 (false negative: Member variable not assigned a value in operator=)
2010-06-25 07:52:12 +02:00
Robert Reif
2a1edff77f
Fixed #1812 (false negative: functionVariableUsage doesn't support static variables)
2010-06-24 17:00:32 +02:00
Robert Reif
74e48d4bb1
Fixed #1732 (False positive: Variable not assigned a value (pointer to pointer))
2010-06-23 06:54:14 +02:00
Robert Reif
a5b45a7f83
Fixed #1807 (false positive: Variable is not assigned a value (casting function parameters))
2010-06-22 17:04:11 +02:00
Robert Reif
bdd28b47aa
Fixed #1799 (false positive: Variable is assigned a value that is never used)
2010-06-21 18:12:01 +02:00
Robert Reif
81403479bd
Refactoring testunusedvariables. This fixes #1804 .
2010-06-18 07:19:26 +02:00
Robert Reif
ee7ad272d6
variable usage: fix false positives when __attribute__ is used. Ticket: #1792
2010-06-16 18:04:31 +02:00
Robert Reif
7dba21858a
simplify the alias handling in the checking of variable usage. Ticket: #1729
2010-06-16 18:00:21 +02:00
Robert Reif
98ae660260
Fixed #1792 (false positive: Variable 'test' is assigned a value that is never used)
2010-06-14 15:46:57 +02:00
Robert Reif
3d2c28a524
Fixed #1784 (false positive: Variable is not assigned a value)
2010-06-10 07:21:47 +02:00
Robert Reif
00dcec47ac
Variable usage: read variable when using syntax '..=*(p);'
2010-06-08 18:26:14 +02:00