diff options
author | Guy Harris <guy@alum.mit.edu> | 2017-06-27 14:35:20 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2017-06-27 21:38:55 +0000 |
commit | 39b22b7411401275d07e101c441f9892cf384def (patch) | |
tree | 6afaf80b3fc9560a0547de263279f1d5e06f0562 | |
parent | d169cdf644da7c8f995811f9471e84641484aa33 (diff) | |
download | wireshark-39b22b7411401275d07e101c441f9892cf384def.tar.gz |
Fix the "don't initialize with non-constant variables" item.
It only applies to variables with static storage duration, i.e. global
and static variables. Expand the example of how to do it, to make it a
bit clearer.
Change-Id: Ie0c473a35a77351dd10d6c9df2c34a39f077fca4
Reviewed-on: https://code.wireshark.org/review/22430
Reviewed-by: Guy Harris <guy@alum.mit.edu>
(cherry picked from commit 7321df2a4532d6531eab75f99c5f158ffd90574b)
Reviewed-on: https://code.wireshark.org/review/22431
-rw-r--r-- | doc/README.developer | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/doc/README.developer b/doc/README.developer index 1525ba1aca..52df3a6fcc 100644 --- a/doc/README.developer +++ b/doc/README.developer @@ -82,13 +82,29 @@ features. The C99 features that can be used are: - trailing comma in enum declarations - inline functions (guaranteed only by use of glib.h) -Don't initialize variables in their declaration with non-constant -values. Not all compilers support this. E.g. don't use +Don't initialize variables with static storage duration - i.e., global +or static variables - or objects with aggregate type (arrays and +structures) in their declaration with non-constant values. Not all +compilers support this. E.g., if "i" is a static or global variable, +don't declare i as + guint32 i = somearray[2]; -use + +declare it as just + guint32 i; + +and later, in code, initialize it with + i = somearray[2]; -instead. + +instead. Initializations of non-aggregate variables with automatic +storage duration - i.e., local variables - with non-constant values is +permitted, so, within a function + + guint32 i = somearray[2]; + +is allowed. Don't use zero-length arrays as structure members, use flexible array members instead. |