Commit Graph

13 Commits

Author SHA1 Message Date
Luigi Rizzo b7adaa023c add some macros to simplify parsing the config file,
see description in config.h .

They are a variant of the set of macros i used in chan_oss.c,
structured in a way to be more robust to the presence of
spurious ';' - basically, they define wrappers for 'do {'
and '} while (0)', plus some helper functions to deal with simple
cases such as ast_copy_string, ast_malloc, strtoul, ast_true ...

The prefix (CV_ as 'Config Variable') tries to be easy to remember
and has been chosen to not conflict with other existing macros in the tree.

For the time being, I have only updated the three source files in the
tree that used the old M_* macros. Hopefully, more files will be
converted.

NOTE:

    I understand that inventing my own dialect of C is generally wrong;
    however, the lack of adequate support in the language encourages
    lazy programming practices (such as ignoring errors, bounds, etc.)
    and this increases the chance of vulnerability in the code, especially
    because we are parsing user input here.
    Hopefully, these macros and the use of ast_parse_arg (in config.h)
    should encourage the programmer to write more robust code.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-20 12:56:07 +00:00
Tilghman Lesher 94821a69c2 Coding guidelines fixups
(Closes issue #11412)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 21:46:27 +00:00
Olle Johansson c31c9d6291 Formatting changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-25 21:12:25 +00:00
Luigi Rizzo 7e8835e0d7 remove another set of redundant #include "asterisk/options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:24:55 +00:00
Kevin P. Fleming 296fe3e1fb get this to actually compile...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 15:45:56 +00:00
Luigi Rizzo 0595b5e2aa include "logger.h" and errno.h from asterisk.h - usage shows that they
were included almost everywhere.
Remove some of the instances.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 18:52:04 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 20:05:18 +00:00
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:29:40 +00:00
Jason Parker 65761cbd7a More changes to NEW_CLI.
Also fixes a few cli messages and some minor formatting.

(closes issue #11001)
Reported by: seanbright
Patches:
      newcli.1.patch uploaded by seanbright (license 71)
      newcli.2.patch uploaded by seanbright (license 71)
      newcli.4.patch uploaded by seanbright (license 71)
      newcli.5.patch uploaded by seanbright (license 71)
      newcli.6.patch uploaded by seanbright (license 71)
      newcli.7.patch uploaded by seanbright (license 71)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:01:00 +00:00
Jason Parker c9f869e982 Allow chan_usbradio to compile again.
Closes issue #11014, patch by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 16:09:01 +00:00
Joshua Colp 746dc07e2c Change dependency for chan_usbradio to asound. Let's keep everything uniform.
(closes issue #11013)
Reported by: seanbright


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 15:30:55 +00:00
Russell Bryant 78dba0007e Add chan_usbradio to trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-14 15:58:31 +00:00