diff options
author | ptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-03-31 14:26:48 +0800 |
---|---|---|
committer | ptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-03-31 14:26:48 +0800 |
commit | 29d2582b1e2d07e8294011266961d378e0455c4e (patch) | |
tree | 7275d713a49dfeaf19cdf6ad551e12e2cfc96c7e /web/mod_ptt.c | |
parent | e33b568ac6faff6395e49aa2f31e34624de6175e (diff) | |
download | pttbbs-29d2582b1e2d07e8294011266961d378e0455c4e.tar pttbbs-29d2582b1e2d07e8294011266961d378e0455c4e.tar.gz pttbbs-29d2582b1e2d07e8294011266961d378e0455c4e.tar.bz2 pttbbs-29d2582b1e2d07e8294011266961d378e0455c4e.tar.lz pttbbs-29d2582b1e2d07e8294011266961d378e0455c4e.tar.xz pttbbs-29d2582b1e2d07e8294011266961d378e0455c4e.tar.zst pttbbs-29d2582b1e2d07e8294011266961d378e0455c4e.zip |
*** empty log message ***
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@753 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'web/mod_ptt.c')
-rw-r--r-- | web/mod_ptt.c | 94 |
1 files changed, 13 insertions, 81 deletions
diff --git a/web/mod_ptt.c b/web/mod_ptt.c index be4a8071..ee32ede4 100644 --- a/web/mod_ptt.c +++ b/web/mod_ptt.c @@ -20,6 +20,7 @@ static table *static_calls_made = NULL; static pool *ptt_pool = NULL; static pool *ptt_subpool = NULL; + module MODULE_VAR_EXPORT ptt_module; excfg * our_dconfig(request_rec *r) { @@ -29,16 +30,9 @@ excfg * our_dconfig(request_rec *r) static void setup_module_cells() { - /* - * If we haven't already allocated our module-private pool, do so now. - */ if (ptt_pool == NULL) { ptt_pool = ap_make_sub_pool(NULL); }; - /* - * Likewise for the table of routine/environment pairs we visit outside of - * request context. - */ if (static_calls_made == NULL) { static_calls_made = ap_make_table(ptt_pool, 16); }; @@ -51,34 +45,18 @@ static int ptt_handler(request_rec *r) int i; excfg *dcfg; + dcfg = our_dconfig(r); - //resolve_utmp(); - //resolve_boards(); - // resolve_garbage(); - // resolve_fcache(); r->content_type = "text/html"; - ap_soft_timeout("send ptt call trace", r); ap_send_http_header(r); -#ifdef CHARSET_EBCDIC - /* Server-generated response, converted */ - ap_bsetflag(r->connection->client, B_EBCDIC2ASCII, r->ebcdic.conv_out = 1); -#endif - /* - * If we're only supposed to send header information (HEAD request), we're - * already there. - */ if (r->header_only) { ap_kill_timeout(r); return OK; } - /* - * Now send our actual output. Since we tagged this as being - * "text/html", we need to embed any HTML. - */ ap_rputs(" ptt3 <P>\n", r); ap_rprintf(r, " Apache HTTP Server version: \"%s\"\n", @@ -92,79 +70,33 @@ static int ptt_handler(request_rec *r) ap_rprintf(r,"r->unparsed_uri : %s <br>",r->unparsed_uri); ap_rprintf(r,"r->handler : %s <br>",r->handler); ap_rprintf(r,"r->content_type : %s <br>",r->content_type); - ap_rprintf(r, " Server built: \"%s\"\n", ap_get_server_built()); - for(i = 0; i++ < numboards; i++) - ap_rprintf(r,"%s %s<br>",bcache[i].brdname,bcache[i].title); - /* - * We're all done, so cancel the timeout we set. Since this is probably - * the end of the request we *could* assume this would be done during - * post-processing - but it's possible that another handler might be - * called and inherit our outstanding timer. Not good; to each its own. - */ + + ap_rprintf(r, " Server built: \"%s\"<br>", ap_get_server_built()); + ap_rprintf(r, " numboards: \"%d\"<br>", numboards); + + for(i = 0; i < 10; i++) + ap_rprintf(r,"%d. %s %s<br>",i,bcache[i].brdname,bcache[i].title); + + // for(i = 0; i < 10 /*numboards*/; i++) + // ap_rprintf(r,"%s %s<br>",bcache[i].brdname,bcache[i].title); ap_kill_timeout(r); - /* - * We did what we wanted to do, so tell the rest of the server we - * succeeded. - */ return OK; } -/*--------------------------------------------------------------------------*/ -/* */ -/* Now let's declare routines for each of the callback phase in order. */ -/* (That's the order in which they're listed in the callback list, *not */ -/* the order in which the server calls them! See the command_rec */ -/* declaration near the bottom of this file.) Note that these may be */ -/* called for situations that don't relate primarily to our function - in */ -/* other words, the fixup handler shouldn't assume that the request has */ -/* to do with "example" stuff. */ -/* */ -/* With the exception of the content handler, all of our routines will be */ -/* called for each request, unless an earlier handler from another module */ -/* aborted the sequence. */ -/* */ -/* Handlers that are declared as "int" can return the following: */ -/* */ /* OK Handler accepted the request and did its thing with it. */ /* DECLINED Handler took no action. */ /* HTTP_mumble Handler looked at request and found it wanting. */ -/* */ -/* What the server does after calling a module handler depends upon the */ -/* handler's return value. In all cases, if the handler returns */ -/* DECLINED, the server will continue to the next module with an handler */ -/* for the current phase. However, if the handler return a non-OK, */ -/* non-DECLINED status, the server aborts the request right there. If */ -/* the handler returns OK, the server's next action is phase-specific; */ -/* see the individual handler comments below for details. */ -/* */ -/*--------------------------------------------------------------------------*/ -/* - * This function is called during server initialisation. Any information - * that needs to be recorded must be in static cells, since there's no - * configuration record. - * - * There is no return value. - */ static void ptt_child_init(server_rec *s, pool *p) { char *note; char *sname = s->server_hostname; + attach_SHM(); + - //resolve_utmp(); - //resolve_boards(); - //resolve_garbage(); - //resolve_fcache(); - /* - * Set up any module cells that ought to be initialised. - */ setup_module_cells(); - /* - * The arbitrary text we add to our trace entry indicates for which server - * we're being called. - */ sname = (sname != NULL) ? sname : ""; note = ap_pstrcat(p, "ptt_child_init(", sname, ")", NULL); } |