coar        99/03/31 15:49:18

  Modified:    apidoc   api.list dict-HTTP_GATEWAY_TIME_OUT.html
                        dict-ap_acquire_mutex.html
                        dict-ap_add_common_vars.html
                        dict-ap_add_per_dir_conf.html
                        dict-ap_append_arrays.html
                        dict-ap_block_alarms.html dict-ap_bprintf.html
                        dict-ap_clear_pool.html dict-ap_copy_array_hdr.html
                        dict-ap_create_mutex.html
                        dict-ap_destroy_mutex.html
                        dict-ap_destroy_pool.html
                        dict-ap_destroy_sub_req.html
                        dict-ap_escape_shell_cmd.html
                        dict-ap_get_client_block.html
                        dict-ap_kill_cleanup.html
                        dict-ap_kill_cleanups_for_fd.html
                        dict-ap_kill_cleanups_for_socket.html
                        dict-ap_kill_timeout.html
                        dict-ap_log_error_old.html
                        dict-ap_make_sub_pool.html dict-ap_make_table.html
                        dict-ap_note_subprocess.html
                        dict-ap_open_mutex.html dict-ap_pclosef.html
                        dict-ap_psprintf.html dict-ap_pvsprintf.html
                        dict-ap_run_sub_req.html
                        dict-ap_setup_client_block.html
                        dict-ap_should_client_block.html
                        dict-ap_snprintf.html dict-ap_spawn_child_err.html
                        dict-ap_spawn_child_err_buff.html
                        dict-ap_sub_req_lookup_file.html
                        dict-ap_sub_req_lookup_uri.html
                        dict-ap_table_addn.html dict-ap_table_mergen.html
                        dict-ap_table_setn.html dict-ap_unblock_alarms.html
                        dict-ap_vbprintf.html dict-ap_vsnprintf.html
                        dict-cmd_how.html mkapidict
  Added:       apidoc   .cvsignore
  Log:
        Change mkapidict to use command-line options rather than positional
        ARGV values.  Make layout level 0 be 'full,' with each definition
        in its own file (handy for reference, friendlier to the network
        and caches).  Get rid of hard-coded anchors, since the script
        now inserts them as it processes individual description files,
        and their syntax varies depending upon the layout.  Fix a bunch of
        HTML-unfriendly codings in the descriptions.
  
  Revision  Changes    Path
  1.10      +201 -197  apache-devsite/apidoc/api.list
  
  Index: api.list
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/api.list,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- api.list  1999/03/30 22:32:55     1.9
  +++ api.list  1999/03/31 23:48:34     1.10
  @@ -207,7 +207,7 @@
       ...determine modules to load and order of module list... \n \
   $* = first; \n \
   \n \
  -for (modp = $*; modp; modp = modp->next) { \n \
  +for (modp = $*; modp; modp = modp->next) { \n \
       ...do some per directory config processing... \n \
   } \
       |SA-module\
  @@ -266,7 +266,7 @@
   S|AP_MD5_CTX\
       |This is an opaque structure; you don't need to access any of its \
        elements.\
  -    |$* <EM>identifier</EM>\
  +    |$* <VAR>identifier</VAR>\
       |SA-md5\
       |
   R|ap_md5\
  @@ -317,7 +317,7 @@
   S|mutex\
       |This is an opaque structure; you don't need to access any of its \
        elements.\
  -    |$* <EM>identifier</EM>\
  +    |$* <VAR>identifier</VAR>\
       |\
       |dict-$*.html
   R|ap_acquire_mutex\
  @@ -358,102 +358,102 @@
       |\
       |
   C|SERVER_DEAD\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |switch (score_record.status) {\ncase $*: \n \
  -ap_rputs("Dead", r); \n \
  -break;\n}\
  +    ap_rputs("Dead", r); \n \
  +    break;\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|SERVER_STARTING\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |switch (score_record.status) {\ncase $*: \n \
  -ap_rputs("Starting", r); \n \
  -break;\n}\
  +    ap_rputs("Starting", r); \n \
  +    break;\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|SERVER_READY\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |switch (score_record.status) {\ncase $*: \n \
  -ap_rputs("Ready", r); \n \
  -break;\n}\
  +    ap_rputs("Ready", r); \n \
  +    break;\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|SERVER_BUSY_READ\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |switch (score_record.status) {\ncase $*: \n \
  -ap_rputs("<b>Read</b>", r); \n \
  -break;\n}\
  +    ap_rputs("&lt;B&gt;Read&lt;/B&gt;", r); \n \
  +    break;\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|SERVER_BUSY_WRITE\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |switch (score_record.status) {\ncase $*: \n \
  -ap_rputs("<b>Write</b>", r); \n \
  -break;\n}\
  +    ap_rputs("&lt;B&gt;Write&lt;/B&gt;", r); \n \
  +    break;\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|SERVER_BUSY_KEEPALIVE\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |switch (score_record.status) {\ncase $*: \n \
  -ap_rputs("<b>Keepalive</b>", r); \n \
  -break;\n}\
  +    ap_rputs("&lt;B&gt;Keepalive&lt;/B&gt;", r); \n \
  +    break;\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|SERVER_BUSY_LOG\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |switch (score_record.status) {\ncase $*: \n \
  -ap_rputs("<b>Logging</b>", r); \n \
  -break;\n}\
  +    ap_rputs("&lt;B&gt;Logging&lt;/B&gt;", r); \n \
  +    break;\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|SERVER_BUSY_DNS\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |switch (score_record.status) {\ncase $*: \n \
  -ap_rputs("<b>DNS lookup</b>", r); \n \
  -break;\n}\
  +    ap_rputs("&lt;B&gt;DNS lookup&lt;/B&gt;", r); \n \
  +    break;\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|SERVER_GRACEFUL\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |switch (score_record.status) {\ncase $*: \n \
  -ap_rputs("Graceful", r); \n \
  -break;\n}\
  +    ap_rputs("Graceful", r); \n \
  +    break;\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|SERVER_NUM_STATUS\
  -    |#define $* <EM>value</EM>\
  -    |if (score_record.status < $*)\nreturn OK;\
  +    |#define $* <VAR>value</VAR>\
  +    |if (score_record.status &lt; $*) {\n    return OK;\n} \
       |SA-scoreboard\
       |dict-$*.html
   C|START_PREQUEST\
  -    |#define $* <EM>value</EM>\
  -    |if (status == $*) {\n...deal with request start time...\n}\
  +    |#define $* <VAR>value</VAR>\
  +    |if (status == $*) {\n    ...deal with request start time...\n}\
       |SA-scoreboard\
       |dict-$*.html
   C|STOP_PREQUEST\
  -    |#define $* <EM>value</EM>\
  -    |if (status == $*) {\n...deal with request stop time...\n}\
  +    |#define $* <VAR>value</VAR>\
  +    |if (status == $*) {\n    ...deal with request stop time...\n}\
       |SA-scoreboard\
       |dict-$*.html
   D|ap_scoreboard_image\
       |extern scoreboard *$*;\
  -    |$*->global.exit_generation = 0;\
  +    |$*-&gt;global.exit_generation = 0;\
       |SA-scoreboard\
       |dict-$*.html
   S|vtime_t\
       |typedef unsigned vtime_t;\
       |short_score *ss; \n \
  -parent_score *ps = &amp;ap_scoreboard_image->parent[i]; \n \
  -if (ss->cur_vtime != ps->last_vtime) { \n \
  +parent_score *ps = &amp;ap_scoreboard_image-&gt;parent[i]; \n \
  +if (ss-&gt;cur_vtime != ps-&gt;last_vtime) { \n \
       /* it has made progress, so update its last_rtime, \n \
       * last_vtime */ \n \
  -    ps->last_rtime = now; \n \
  -    ps->last_vtime = ss->cur_vtime; \n \
  +    ps-&gt;last_rtime = now; \n \
  +    ps-&gt;last_vtime = ss-&gt;cur_vtime; \n \
   } \n \
  -else if (ps->last_rtime + ss->timeout_len < now) { \n \
  +else if (ps-&gt;last_rtime + ss-&gt;timeout_len &lt; now) { \n \
       /* no progress, and the timeout length has been exceeded */ \n \
  -    ss->timeout_len = 0; \n \
  -    kill(ps->pid, SIGALRM); \n \
  +    ss-&gt;timeout_len = 0; \n \
  +    kill(ps-&gt;pid, SIGALRM); \n \
   } \
       |SA-scoreboard\
       |dict-$*.html
  @@ -469,8 +469,8 @@
   #endif \n \
   } $*;\
       |$* ps_record; \n \
  -for (i = 0; i < HARD_SERVER_LIMIT; ++i) { \n \
  -    ps_record = ap_scoreboard_image->parent[i]; \n \
  +for (i = 0; i &lt; HARD_SERVER_LIMIT; ++i) { \n \
  +    ps_record = ap_scoreboard_image-&gt;parent[i]; \n \
   } \
       |SA-scoreboard\
       |dict-$*.html
  @@ -545,7 +545,7 @@
   S|ap_wait_t\
       |This is an opaque structure; you don't need to access any of its \
        elements.\
  -    |$* <EM>identifier</EM>\
  +    |$* <VAR>identifier</VAR>\
       |\
       |
   S|configfile_t\
  @@ -828,37 +828,37 @@
       |\
       |
   C|RSRC_CONF\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |\
       |SA-overrides\
       |dict-$*.html
   C|ACCESS_CONF\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |\
       |SA-overrides\
       |dict-$*.html
   C|OR_AUTHCFG\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |\
       |SA-overrides\
       |dict-$*.html
   C|OR_LIMIT\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |\
       |SA-overrides\
       |dict-$*.html
   C|OR_OPTIONS\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |\
       |SA-overrides\
       |dict-$*.html
   C|OR_FILEINFO\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |\
       |SA-overrides\
       |dict-$*.html
   C|OR_INDEXES\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |\
       |SA-overrides\
       |dict-$*.html
  @@ -874,7 +874,7 @@
       |\
       |
   S|table\
  -    |typedef struct $* {<EM>opaque-structure</EM>};\
  +    |typedef struct $* {<VAR>opaque-structure</VAR>};\
       |\
       |SA-tables\
       |dict-$*.html
  @@ -1005,7 +1005,7 @@
       |\
       |
   S|pool\
  -    |[struct] pool <em>opaque-structure</em>\
  +    |[struct] pool <VAR>opaque-structure</VAR>\
       |pool *p; \
        \nchar *foo; \
        \nfoo = ap_pstrcat(p, "string 1", "string 2", null);\
  @@ -1212,7 +1212,7 @@
       |SA-dirdata\
       |dict-$*.html
   C|RAW_ARGS\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |static const command_rec autoindex_cmds[] =\n\
   {\n\
           .\n\
  @@ -1224,7 +1224,7 @@
       |SA-dirdata\
       |dict-$*.html
   C|TAKE1\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |static const command_rec autoindex_cmds[] =\n\
   {\n\
           .\n\
  @@ -1235,7 +1235,7 @@
       |SA-dirdata\
       |dict-$*.html
   C|TAKE2\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |static const command_rec action_cmds[] =\n\
   {\n\
       {"Action", add_action, NULL, OR_FILEINFO, TAKE2,\n\
  @@ -1246,53 +1246,49 @@
       |SA-dirdata\
       |dict-$*.html
   C|ITERATE\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |static const command_rec autoindex_cmds[] =\n\
   {\n\
           .\n\
  -    {"IndexIgnore", add_ignore, NULL, DIR_CMD_PERMS, ITERATE,\n\
  +    {"IndexIgnore", add_ignore, NULL, DIR_CMD_PERMS, ITERATE,\n \
        "one or more file extensions"},\n\
  -        .\n\
       {NULL}\n\
   };\
       |SA-dirdata\
       |dict-$*.html
   C|ITERATE2\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |static const command_rec autoindex_cmds[] =\n\
   {\n\
  -    {"AddIcon", add_icon, BY_PATH, DIR_CMD_PERMS, ITERATE2,\N\
  +    {"AddIcon", add_icon, BY_PATH, DIR_CMD_PERMS, ITERATE2,\n \
        "an icon url followed by one or more filenames"},\n\
  -        .\n\
       {NULL}\n\
   };\
       |SA-dirdata\
       |dict-$*.html
   C|FLAG\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |static const command_rec autoindex_cmds[] =\n\
   {\n\
           .\n\
  -    {"FancyIndexing", fancy_indexing, NULL, DIR_CMD_PERMS, FLAG,\n\
  +    {"FancyIndexing", fancy_indexing, NULL, DIR_CMD_PERMS, FLAG,\n \
        "limited to 'on' or 'off' (superseded by IndexOptions 
FancyIndexing)"},\n\
  -        .\n\
       {NULL}\n\
   };\
       |SA-dirdata\
       |dict-$*.html
   C|NO_ARGS\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |static const command_rec negotiation_cmds[] =\n\
   {\n\
  -    {"CacheNegotiatedDocs", cache_negotiated_docs, NULL, RSRC_CONF, 
NO_ARGS,\n\
  +    {"CacheNegotiatedDocs", cache_negotiated_docs, NULL, RSRC_CONF, 
NO_ARGS,\n \
        "no arguments (either present or absent)"},\n\
  -        .\n\
       {NULL}\n\
   };\
       |SA-dirdata\
       |dict-$*.html
   C|TAKE12\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |static const command_rec config_log_cmds[] =\n\
   {\n\
           .\n\
  @@ -1304,12 +1300,12 @@
       |SA-dirdata\
       |dict-$*.html
   C|TAKE3\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |\
       |SA-dirdata\
       |dict-$*.html
   C|TAKE23\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |static const command_rec headers_cmds[] =\n\
   {\n\
       {"Header", header_cmd, NULL, OR_FILEINFO, TAKE23,\n\
  @@ -1320,12 +1316,12 @@
       |SA-dirdata\
       |dict-$*.html
   C|TAKE123\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |\
       |SA-dirdata\
       |dict-$*.html
   C|TAKE13\
  -    |<em>see</em> cmd_how.\
  +    |<EM>see</EM> cmd_how.\
       |\
       |SA-dirdata\
       |dict-$*.html
  @@ -1359,14 +1355,14 @@
       |dict-$*.html
   R|ap_os_canonical_filename\
       |char *$*(pool *p, const char *file);\
  -    |request_rec *r;\nr->filename = $*(r->pool, r->filename);\
  +    |request_rec *r;\nr-&gt;filename = $*(r-&gt;pool, r-&gt;filename);\
       |\
       |dict-$*.html
   R|ap_escape_quotes\
       |char *$*(pool *p, const char *str);\
       |cmd_parms *cmd;\nchar *word1;\n \
   core_dir_config *aconfig = (core_dir_config *)mconfig; \n \
  -aconfig->ap_auth_name = $*(cmd->pool, word1);\
  +aconfig-&gt;ap_auth_name = $*(cmd-&gt;pool, word1);\
       |\
       |dict-$*.html
   R|ap_log_error_old\
  @@ -1377,7 +1373,7 @@
   R|ap_parse_hostinfo_components\
       |int $*(pool *p, const char *hostinfo, uri_components *uptr);\
       |request_rec *r;\nconst char *uri;\nint status; \n \
  -status = $*(r->pool, uri, &amp;r->parsed_uri);\
  +status = $*(r-&gt;pool, uri, &amp;r-&gt;parsed_uri);\
       |\
       |dict-$*.html
   R|ap_psprintf\
  @@ -1394,7 +1390,7 @@
   R|ap_snprintf\
       |int $*(char *buf, size_t nbytes, const char *fmt, ...);\
       |char buffer[HUGE_STRING_LEN];\nrequest_rec *r;\n \
  -$*(buffer, sizeof(buffer), "connect %s http/1.0" crlf, r->uri);\
  +$*(buffer, sizeof(buffer), "connect %s http/1.0" crlf, r-&gt;uri);\
       |\
       |dict-$*.html
   R|ap_add_per_url_conf\
  @@ -2630,18 +2626,18 @@
   #; Miscellaneous constants
   #;
   C|MAX_STRING_LEN\
  -    |#define $* <EM>numbytes</EM>\
  +    |#define $* <VAR>numbytes</VAR>\
       |char random_string[$*];\
       |\
       |dict-$*.html
   C|SERVER_VERSION\
  -    |#define $* <EM>string</EM>\
  +    |#define $* <VAR>string</VAR>\
       |Deprecated; use ap_get_server_version() instead.\
       |\
       |dict-$*.html
   C|HARD_SERVER_LIMIT\
  -    |#define $* <EM>value</EM>\
  -    |for (i = 0; i < $*; ++i) {\n    ...per-child processing...\n}\
  +    |#define $* <VAR>value</VAR>\
  +    |for (i = 0; i &lt; $*; ++i) {\n    ...per-child processing...\n}\
       |\
       |dict-$*.html
   C|kill_conditions\
  @@ -2652,12 +2648,12 @@
       just_wait, \n \
       kill_only_once \n \
   };\
  -    |struct process_chain *p;\np->kill_how = kill_never; \
  +    |struct process_chain *p;\np-&gt;kill_how = kill_never; \
       |\
       |dict-$*.html
   C|MODULE_MAGIC_NUMBER\
  -    |#define $* <EM>monotonically-increasing-value</EM>\
  -    |module *m;\nif (m->version != MODULE_MAGIC_NUMBER)\n    exit(1);\
  +    |#define $* <VAR>monotonically-increasing-value</VAR>\
  +    |module *m;\nif (m-&gt;version != MODULE_MAGIC_NUMBER)\n    exit(1);\
       |\
       |dict-$*.html
   C|SERVER_SUPPORT\
  @@ -2676,22 +2672,22 @@
       |\
       |
   C|OK\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (!is_HTTP_ERROR(r->status)) { \n \
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (!is_HTTP_ERROR(r-&gt;status)) { \n \
       return $*; \n \
   } \
       |SA-dirstat\
       |dict-$*.html
   C|DECLINED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (is_HTTP_ERROR(r->status)) { \n \
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (is_HTTP_ERROR(r-&gt;status)) { \n \
       return $*; \n \
   } \
       |SA-dirstat\
       |dict-$*.html
   C|DONE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (!is_HTTP_ERROR(r->status)) { \n \
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (!is_HTTP_ERROR(r-&gt;status)) { \n \
       return $*; \n \
   } \
       |SA-dirstat\
  @@ -2700,193 +2696,193 @@
   #; HTTP status code declarations.
   #;
   C|HTTP_CONTINUE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_SWITCHING_PROTOCOLS\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_OK\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_CREATED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_ACCEPTED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_NON_AUTHORITATIVE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_NO_CONTENT\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_RESET_CONTENT\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_PARTIAL_CONTENT\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_MULTIPLE_CHOICES\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_MOVED_PERMANENTLY\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_MOVED_TEMPORARILY\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_SEE_OTHER\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_NOT_MODIFIED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_USE_PROXY\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_BAD_REQUEST\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_UNAUTHORIZED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_PAYMENT_REQUIRED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_FORBIDDEN\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_NOT_FOUND\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_METHOD_NOT_ALLOWED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_NOT_ACCEPTABLE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_PROXY_AUTHENTICATION_REQUIRED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_REQUEST_TIME_OUT\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_CONFLICT\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_GONE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_LENGTH_REQUIRED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_PRECONDITION_FAILED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_REQUEST_ENTITY_TOO_LARGE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_REQUEST_URI_TOO_LARGE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_UNSUPPORTED_MEDIA_TYPE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_INTERNAL_SERVER_ERROR\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_NOT_IMPLEMENTED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_BAD_GATEWAY\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_SERVICE_UNAVAILABLE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_GATEWAY_TIME_OUT\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_VERSION_NOT_SUPPORTED\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   C|HTTP_VARIANT_ALSO_VARIES\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->status == $*) {\n    ...processing for $* 
status...\n \}\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;status == $*) {\n    ...processing for $* 
status...\n}\
       |\
       |dict-$*.html
   #; Multithread stuff
  @@ -2896,7 +2892,7 @@
       |\
       |
   C|MULTI_OK\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |static int\nmap_rv(int rv)\n{ \n \
       switch(rv)\n    { \n \
       case WAIT_OBJECT_0: \n \
  @@ -2915,7 +2911,7 @@
       |SA-multi\
       |dict-$*.html
   C|MULTI_TIMEOUT\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |static int\nmap_rv(int rv)\n{ \n \
       switch(rv)\n    { \n \
       case WAIT_OBJECT_0: \n \
  @@ -2934,7 +2930,7 @@
       |SA-multi\
       |dict-$*.html
   C|MULTI_ERR\
  -    |#define $* <EM>value</EM>\
  +    |#define $* <VAR>value</VAR>\
       |static int\nmap_rv(int rv)\n{ \n \
       switch(rv)\n    { \n \
       case WAIT_OBJECT_0: \n \
  @@ -2965,42 +2961,42 @@
       |
   R|is_HTTP_INFO\
       |#define $*(x) (((x) &gt;= 100) &amp;&amp; ((x) &lt; 200))\
  -    |request_rec *r;\nif (!$*(r->status)) { \n \
  +    |request_rec *r;\nif (!$*(r-&gt;status)) { \n \
       return OK; \n \
   } \
       |SA-status-check\
       |dict-$*.html
   R|is_HTTP_SUCCESS\
       |#define $*(x) (((x) &gt;= 200) &amp;&amp; ((x) &lt; 300))\
  -    |request_rec *r;\nif (!$*(r->status)) { \n \
  +    |request_rec *r;\nif (!$*(r-&gt;status)) { \n \
       return OK; \n \
   } \
       |SA-status-check\
       |dict-$*.html
   R|is_HTTP_REDIRECT\
       |#define $*(x) (((x) &gt;= 300) &amp;&amp; ((x) &lt; 400))\
  -    |request_rec *r;\nif (!$*(r->status)) { \n \
  +    |request_rec *r;\nif (!$*(r-&gt;status)) { \n \
       return OK; \n \
   } \
       |SA-status-check\
       |dict-$*.html
   R|is_HTTP_ERROR\
       |#define $*(x) (((x) &gt;= 400) &amp;&amp; ((x) &lt; 600))\
  -    |request_rec *r;\nif (!$*(r->status)) { \n \
  +    |request_rec *r;\nif (!$*(r-&gt;status)) { \n \
       return DONE; \n \
   } \
       |SA-status-check\
       |dict-$*.html
   R|is_HTTP_CLIENT_ERROR\
       |#define $*(x) (((x) &gt;= 400) &amp;&amp; ((x) &lt; 500))\
  -    |request_rec *r;\nif (!$*(r->status)) { \n \
  +    |request_rec *r;\nif (!$*(r-&gt;status)) { \n \
       return DONE; \n \
   } \
       |SA-status-check\
       |dict-$*.html
   R|is_HTTP_SERVER_ERROR\
       |#define $*(x) (((x) &gt;= 500) &amp;&amp; ((x) &lt; 600))\
  -    |request_rec *r;\nif (!$*(r->status)) { \n \
  +    |request_rec *r;\nif (!$*(r-&gt;status)) { \n \
       return DONE; \n \
   } \
       |SA-status-check\
  @@ -3022,9 +3018,9 @@
        * If we want to keep the connection, be sure that the request body \n \
        * (if any) has been read. \n \
        */ \n \
  -    if ((r->status != HTTP_NOT_MODIFIED) &amp;&amp; (r->status != 
HTTP_NO_CONTENT) \n \
  -        &amp;&amp; !$*(r->status) \n \
  -        &amp;&amp; r->connection &amp;&amp; (r->connection->keepalive != 
-1)) { \n \
  +    if ((r-&gt;status != HTTP_NOT_MODIFIED) &amp;&amp; (r-&gt;status != 
HTTP_NO_CONTENT) \n \
  +        &amp;&amp; !$*(r-&gt;status) \n \
  +        &amp;&amp; r-&gt;connection &amp;&amp; 
(r-&gt;connection-&gt;keepalive != -1)) { \n \
           (void) ap_discard_request_body(r); \n \
       } \
       |SA-status-check\
  @@ -3035,42 +3031,50 @@
       |\
       |
   C|M_GET\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->method_number == $*) return 
HTTP_METHOD_NOT_ALLOWED;\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;method_number == $*) {\n \
  +    return HTTP_METHOD_NOT_ALLOWED;\n} \
       |SA-methods\
       |dict-$*.html
   C|M_PUT\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->method_number == $*) return 
HTTP_METHOD_NOT_ALLOWED;\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;method_number == $*) {\n \
  +    return HTTP_METHOD_NOT_ALLOWED;\n} \
       |SA-methods\
       |dict-$*.html
   C|M_POST\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->method_number == $*) return 
HTTP_METHOD_NOT_ALLOWED;\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;method_number == $*) {\n \
  +    return HTTP_METHOD_NOT_ALLOWED;\n} \
       |SA-methods\
       |dict-$*.html
   C|M_DELETE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->method_number == $*) return 
HTTP_METHOD_NOT_ALLOWED;\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;method_number == $*) {\n \
  +    return HTTP_METHOD_NOT_ALLOWED;\n} \
       |SA-methods\
       |dict-$*.html
   C|M_CONNECT\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->method_number == $*) return 
HTTP_METHOD_NOT_ALLOWED;\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;method_number == $*) {\n \
  +    return HTTP_METHOD_NOT_ALLOWED;\n} \
       |SA-methods\
       |dict-$*.html
   C|M_OPTIONS\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->method_number == $*) return 
HTTP_METHOD_NOT_ALLOWED;\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;method_number == $*) {\n \
  +    return HTTP_METHOD_NOT_ALLOWED;\n} \
       |SA-methods\
       |dict-$*.html
   C|M_TRACE\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->method_number == $*) return 
HTTP_METHOD_NOT_ALLOWED;\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;method_number == $*) {\n \
  +    return HTTP_METHOD_NOT_ALLOWED;\n} \
       |SA-methods\
       |dict-$*.html
   C|M_INVALID\
  -    |#define $* <EM>value</EM>\
  -    |request_rec *r;\nif (r->method_number == $*) return 
HTTP_METHOD_NOT_ALLOWED;\
  +    |#define $* <VAR>value</VAR>\
  +    |request_rec *r;\nif (r-&gt;method_number == $*) {\n \
  +    return HTTP_METHOD_NOT_ALLOWED;\n} \
       |SA-methods\
       |dict-$*.html
  
  
  
  1.2       +1 -1      apache-devsite/apidoc/dict-HTTP_GATEWAY_TIME_OUT.html
  
  Index: dict-HTTP_GATEWAY_TIME_OUT.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-HTTP_GATEWAY_TIME_OUT.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-HTTP_GATEWAY_TIME_OUT.html   1999/03/06 18:16:25     1.1
  +++ dict-HTTP_GATEWAY_TIME_OUT.html   1999/03/31 23:48:34     1.2
  @@ -2,4 +2,4 @@
   Constant denoting HTTP Gateway Time Out status. The server, while acting
   as a gateway or proxy, did not receive a timely response from the upstream
   server it accessed in attempting to complete the request.
  -/P>
  +</P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_acquire_mutex.html
  
  Index: dict-ap_acquire_mutex.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_acquire_mutex.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_acquire_mutex.html        1999/03/06 18:16:38     1.2
  +++ dict-ap_acquire_mutex.html        1999/03/31 23:48:34     1.3
  @@ -1,5 +1,5 @@
   <P>
  -Acquires a <A HREF="#mutex">mutex</A>. Only actually does anything on
  +Acquires a mutex. Only actually does anything on
   multithreaded platforms.
   </P>
   <P>
  
  
  
  1.2       +1 -1      apache-devsite/apidoc/dict-ap_add_common_vars.html
  
  Index: dict-ap_add_common_vars.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_add_common_vars.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_add_common_vars.html      1999/03/06 18:16:39     1.1
  +++ dict-ap_add_common_vars.html      1999/03/31 23:48:35     1.2
  @@ -3,7 +3,7 @@
   placed there are:
   </P>
   <TABLE>
  -<TR><TD>CGI variables (see <A HREF="#ap_add_cgi_vars">ap_add_cgi_vars</A>)
  +<TR><TD>CGI variables (see ap_add_cgi_vars)
   <TR><TD>CONTENT_TYPE
   <TR><TD>CONTENT_LENGTH
   <TR><TD>PATH
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_add_per_dir_conf.html
  
  Index: dict-ap_add_per_dir_conf.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_add_per_dir_conf.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_add_per_dir_conf.html     1999/03/30 22:10:48     1.2
  +++ dict-ap_add_per_dir_conf.html     1999/03/31 23:48:35     1.3
  @@ -3,5 +3,5 @@
   these are part of the core server config.
   </P>
   <P>
  -Returns a <A HREF="#core_server_config">core_server_config</A> structure.
  +Returns a core_server_config structure.
   </P>
  
  
  
  1.3       +3 -3      apache-devsite/apidoc/dict-ap_append_arrays.html
  
  Index: dict-ap_append_arrays.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_append_arrays.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_append_arrays.html        1999/03/30 22:10:49     1.2
  +++ dict-ap_append_arrays.html        1999/03/31 23:48:35     1.3
  @@ -1,8 +1,8 @@
   <P>
  -Makes a new array consisting of <EM>b</EM> appended to <EM>a</EM>. If 
<EM>b</EM>
  +Makes a new array consisting of <EM>b</EM> appended to <EM>a</EM>.
  +If <EM>b</EM>
   is empty, the new array is the same as <EM>a</EM> until a new element is 
added.
  -This is a result of using <A HREF=#ap_copy_array_header>ap_copy_array_header
  -</A> to make the new array.
  +This is a result of using ap_copy_array_header to make the new array.
   </P>
   <P>
   Returns a pointer to the new array.
  
  
  
  1.2       +1 -1      apache-devsite/apidoc/dict-ap_block_alarms.html
  
  Index: dict-ap_block_alarms.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_block_alarms.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_block_alarms.html 1999/03/06 18:16:41     1.1
  +++ dict-ap_block_alarms.html 1999/03/31 23:48:36     1.2
  @@ -3,5 +3,5 @@
   </P>
   <P>
   Calls to this function can be nested, but each call must have a corresponding
  -call to <A HREF=#unblock_alarms>unblock_alarms</A>.
  +call to unblock_alarms.
   </P>
  
  
  
  1.2       +1 -1      apache-devsite/apidoc/dict-ap_bprintf.html
  
  Index: dict-ap_bprintf.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_bprintf.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_bprintf.html      1999/03/06 18:16:41     1.1
  +++ dict-ap_bprintf.html      1999/03/31 23:48:36     1.2
  @@ -1,5 +1,5 @@
   <P>
  -Copies formatted data to a <A HREF="#BUFF">BUFF</A> structure.
  +Copies formatted data to a BUFF structure.
   </P>
   <P>
   Returns 0 on success, -1 on failure.
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_clear_pool.html
  
  Index: dict-ap_clear_pool.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_clear_pool.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_clear_pool.html   1999/03/30 22:11:01     1.2
  +++ dict-ap_clear_pool.html   1999/03/31 23:48:36     1.3
  @@ -1,5 +1,5 @@
   <P>
   Clears a pool, destroying all subpools of the pool using
  -<A HREF="#ap_destroy_pool">ap_destroy_pool</A>. The pool is then ready to be
  +ap_destroy_pool. The pool is then ready to be
   reused.
   </P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_copy_array_hdr.html
  
  Index: dict-ap_copy_array_hdr.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_copy_array_hdr.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_copy_array_hdr.html       1999/03/30 22:11:04     1.2
  +++ dict-ap_copy_array_hdr.html       1999/03/31 23:48:36     1.3
  @@ -1,6 +1,6 @@
   <P>
   Copies <EM>arr</EM> into the pool <EM>p</EM> without copying the array's
  -contents. If <A HREF=#ap_push_array>ap_push_array</A> is used to extend
  +contents. If ap_push_array is used to extend
   the new array, the original array is copied to it before the extend takes
   place.
   </P>
  
  
  
  1.3       +2 -2      apache-devsite/apidoc/dict-ap_create_mutex.html
  
  Index: dict-ap_create_mutex.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_create_mutex.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_create_mutex.html 1999/03/30 22:11:06     1.2
  +++ dict-ap_create_mutex.html 1999/03/31 23:48:37     1.3
  @@ -1,7 +1,7 @@
   <P>
  -Creates a <A HREF="#mutex">mutex</A>. Only actually does anything on
  +Creates a mutex. Only actually does anything on
   multithreaded platforms.
   </P>
   <P>
  -Returns a <A HREF="#mutex">mutex *</A> in <EM>name</EM>.
  +Returns a mutex * in <EM>name</EM>.
   </P>
  
  
  
  1.2       +1 -1      apache-devsite/apidoc/dict-ap_destroy_mutex.html
  
  Index: dict-ap_destroy_mutex.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_destroy_mutex.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_destroy_mutex.html        1999/03/06 18:16:46     1.1
  +++ dict-ap_destroy_mutex.html        1999/03/31 23:48:37     1.2
  @@ -1,5 +1,5 @@
   <P>
  -Destroys a <A HREF="#mutex">mutex</A>. Only actually does anything on
  +Destroys a mutex. Only actually does anything on
   multithreaded platforms.
   </P>
   <P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_destroy_pool.html
  
  Index: dict-ap_destroy_pool.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_destroy_pool.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_destroy_pool.html 1999/03/06 18:16:46     1.2
  +++ dict-ap_destroy_pool.html 1999/03/31 23:48:37     1.3
  @@ -1,6 +1,6 @@
   <P>
   This function will recursively destroy the specified
  -<A HREF="#pool">pool</A> allocation area and any sub-pools of it,
  +pool allocation area and any sub-pools of it,
   making any memory allocated to them available for use elsewhere.
   Cleanups for the contents of the destroyed pool are run, after the
   subpools have been reclaimed.
  
  
  
  1.3       +2 -2      apache-devsite/apidoc/dict-ap_destroy_sub_req.html
  
  Index: dict-ap_destroy_sub_req.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_destroy_sub_req.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_destroy_sub_req.html      1999/03/30 22:11:07     1.2
  +++ dict-ap_destroy_sub_req.html      1999/03/31 23:48:37     1.3
  @@ -1,6 +1,6 @@
   <P>
   Destroys a subrequest generated by
  -<A HREF=#ap_sub_req_lookup_file>ap_sub_req_lookup_file</A> or
  -<A HREF=#ap_sub_req_lookup_uri>ap_sub_req_lookup_uri</A> and releases all
  +ap_sub_req_lookup_file or
  +ap_sub_req_lookup_uri and releases all
   memory allocated to it.
   </P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_escape_shell_cmd.html
  
  Index: dict-ap_escape_shell_cmd.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_escape_shell_cmd.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_escape_shell_cmd.html     1999/03/30 22:11:09     1.2
  +++ dict-ap_escape_shell_cmd.html     1999/03/31 23:48:38     1.3
  @@ -4,7 +4,7 @@
   </P>
   <DL>
    <DD>&amp;;`'"|*?~&lt;&gt;^()[]{}$\ and \n
  -</P>
  +</DL>
   <P>
   Returns the escaped string. Note that '&amp;' is converted to ' ' on
   both OS/2 and Win32 systems.
  
  
  
  1.3       +2 -2      apache-devsite/apidoc/dict-ap_get_client_block.html
  
  Index: dict-ap_get_client_block.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_get_client_block.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_get_client_block.html     1999/03/30 22:11:10     1.2
  +++ dict-ap_get_client_block.html     1999/03/31 23:48:38     1.3
  @@ -1,7 +1,7 @@
   <P>
   Reads up to <EM>bufsize</EM> characters into <EM>buffer</EM> from the client.
  -<A HREF=#ap_setup_client_block>ap_setup_client_block</A> and
  -<A HREF=#ap_should_client_block>ap_should_client_block</A> should be
  +ap_setup_client_block and
  +ap_should_client_block should be
   called before using this.
   </P>
   <P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_kill_cleanup.html
  
  Index: dict-ap_kill_cleanup.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_kill_cleanup.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_kill_cleanup.html 1999/03/30 22:11:22     1.2
  +++ dict-ap_kill_cleanup.html 1999/03/31 23:48:38     1.3
  @@ -4,5 +4,5 @@
   </P>
   <P>
   Note: <EM>data</EM> must point to the same memory that was used for the
  -<A HREF=#ap_register_cleanup>ap_register_cleanup</A> call.
  +ap_register_cleanup call.
   </P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_kill_cleanups_for_fd.html
  
  Index: dict-ap_kill_cleanups_for_fd.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_kill_cleanups_for_fd.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_kill_cleanups_for_fd.html 1999/03/30 22:11:22     1.2
  +++ dict-ap_kill_cleanups_for_fd.html 1999/03/31 23:48:39     1.3
  @@ -1,6 +1,6 @@
   <P>
   Kill cleanups for <EM>fd</EM> registered previously; <EM>i.e.</EM>, with
  -<A HREF=#ap_note_cleanups_for_fd>ap_note_cleanups_for_fd</A>.
  +ap_note_cleanups_for_fd.
   </P>
   <P>
   Normally done automatically when <EM>fd</EM> is closed.
  
  
  
  1.3       +1 -1      
apache-devsite/apidoc/dict-ap_kill_cleanups_for_socket.html
  
  Index: dict-ap_kill_cleanups_for_socket.html
  ===================================================================
  RCS file: 
/home/cvs/apache-devsite/apidoc/dict-ap_kill_cleanups_for_socket.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_kill_cleanups_for_socket.html     1999/03/30 22:11:23     1.2
  +++ dict-ap_kill_cleanups_for_socket.html     1999/03/31 23:48:39     1.3
  @@ -1,6 +1,6 @@
   <P>
   Kill cleanups for <EM>sock</EM> registered previously; <EM>i.e.</EM>, with
  -<A HREF=#ap_note_cleanups_for_socket>ap_note_cleanups_for_socket</A>.
  +ap_note_cleanups_for_socket.
   </P>
   <P>
   Normally done automatically when <EM>sock</EM> is closed.
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_kill_timeout.html
  
  Index: dict-ap_kill_timeout.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_kill_timeout.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_kill_timeout.html 1999/03/30 22:11:23     1.2
  +++ dict-ap_kill_timeout.html 1999/03/31 23:48:39     1.3
  @@ -1,3 +1,3 @@
   <P>
  -Clears the current timeout on the <A HREF=#request_rec>request_rec</A> 
<EM>r</EM>.
  +Clears the current timeout on the request_rec <EM>r</EM>.
   </P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_log_error_old.html
  
  Index: dict-ap_log_error_old.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_log_error_old.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_log_error_old.html        1999/03/30 22:11:24     1.2
  +++ dict-ap_log_error_old.html        1999/03/31 23:48:40     1.3
  @@ -2,5 +2,5 @@
   Logs the message string in <EM>err</EM> to <EM>s-&gt;error_log</EM>.
   </P>
   <P>
  -Implemented in terms of <A HREF="#ap_log_error">ap_log_error</A>.
  +Implemented in terms of ap_log_error.
   </P>
  
  
  
  1.3       +6 -5      apache-devsite/apidoc/dict-ap_make_sub_pool.html
  
  Index: dict-ap_make_sub_pool.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_make_sub_pool.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_make_sub_pool.html        1999/03/30 22:11:26     1.2
  +++ dict-ap_make_sub_pool.html        1999/03/31 23:48:40     1.3
  @@ -1,16 +1,17 @@
     <P>
  -  This function creates a new <A HREF="#pool">pool area</A>
  +  This function creates a new pool area
     for memory allocation.  The
     new area is considered to be a &quot;child&quot; of the pool
     passed to the routine; this permits a hierarchy of related storage
     areas.  When a pool is destroyed (see
  -  <A HREF="#ap_destroy_pool"><SAMP>ap_destroy_pool</SAMP></A>),
  +  ap_destroy_pool),
     any sub-pools it may have are also destroyed recursively.
     </P>
     <P>
     An example of when this hierarchy concept is useful can be found in the
     <A HREF="http://www.apache.org/docs/mod/mod_autoindex.html";
  -  >automatic directory listing module</A>.  Since the module can't
  +  >mod_autoindex</A>, which is used to generate automatic directory listings.
  +  Since mod_autoindex can't
     tell in advance how many files it will have to list, nor how long the
     names will be, nor what other functions might need to allocate memory
     to process the request, it creates a sub-pool of the one associated
  @@ -18,13 +19,13 @@
     it, and clears it for each new file.
     </P>
     <P>
  -  If the pointer passed to <SAMP>ap_make_sub_pool</SAMP> is 
<CODE>NULL</CODE>,
  +  If the pointer passed to ap_make_sub_pool is <CODE>NULL</CODE>,
     a new top-level (<EM>i.e.</EM>, parentless) pool is created.  This
     is generally not recommended, however, since the only record of a
     pool's existence is the pointer returned - a simple logic error can
     result in pools being created and lost, along with any allocations
     made in them.  Most pools are created to deal with <EM>per</EM>-request
     processing, and hence should be sub-pools of the request's pool
  -  (<A HREF="#request_rec"><SAMP>r-&gt;pool</SAMP></A>) to ensure that
  +  (<SAMP>r-&gt;pool</SAMP>) to ensure that
     they are properly cleaned up on request completion.
     </P>
  
  
  
  1.3       +2 -2      apache-devsite/apidoc/dict-ap_make_table.html
  
  Index: dict-ap_make_table.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_make_table.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_make_table.html   1999/03/30 22:11:27     1.2
  +++ dict-ap_make_table.html   1999/03/31 23:48:40     1.3
  @@ -1,7 +1,7 @@
   <P>
  -Makes a new <A HREF=#table>table</A> with enough memory for <EM>nelts</EM>
  +Makes a new table with enough memory for <EM>nelts</EM>
   elements.
   </P>
   <P>
  -Returns a pointer to the new <A HREF=#table>table</A>.
  +Returns a pointer to the new table.
   </P>
  
  
  
  1.2       +1 -1      apache-devsite/apidoc/dict-ap_note_subprocess.html
  
  Index: dict-ap_note_subprocess.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_note_subprocess.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_note_subprocess.html      1999/03/06 18:16:59     1.1
  +++ dict-ap_note_subprocess.html      1999/03/31 23:48:40     1.2
  @@ -2,6 +2,6 @@
   Registers a subprocess which will be killed on pool destruction.
   </P>
   <P>
  -See <A HREF=#kill_conditions>kill_conditions</A> for the various ways
  +See kill_conditions for the various ways
   the child process can be killed.
   </P>
  
  
  
  1.3       +2 -2      apache-devsite/apidoc/dict-ap_open_mutex.html
  
  Index: dict-ap_open_mutex.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_open_mutex.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_open_mutex.html   1999/03/30 22:11:31     1.2
  +++ dict-ap_open_mutex.html   1999/03/31 23:48:40     1.3
  @@ -1,7 +1,7 @@
   <P>
  -Opens a <A HREF="#mutex">mutex</A>. Only actually does anything on
  +Opens a mutex. Only actually does anything on
   multithreaded platforms.
   </P>
   <P>
  -Returns a <A HREF="#mutex">mutex *</A> in <EM>name</EM>.
  +Returns a mutex * in <EM>name</EM>.
   </P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_pclosef.html
  
  Index: dict-ap_pclosef.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_pclosef.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_pclosef.html      1999/03/30 22:11:37     1.2
  +++ dict-ap_pclosef.html      1999/03/31 23:48:41     1.3
  @@ -1,5 +1,5 @@
   <P>
  -Closes a file previously opened with <A HREF=#popenf>popenf</A>. The file's
  +Closes a file previously opened with popenf. The file's
   cleanup function is destroyed.</P>
   <P>
   Returns a normal <EM>close</EM> return value.
  
  
  
  1.2       +2 -2      apache-devsite/apidoc/dict-ap_psprintf.html
  
  Index: dict-ap_psprintf.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_psprintf.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_psprintf.html     1999/03/06 18:17:07     1.1
  +++ dict-ap_psprintf.html     1999/03/31 23:48:41     1.2
  @@ -1,5 +1,5 @@
   <P>
  -Writes formatted data to a <A HREF="#pool">pool</A>.
  +Writes formatted data to a pool.
   Returns 0 on success, exits with return code 1 if out of memory.
   </P>
   <P>
  @@ -17,5 +17,5 @@
   self-contained with no callouts.
   </P>
   <P>
  -ap_psprintf is implemented using <A HREF="#ap_pvsprintf">ap_pvsprintf</A>.
  +ap_psprintf is implemented using ap_pvsprintf.
   </P>
  
  
  
  1.2       +2 -2      apache-devsite/apidoc/dict-ap_pvsprintf.html
  
  Index: dict-ap_pvsprintf.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_pvsprintf.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_pvsprintf.html    1999/03/06 18:17:08     1.1
  +++ dict-ap_pvsprintf.html    1999/03/31 23:48:41     1.2
  @@ -1,7 +1,7 @@
   <P>
  -Writes a varargs list to a <A HREF="#pool">pool</A>.
  +Writes a varargs list to a pool.
   Returns 0 on success, exits with return code 1 if out of memory.
   </P>
   <P>
  -<A HREF="#ap_psprintf">ap_psprintf</A> is implemented using ap_pvsprintf.
  +ap_psprintf is implemented using ap_pvsprintf.
   </P>
  
  
  
  1.3       +2 -2      apache-devsite/apidoc/dict-ap_run_sub_req.html
  
  Index: dict-ap_run_sub_req.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_run_sub_req.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_run_sub_req.html  1999/03/30 22:11:44     1.2
  +++ dict-ap_run_sub_req.html  1999/03/31 23:48:41     1.3
  @@ -1,7 +1,7 @@
   <P>
   Runs a subrequest generated with
  -<A HREF=#ap_sub_req_lookup_file>ap_sub_req_lookup_file</A> or
  -<A HREF=#ap_sub_req_lookup_uri>ap_sub_req_lookup_uri</A>.
  +ap_sub_req_lookup_file or
  +ap_sub_req_lookup_uri.
   </P>
   <P>
   Returns the status code of the request handler.
  
  
  
  1.2       +1 -1      apache-devsite/apidoc/dict-ap_setup_client_block.html
  
  Index: dict-ap_setup_client_block.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_setup_client_block.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_setup_client_block.html   1999/03/06 18:17:17     1.1
  +++ dict-ap_setup_client_block.html   1999/03/31 23:48:42     1.2
  @@ -1,7 +1,7 @@
   <P>
   Readies to receive data from the client, normally because the client made a
   PUT or POST request. Should be called before
  -<A HREF=#ap_should_client_block>ap_should_client_block</A>.
  +ap_should_client_block.
   </P>
   <P>
   Returns OK if data is allowed from the client, or a status code if it is not.
  
  
  
  1.2       +2 -2      apache-devsite/apidoc/dict-ap_should_client_block.html
  
  Index: dict-ap_should_client_block.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_should_client_block.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_should_client_block.html  1999/03/06 18:17:17     1.1
  +++ dict-ap_should_client_block.html  1999/03/31 23:48:43     1.2
  @@ -1,8 +1,8 @@
   <P>
   Checks if the client will send data and invites it to continue doing so.
   Sends a 100 Continue response if HTTP 1.1 or higher. This function should
  -be called after <A HREF=#ap_setup_client_block>ap_setup_client_block</A>
  -and before <A HREF=#ap_get_client_block>ap_get_client_block</A>.
  +be called after ap_setup_client_block
  +and before ap_get_client_block.
   </P>
   <P>
   Returns 1 if the client should send data, 0 if not.
  
  
  
  1.2       +1 -2      apache-devsite/apidoc/dict-ap_snprintf.html
  
  Index: dict-ap_snprintf.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_snprintf.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_snprintf.html     1999/03/06 18:17:18     1.1
  +++ dict-ap_snprintf.html     1999/03/31 23:48:43     1.2
  @@ -1,6 +1,5 @@
   <P>
  -These are snprintf implementations based on <A HREF="#ap_vformatter">
  -ap_vformatter()</A>.
  +These are snprintf implementations based on ap_vformatter().
   </P>
   <P>
   Note that various standards and implementations disagree on the return
  
  
  
  1.3       +2 -2      apache-devsite/apidoc/dict-ap_spawn_child_err.html
  
  Index: dict-ap_spawn_child_err.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_spawn_child_err.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_spawn_child_err.html      1999/03/30 22:11:48     1.2
  +++ dict-ap_spawn_child_err.html      1999/03/31 23:48:43     1.3
  @@ -2,9 +2,9 @@
   Spawns a child process. Pipes may be optionally connected to the child's
   standard input, output, and error. If any of the pipes are NULL, they aren't
   created. If <EM>func</EM> will need cleanup, it calls
  -<A HREF=#ap_cleanup_for_exec>ap_cleanup_for_exec</A>.
  +ap_cleanup_for_exec.
   </P>
   <P>
  -See <A HREF=#kill_conditions>kill_conditions</A> for the various ways
  +See kill_conditions for the various ways
   the child process can be killed. Returns PID of the child, or -1 on error.
   </P>
  
  
  
  1.3       +4 -4      apache-devsite/apidoc/dict-ap_spawn_child_err_buff.html
  
  Index: dict-ap_spawn_child_err_buff.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_spawn_child_err_buff.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_spawn_child_err_buff.html 1999/03/30 22:11:48     1.2
  +++ dict-ap_spawn_child_err_buff.html 1999/03/31 23:48:43     1.3
  @@ -1,10 +1,10 @@
   <P>
  -Spawns a child process. <A HREF=#BUFF>BUFF</A>s may be optionally connected
  +Spawns a child process. BUFFs may be optionally connected
   to the child's standard input, output, and error. If any of the
  -<A HREF=#BUFF>BUFF</A>s are NULL, they aren't created. If <EM>func</EM> will
  -need cleanup, it calls <A HREF=#ap_cleanup_for_exec>ap_cleanup_for_exec</A>.
  +BUFFs are NULL, they aren't created. If <EM>func</EM> will
  +need cleanup, it calls ap_cleanup_for_exec.
   </P>
   <P>
  -See <A HREF=#kill_conditions>kill_conditions</A> for the various ways
  +See kill_conditions for the various ways
   the child process can be killed. Returns PID of the child, or -1 on error.
   </P>
  
  
  
  1.3       +2 -2      apache-devsite/apidoc/dict-ap_sub_req_lookup_file.html
  
  Index: dict-ap_sub_req_lookup_file.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_sub_req_lookup_file.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_sub_req_lookup_file.html  1999/03/30 22:11:50     1.2
  +++ dict-ap_sub_req_lookup_file.html  1999/03/31 23:48:44     1.3
  @@ -1,9 +1,9 @@
   <P>
  -Processes <EM>new_file</EM> to produce a new <A 
HREF=#request_rec>request_rec</A>,
  +Processes <EM>new_file</EM> to produce a new request_rec,
   which is processed up to the point where the new request handler would be
   called. If the URI is relative, it is processed relative to the URI of 
<EM>r</EM>.
   </P>
   <P>
  -Returns the new <A HREF=#request_rec>request_rec</A>, whose <EM>status</EM>
  +Returns the new request_rec, whose <EM>status</EM>
   member contains any error code.
   </P>
  
  
  
  1.3       +2 -2      apache-devsite/apidoc/dict-ap_sub_req_lookup_uri.html
  
  Index: dict-ap_sub_req_lookup_uri.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_sub_req_lookup_uri.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_sub_req_lookup_uri.html   1999/03/30 22:11:50     1.2
  +++ dict-ap_sub_req_lookup_uri.html   1999/03/31 23:48:44     1.3
  @@ -1,10 +1,10 @@
   <P>
   Processes the URI <EM>new_file</EM> to produce a new
  -<A HREF=#request_rec>request_rec</A>, which is processed up to the point
  +request_rec, which is processed up to the point
   where the new request handler would be called. If the URI is relative, it
   is processed relative to the URI of <EM>r</EM>.
   </P>
   <P>
  -Returns the new <A HREF=#request_rec>request_rec</A>, whose <EM>status</EM>
  +Returns the new request_rec, whose <EM>status</EM>
   member contains any error code.
   </P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_table_addn.html
  
  Index: dict-ap_table_addn.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_table_addn.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_table_addn.html   1999/03/30 22:11:52     1.2
  +++ dict-ap_table_addn.html   1999/03/31 23:48:44     1.3
  @@ -3,5 +3,5 @@
   </P>
   <P>
   A new table entry is always created, even if it duplicates another.
  -This function does not use <A HREF=#ap_pstrdup>ap_pstrdup</A>.
  +This function does not use ap_pstrdup.
   </P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_table_mergen.html
  
  Index: dict-ap_table_mergen.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_table_mergen.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_table_mergen.html 1999/03/30 22:11:53     1.2
  +++ dict-ap_table_mergen.html 1999/03/31 23:48:44     1.3
  @@ -4,5 +4,5 @@
   </P>
   <P>
   If more than one occurrence of <EM>name</EM> exists, only the first is 
modified.
  -This function does not use <A HREF=#ap_pstrdup>ap_pstrdup</A>.
  +This function does not use ap_pstrdup.
   </P>
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-ap_table_setn.html
  
  Index: dict-ap_table_setn.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_table_setn.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-ap_table_setn.html   1999/03/30 22:11:55     1.2
  +++ dict-ap_table_setn.html   1999/03/31 23:48:44     1.3
  @@ -2,5 +2,5 @@
   Replaces or creates <EM>t</EM> with new <EM>val</EM> in table <EM>t</EM>.
   </P>
   <P>
  -This function does not use <A HREF=#ap_pstrdup>ap_pstrdup</A>.
  +This function does not use ap_pstrdup.
   </P>
  
  
  
  1.2       +1 -1      apache-devsite/apidoc/dict-ap_unblock_alarms.html
  
  Index: dict-ap_unblock_alarms.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_unblock_alarms.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_unblock_alarms.html       1999/03/06 18:17:22     1.1
  +++ dict-ap_unblock_alarms.html       1999/03/31 23:48:44     1.2
  @@ -1,3 +1,3 @@
   <P>
  -Removes a block on alarms for a call to <A 
HREF=#block_alarms>block_alarms</A>.
  +Removes a block on alarms for a call to block_alarms.
   </P>
  
  
  
  1.2       +1 -1      apache-devsite/apidoc/dict-ap_vbprintf.html
  
  Index: dict-ap_vbprintf.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_vbprintf.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_vbprintf.html     1999/03/06 18:17:23     1.1
  +++ dict-ap_vbprintf.html     1999/03/31 23:48:45     1.2
  @@ -1,5 +1,5 @@
   <P>
  -Copies formatted data to a <A HREF="#BUFF">BUFF</A> structure.
  +Copies formatted data to a BUFF structure.
   </P>
   <P>
   Returns 0 on success, -1 on failure.
  
  
  
  1.2       +1 -2      apache-devsite/apidoc/dict-ap_vsnprintf.html
  
  Index: dict-ap_vsnprintf.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-ap_vsnprintf.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dict-ap_vsnprintf.html    1999/03/06 18:17:23     1.1
  +++ dict-ap_vsnprintf.html    1999/03/31 23:48:45     1.2
  @@ -1,6 +1,5 @@
   <P>
  -These are vsnprintf implementations based on <A HREF="#ap_vformatter">
  -ap_vformatter()</A>.
  +These are vsnprintf implementations based on ap_vformatter().
   </P>
   <P>
   Note that various standards and implementations disagree on the return
  
  
  
  1.3       +1 -1      apache-devsite/apidoc/dict-cmd_how.html
  
  Index: dict-cmd_how.html
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/dict-cmd_how.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dict-cmd_how.html 1999/03/30 22:11:58     1.2
  +++ dict-cmd_how.html 1999/03/31 23:48:45     1.3
  @@ -1,6 +1,6 @@
   <P>
   A set of values designating how argument processing is done for a given
  -instance of a <A HREF="#command_rec">command_rec</A>. Note that for
  +instance of a command_rec. Note that for
   all of these values except RAW_ARGS, the config routine is passed a freshly
   allocated string which can be modified or stored. It's only necessary to do
   pstrdup() copying with RAW_ARGS. The allowable values are:
  
  
  
  1.6       +388 -128  apache-devsite/apidoc/mkapidict
  
  Index: mkapidict
  ===================================================================
  RCS file: /home/cvs/apache-devsite/apidoc/mkapidict,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- mkapidict 1999/03/06 18:17:26     1.5
  +++ mkapidict 1999/03/31 23:48:45     1.6
  @@ -1,17 +1,40 @@
   #!/usr/local/bin/perl
   #
  -# Read from STDIN, produce HTML.  Simple, really.  The first argument on the
  -# command line ($ARGV[0]) is the name of the file which provides the
  -# framework into which the generated text is inserted.  $ARGV[1] specifies
  -# a layout type; 0 means full, with each entry starting with an H3 heading;
  -# 1 means simpler, with each entry jumping right to the definition without
  -# the preamble.  Layout 1 results in reduced file size, but is slightly
  -# susceptible to potentially confusing display values if an entry has no
  -# definition in the data file.  Layout 0 guarantees a little more text
  -# in such a case, but at a significant cost in file size.
  +# Build documentation from a definition file, a template, and possibly
  +# a bunch of individual description files.
   #
  +# -d identifies the definition file (see api.list for documentation).
  +#
  +# -l specifies a layout type:
  +#
  +#    0 means full, with each entry in a separate document starting with an
  +#      H3 heading and the main document containing a linked subtable of
  +#      contents for each type of entry (routines, constants, et cetera);
  +#    1 is the same as 0, except everything is in a single monolithic file;
  +#    2 means simpler, with no tables of subcontents and each entry jumping
  +#      right to the definition without the preamble.
  +#
  +#    Layout 2 results in reduced file size (though it's still huge), but
  +#    is slightly susceptible to potentially confusing display values if
  +#    an entry has no definition in the data file.  Layout 1 guarantees
  +#    a little more text in such a case, but at a significant cost in file 
size.
  +#    Layout 0 is the best for reference work, but scanning through
  +#    definitions is more difficult since they're in separate files.
  +#
  +# -o specifies the name of the master output file, or "-" for stdout.
  +#    Note that "-" is not permitted in combination with "-l 0" because this
  +#    name is used in anchors with that layout.
  +#
  +# -t specifies the template file for the main dictionary page.
  +#
  +# -v enables verbose mode.
  +#
   # Edit history:
   #
  +#  1999-03-31 Ken Coar
  +#       Get rid of the ARGV processing and use command-line options
  +#       instead.  Add a third level of layout; 0 now means 'full,'
  +#       with each definition in its own file.
   #  1998-06-23 Chuck Murcko
   #       Bug fix for ARGV[1] processing of arguments with value 0.
   #  1998-05-26 Ken Coar
  @@ -28,18 +51,61 @@
   #       Prototyped..
   #
   
  -if ($#ARGV < 0) {
  -    print STDERR "Usage:\n    $0 template-file 0|1 < api-data > doc-file\n";
  -    exit 1;
  -};
  -
  -$InFile = $ARGV[0];
  -$OutFile = "$ARGV[0].bak";
  +#
  +# Make sure that anything we utter to stderr shows up instanter..
  +#
  +$tfh = select(STDERR);
  +$| = 1;
  +select($tfh);
  +
  +use Getopt::Std;
  +
  [EMAIL PROTECTED] = ();
  +$ofh = \*STDOUT;
  +
  +getopts("d:l:o:t:v", \%arg);
  +
  +if (! defined($arg{'d'})) {
  +    push(@errors, "definition file (-d option) is required");
  +}
  +else {
  +    $Dfile = $arg{'d'};
  +}
  +if ((! defined($arg{'l'})) || ($arg{'l'} < 0) || ($arg{'l'} > 2)) {
  +    push(@errors, "layout type (-l option) must be a value 0-2");
  +}
  +else {
  +    $Layout = $arg{'l'};
  +}
  +
  +if ((! defined($arg{'o'})) && ($Layout < 1)) {
  +    push(@errors, "output filename (-o option) is required with -l 0");
  +}
  +elsif (($arg{'o'} eq '-') && ($Layout < 1)) {
  +    push(@errors, "output filename (-o options) may not be '-' with -l 0");
  +}
  +elsif (defined($arg{'o'}) && ($arg{'o'} ne '-')) {
  +    open $ofh, ">$arg{'o'}" || die "can't open output file";
  +}
  +if (! defined($arg{'t'})) {
  +    push(@errors, "output template file (-t option) is required");
  +}
  +else {
  +    $InFile = $arg{'t'};
  +}
  +
  +if ($#errors > -1) {
  +    foreach (@errors) {
  +     print STDERR "$0: $_\n";
  +    }
  +    &usage();
  +    exit(1);
  +}
   
  -die "Need template file" if (!$ARGV[0]);
  -die "Need layout type" if (!defined($ARGV[1]));
  +open *dfh, "<$Dfile" || die "Can't open definition file $Dfile";
   
  -$Layout = $ARGV[1];
  +$OutFile = "$InFile.bak";
  +$Verbose = defined($arg{'v'});
   
   %Routine = ();
   %Constant = ();
  @@ -47,6 +113,8 @@
   %Cell = ();
   %Entity = ();
   %SeeAlso = ();
  +%URL = ();
  +%HREF = ();
   @Prologue = ();
   @Epilogue = ();
   
  @@ -58,29 +126,33 @@
   # Now copy the input file to a backup, extracting the prologue and
   # epilogue sections as we go.
   #
  -open INFILE, "<$InFile" || dir ("Can't open input file $InFile");
  +&verbose("Copying input template ($InFile) to backup ($OutFile)");
  +open INFILE, "<$InFile" || die ("Can't open input file $InFile");
   open OUTFILE, ">$OutFile" || die ("Can't open output file $OutFile");
   $state = 1;
   while ($line = <INFILE>) {
       print OUTFILE $line;
       if ($state == 1) {
        push (@Prologue, $line);
  -    } elsif ($state == 2) {
  +    }
  +    elsif ($state == 2) {
        push (@Epilogue, $line);
  -    };
  +    }
       if ($line =~ m:<!--.*%%BEGIN%%.*-->:) {
        $state = 0;
  -    } elsif ($line =~ m:<!--.*%%END%%.*-->:) {
  +    }
  +    elsif ($line =~ m:<!--.*%%END%%.*-->:) {
        push (@Epilogue, $line);
        $state = 2;
  -    };
  -};
  +    }
  +}
   close INFILE;
   close OUTFILE;
   
   $DataLine = 0;
   
  -while (! eof(STDIN)) {
  +&verbose("Reading definition file.");
  +while (! eof(*dfh)) {
       local (@field) = ("", "", "", "", "", "", "", "");
       local ($rec);
   
  @@ -95,29 +167,37 @@
                     "for record ending on line $DataLine;\n",
                     "\tmissing continuation character?\n";
        next;
  -    };
  +    }
       if ($Entity{$field[1]}) {
        print STDERR "Entity $field[1] redefined at line $DataLine.\n";
  -    };
  +    }
       $Entity{$field[1]} = 1;
  -    if ($field[0] =~ /R/i) {
  +    $rtype = uc(substr($field[0], 0, 1));
  +    if ($rtype eq 'R') {
        $Routine{$field[1]} = $rec;
  -    } elsif ($field[0] =~ /S/i) {
  +    }
  +    elsif ($rtype eq 'S') {
        $Structure{$field[1]} = $rec;
  -    } elsif ($field[0] =~ /C/i) {
  +    }
  +    elsif ($rtype eq 'C') {
        $Constant{$field[1]} = $rec;
  -    } elsif ($field[0] =~ /D/i) {
  +    }
  +    elsif ($rtype eq 'D') {
        $Cell{$field[1]} = $rec;
  -    } elsif ($field[0] =~ /X/i) {
  +    }
  +    elsif ($rtype eq 'X') {
        $SeeAlso{$field[1]} = $field[2];
  -    };
  -};
  +    }
  +    $URL{"$field[1]"} = &makeURL($field[1], %URL);
  +    $HREF{"$field[1]"} = &makeHREF($field[1], %URL);
  +}
   
   #
   # Done reading in the input.. time to make the doughnuts.
   #
  -print @Prologue;
  -print <<EOHT;
  +&verbose("Dumping prologue.");
  +print $ofh @Prologue;
  +print $ofh <<EOHT;
     <H2>Table of Contents</H2>
     <UL>
      <LI><A HREF="#Routines">Routine Descriptions</A>
  @@ -132,7 +212,7 @@
     <HR>
   EOHT
   
  -print <<EOHT;
  +print $ofh <<EOHT;
     <H2>
      <A NAME="Routines">
       Routine Descriptions
  @@ -140,9 +220,12 @@
     </H2>
     <HR>
   EOHT
  -&dump_list(%Routine);
   
  -print <<EOHT;
  +&verbose("Dumping routines.");
  +&list_items('R', %Routine);
  +&dump_list('R', %Routine);
  +
  +print $ofh <<EOHT;
     <H2>
      <A NAME="Structures">
       Data Structure Definitions
  @@ -150,9 +233,12 @@
     </H2>
     <HR>
   EOHT
  -&dump_list(%Structure);
  +
  +&verbose("Dumping structures.");
  +&list_items('S', %Structure);
  +&dump_list('S', %Structure);
   
  -print <<EOHT;
  +print $ofh <<EOHT;
     <H2>
      <A NAME="Cells">
       Global Data Cells
  @@ -160,9 +246,12 @@
     </H2>
     <HR>
   EOHT
  -&dump_list(%Cell);
   
  -print <<EOHT;
  +&verbose("Dumping data cells.");
  +&list_items('D', %Cell);
  +&dump_list('D', %Cell);
  +
  +print $ofh <<EOHT;
     <H2>
      <A NAME="Constants">
       Constant Definitions
  @@ -177,43 +266,195 @@
      </P>
      <P>
      Some of the Apache Web server's constants (such as
  -   <A HREF="#SERVER_VERSION"><SAMP>SERVER_VERSION</SAMP></A>)
  +   <A HREF="$HREF{'SERVER_VERSION'}"><SAMP>SERVER_VERSION</SAMP></A>)
      can be overridden with
      compile-time definitions on the compiler command line.  Others, like
  -   <A HREF="#MAX_STRING_LEN"><SAMP>MAX_STRING_LEN</SAMP></A>,
  +   <A HREF="$HREF{'MAX_STRING_LEN'}"><SAMP>MAX_STRING_LEN</SAMP></A>,
      are provided as conveniences, and shouldn't be modified except under
      special circumstances.  Still others, such as
  -   <A HREF="#OR_LIMIT"><SAMP>OR_LIMIT</SAMP></A>,
  +   <A HREF="$HREF{'OR_LIMIT'}"><SAMP>OR_LIMIT</SAMP></A>,
      have specific values that <STRONG>must not</STRONG> be altered.
      </P>
     <HR>
   EOHT
  -&dump_list(%Constant);
  -print @Epilogue;
   
  +&verbose("Dumping constants.");
  +&list_items('C', %Constant);
  +&dump_list('C', %Constant);
  +
  +&verbose("Dumping epilogue.");
  +print $ofh @Epilogue;
  +exit(0);
   #
   # Dump a hash in alphabetical order.
   #
   sub dump_list {
  -    local (%list) = @_;
  +    local ($prefix, %list) = @_;
       local (@keys) = sort {uc($a) cmp uc($b)} (keys(%list));
  +    my ($i) = 0;
   
       foreach $key (@keys) {
  -     my ($edited, $iname, $idef, $isamp, $iref, $idesc) =
  -         split(m:\|:, $list{$key});
  -        print <<EOHT if ($Layout == 0);
  +     local (*dfh);
  +     local ($previous, $next) = ("", "");
  +
  +     $previous = $keys[$i - 1] if ($i > 0);
  +     $next = $keys[$i + 1] if ($i < $#keys);
  +     if ($Layout == 0) {
  +         open(dfh, ">$URL{$key}");
  +         &dump_item(\*dfh, $key, $list{$key}, $previous, $next);
  +         close(dfh);
  +     }
  +     else {
  +         &dump_item(\*ofh, $key, $list{$key}, $previous, $next);
  +     }
  +     $i++;
  +    }
  +}
  +
  +#
  +# Turn any inline references to other structures or constants into links.
  +#
  +sub edit_inline {
  +    local ($wip, $rname) = @_;
  +    local ($ref);
  +
  +    foreach $ref (keys(%Entity)) {
  +     my ($href) = $HREF{"$ref"};
  +     if ($ref ne $rname) {
  +         $wip =~ s:\b$ref\b:<A HREF="$href">$ref</A>:g;
  +     }
  +    }
  +    return $wip;
  +}
  +
  +#
  +# Read a record from the input stream.  Comments are trimmed, as is
  +# trailing whitespace.  Leading whitespace is trimmed IFF the argument to the
  +# functional evaluates as true.  A terminal slosh indicates that the next
  +# line should be read and the record re-processed.  All '\n' occurrences
  +# in the input are converted to newlines before being returned.
  +#
  +sub get_record {
  +    local ($trim_leading_ws) = @_;
  +    local ($trim_next) = 1;
  +    my ($line);
  +
  +    $line = <dfh> || return "";
  +    $DataLine++;
  +    chomp ($line);
  +    $line =~ s/#;.*//;
  +    $line =~ s/\s+$//;
  +    if ($trim_leading_ws) {
  +     $line =~ s/^\s+//;
  +    }
  +    if ($line =~ m:\\$:) {
  +     $line =~ s:\\n\s+\\$:\\n\\:;
  +     $line =~ s:\\$::;
  +     $trim_next = 0 if ($line =~ m:\\n$:);
  +     $line .= &get_record($trim_next);
  +    }
  +    $line =~ s:\\n:\n:g;
  +    return ($line);
  +}
  +
  +sub list_items {
  +    local ($prefix, %items) = @_;
  +
  +    if ($Layout == 0) {
  +
  +     print $ofh <<EOHT;
  +  <OL COMPACT>
  +EOHT
  +
  +        foreach (sort(keys(%items))) {
  +         my ($uri) = $HREF{"$_"};
  +
  +         print $ofh <<EOHT;
  +   <LI><A HREF="$uri"><CODE>$_</CODE></A></LI>
  +EOHT
  +
  +        }
  +
  +     print $ofh <<EOHT;
  +  </OL>
  +EOHT
  +
  +    }
  +
  +    print $ofh <<EOHT;
  +  <HR>
  +EOHT
  +
  +    return 0;
  +}
  +
  +#
  +# Turn an entry into a URL according to the layout.
  +#
  +sub makeURL {
  +    local ($key, %URL) = @_;
  +    my ($prefix, $postfix) = ("", "");
  +
  +    if ($Layout == 0) {
  +     $prefix = "apidoc_";
  +     $postfix = ".html";
  +    }
  +    return "$prefix$key$postfix";
  +    
  +}
  +
  +#
  +# Turn an entry into a anchor reference according to the layout.
  +#
  +sub makeHREF {
  +    local ($key, %URL) = @_;
  +    my ($prefix, $postfix) = ("", "");
  +
  +    if ($Layout == 0) {
  +     $prefix = "apidoc_";
  +     $postfix = ".html";
  +    }
  +    else {
  +     $prefix = "#";
  +    }
  +    return "$prefix$key$postfix";
  +    
  +}
  +
  +sub dump_item {
  +    my ($ofh, $key, $record, $previous, $next) = @_;
  +    my ($edited, $iname, $idef, $isamp, $iref, $idesc) =
  +     split(m:\|:, $record);
  +    my ($uri) = $URL{"$iname"};
  +    my ($href) = $HREF{"$iname"};
  +
  +    print $ofh <<EOHT if ($Layout == 0);
  +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
  + "http://www.w3.org/TR/REC-html40/loose.dtd";>
  +<HTML>
  + <HEAD>
  +  <TITLE>Apache API: $iname
  +  </TITLE>
  + </HEAD>
  + <BODY>
  +  <H1>Apache API Documentation</H1>
  +  <H3>$iname</H3>
  +EOHT
  +
  +    print $ofh <<EOHT if ($Layout > 0);
     <H3>
  -   <A NAME="$iname">
  +   <A NAME="$uri">
       $iname
      </A>
     </H3>
   EOHT
  -        $edited = &edit_inline($idef, $iname);
  -     if (! $edited) {
  -        $edited = "No prototype or definition available.";
  -     };
  -     if ($Layout == 0) {
  -         print <<EOHT;
  +    $edited = &edit_inline($idef, $iname);
  +    if (! $edited) {
  +     $edited = "No prototype or definition available.";
  +    }
  +    if ($Layout < 2) {
  +
  +     print $ofh <<EOHT;
      <P>
      Definition:
      </P>
  @@ -225,20 +466,23 @@
       </DD>
      </DL>
   EOHT
  -        } else {
  +        }
  +     else {
            if ($edited =~ /$iname/) {
                $edited =~ s/$iname/<STRONG>$iname<\/STRONG>/;
  -         } else {
  +         }
  +         else {
                $edited="<STRONG>$iname:</STRONG> $edited";
            }
  -         print "<A NAME=\"$iname\"><PRE>$edited</PRE></A>\n";
  +         print $ofh "<A NAME=\"$uri\"><PRE>$edited</PRE></A>\n";
        }
           $edited = &edit_inline($isamp, $iname);
  -     if ((! $edited) && ($Layout != 1)) {
  +     if ((! $edited) && ($Layout < 2)) {
           $edited = "No examples available.";
  -     };
  -     if (($Layout != 1) || $edited) {
  -         print <<EOHT;
  +     }
  +     if (($Layout < 2) || $edited) {
  +
  +         print $ofh <<EOHT;
      <P>
      Usage example:
      </P>
  @@ -253,22 +497,28 @@
           }
   
        if (! $idesc) {
  -         print <<EOHT if ($Layout != 1);
  +         print $ofh <<EOHT if ($Layout < 2);
      <P>
      No documentation available.
      </P>
   EOHT
  -        } elsif (! -r $idesc) {
  -         print <<EOHT;
  +        }
  +     elsif (! -r $idesc) {
  +         print $ofh <<EOHT;
      <P>
      Documentation file not accessible.
      </P>
   EOHT
  -        } else {
  +        }
  +     else {
  +         local ($drec);
  +
            open DFILE, "<$idesc";
  -         print <DFILE>;
  +         while ($drec = <DFILE>) {
  +             print $ofh &edit_inline($drec, $iname);
  +         }
            close (DFILE);
  -        };
  +        }
           $edited = $iref;
           $edited =~ s/[\s,]//g;
        if ($edited) {
  @@ -277,7 +527,7 @@
            local ($sees) = "";
   
            $ref =~ s/\s+//g;
  -         print <<EOHT;
  +         print $ofh <<EOHT;
      <DL COMPACT>
       <DT><EM>See also:</EM>
       </DT>
  @@ -288,75 +538,85 @@
               foreach (split(m:,:, $ref)) {
                if ($SeeAlso{$_}) {
                    $sees .= ",$SeeAlso{$_}";
  -             } else {
  +             }
  +             else {
                    $sees .= ",$_";
  -             };
  -         };
  +             }
  +         }
            $ref = $sees;
            foreach (sort(split(m:,:, $ref))) {
                local ($item) = "<SAMP>$_</SAMP>";
  +             my ($uri) = $HREF{"$_"};
                
                next if (($_ eq "") || ($_ eq $iname));
                if ($Entity{$_}) {
  -                 $item = "<A HREF=\"#$_\">$item</A>";
  -             } else {
  +                 $item = "<A HREF=\"$uri\">$item</A>";
  +             }
  +             else {
                    print STDERR "$iname cross-references to undefined ";
                    print STDERR "entity $_.\n";
  -             };
  +             }
                $ref_list .= $item . ",\n        ";
  -         };
  +         }
            $ref_list =~ s:,\n        $:\n:;
  -         print $ref_list;
  -         print <<EOHT;
  +         print $ofh $ref_list;
  +         print $ofh <<EOHT;
       </DD>
      </DL>
   EOHT
  -        };
  -        print "  <HR>\n";
  -    };
  -};
  +    }
   
  -#
  -# Turn any inline references to other structures or constants into links.
  -#
  -sub edit_inline {
  -    local ($wip, $rname) = @_;
  -    local ($ref);
  +    print $ofh <<EOHT;
  +  <HR>
  +EOHT
   
  -    foreach $ref (keys(%Entity)) {
  -     if ($ref ne $rname) {
  -         $wip =~ s:\b$ref\b:<A HREF="#$ref">$ref</A>:g;
  -     };
  -    };
  -    return $wip;
  -};
  +    if ($Layout == 0) {
  +     if ($previous) {
  +         $previous = '<A HREF="' . $HREF{"$previous"} . '">'
  +             . "<CODE>$previous</CODE></A>";
  +     }
  +     else {
  +         $previous = "(none)";
  +     }
  +     if ($next) {
  +         $next = '<A HREF="' . $HREF{"$next"} . '">'
  +             . "<CODE>$next</CODE></A>";
  +     }
  +     else {
  +         $next = "(none)";
  +     }
   
  -#
  -# Read a record from the input stream.  Comments are trimmed, as is
  -# trailing whitespace.  Leading whitespace is trimmed IFF the argument to the
  -# functional evaluates as true.  A terminal slosh indicates that the next
  -# line should be read and the record re-processed.  All '\n' occurrences
  -# in the input are converted to newlines before being returned.
  -#
  -sub get_record {
  -    local ($trim_leading_ws) = @_;
  -    local ($trim_next) = 1;
  -    my ($line);
  +     print $ofh <<EOHT;
  +  <P>
  +  Previous: $previous
  +  Next: $next
  +  </P>
  +  <P>
  +  <A HREF="$arg{'o'}">Table of Contents</A>
  +  (<A HREF="$arg{'o'}#Routines">Routines</A>,
  +  <A HREF="$arg{'o'}#Structures">Structures</A>,
  +  <A HREF="$arg{'o'}#Cells">Data Cells</A>,
  +  <A HREF="$arg{'o'}#Constants">Constants</A>)
  +  </P>
  + </BODY>
  +</HTML>
  +EOHT
  +    }
  +}
  +
  +sub usage {
  +    print STDERR "Usage:\n    $0 -l [0|1|2] -t template-file -d api-data "
  +     . "-o dict-file\n";
  +    exit 1;
  +}
   
  -    $line = <STDIN> || return "";
  -    $DataLine++;
  -    chomp ($line);
  -    $line =~ s/#;.*//;
  -    $line =~ s/\s+$//;
  -    if ($trim_leading_ws) {
  -     $line =~ s/^\s+//;
  -    };
  -    if ($line =~ m:\\$:) {
  -     $line =~ s:\\n\s+\\$:\\n\\:;
  -     $line =~ s:\\$::;
  -     $trim_next = 0 if ($line =~ m:\\n$:);
  -     $line .= &get_record($trim_next);
  -    };
  -    $line =~ s:\\n:\n:g;
  -    return ($line);
  -};
  +sub verbose {
  +    local (@lines) = @_;
  +
  +    if ($Verbose) {
  +     foreach (@lines) {
  +         print STDERR $_, "\n";
  +     }
  +    }
  +    return 1;
  +}
  
  
  
  1.1                  apache-devsite/apidoc/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  apidoc_*.html
  
  
  

Reply via email to