On Fri, 2 Dec 2005, Colm MacCarthaigh whispered secretively:
> It's not a problem with your patch, but libspamc has functions that
> start with an underscore. This is bad, and invalid C. The C spec
> reserves all tokens starting with an underscore for future use.

While what you say about libspamc is correct, what you say about
the Standard is not. No reservations are placed on tokens at all:
some identifiers starting with underscores are reserved, but by
no means all.

C99 says:

    - All identifiers that begin with an underscore and either an
      uppercase letter or another underscore are always reserved for
      any use.

    - All identifiers that begin with an underscore are
      always reserved for use as macros and as identifiers
      with file scope in both the ordinary and tag name
      spaces.

libspamc falls foul of the second clause; its identifiers should indeed
probably lose the underscore.


(Oh, and as a heavy user of spamc on odd systems, allow me to plead:
*please* don't add APR as a mandatory external dependency unless there's
absolutely no option. One of the things that's valuable about spamc is
that it has no external dependencies at all, so I can run it on all
sorts of insane and horrible ancient Unix boxes without significant
trouble because all it needs is POSIX and not much of that. I'm even
running it on a SunOS 4.1.3 box at work. Is APR that portable?  Are you
sure? To get APR working you need a system that's a hell of a lot more
capable than what you need to get spamc working.)

-- 
`Y'know, London's nice at this time of year. If you like your cities
 freezing cold and full of surly gits.' --- David Damerell

Reply via email to