OK, I _think_ I've figured out what's happeneing, but it makes no sense. Can
someone who understands this argp code disaster help? What is this code
supposed to do, anyway? It's _terribly_ written, and not portable _at_
_all_. Perhaps we should jettison the whole nightmare.

So:

- If _LIBC is defined, argp_fmtstream_putc becomes putc.
- Otherwise, argp_fmtstream_putc and __argp_fmtstream_putc are defined as
  external.

- If __OPTIMIZE__ is defined:
  - If _LIBC is defined:
    - __argp_fmtstream_putc is defined as a function
  - If _LIBC is not defined:
    - argp_fmtstream_putc is defined as a function

- If _LIBC is not defined, and __OPTIMIZE__ is defined, argp_fmtstream_putc
  is declared as external _and_ is declared as a function. What!?

- If neither _LIBC nor __OPTIMIZE__ is defined, then argp_fmtstream_putc and
  __argp_fmtstream_putc are declared as external, and never defined.

This is obviously bogus.

Who wrote this crap?

-- 
Carson Gaspar -- [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
http://www.cs.columbia.edu/~carson/home.html
Queen Trapped in a Butch Body

Reply via email to