httpd-test-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From grega...@apache.org
Subject cvs commit: httpd-test/specweb99/specweb99-2.0 mod_specweb99.c
Date Wed, 22 Jan 2003 21:30:15 GMT
gregames    2003/01/22 13:30:15

  Modified:    specweb99/specweb99-2.0 mod_specweb99.c
  Log:
  Style police: general style cleanup, no functional changes.
  
  Submitted by: Madhu Mathihalli [madhusudan_mathihalli@NO-SPAM.hp.com]
  
  Revision  Changes    Path
  1.19      +544 -564  httpd-test/specweb99/specweb99-2.0/mod_specweb99.c
  
  Index: mod_specweb99.c
  ===================================================================
  RCS file: /home/cvs/httpd-test/specweb99/specweb99-2.0/mod_specweb99.c,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- mod_specweb99.c	15 Jan 2003 16:15:02 -0000	1.18
  +++ mod_specweb99.c	22 Jan 2003 21:30:15 -0000	1.19
  @@ -130,9 +130,8 @@
   static const char boilerplate_end[] = BOILERPLATE_END;
   static const int boilerplate_end_len = sizeof(boilerplate_end) - 1;
   
  -static apr_int16_t
  -getCADFile(struct server_rec *sv, struct request_rec *r,
  -         struct specweb99_module_data * _my); 
  +static apr_int16_t getCADFile(struct server_rec *sv, struct request_rec *r,
  +                              struct specweb99_module_data * _my);
   
   /* Use interal locking - the main reason for doing
    * so is error trapping and being able to warn/info
  @@ -146,8 +145,8 @@
    * - when 's' is passed - do appropriate logging.
    * - when 'file' is passed - logging will be more meaningfull
    */
  -static int _dolock(struct server_rec *s, struct request_rec *r, apr_file_t * f,
  -               int type, char *file)
  +static int _dolock(struct server_rec *s, struct request_rec *r,
  +                   apr_file_t * f, int type, char *file)
   {
       int e;
       /*
  @@ -160,13 +159,13 @@
       /*
        * XXX timeouts removed !  not sure how to do that in 2.0
        */
  -    if (s)
  -        ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_INFO, e, s,
  -             "Camping out %s%s for a %s lock",
  -             file ? "on " : "", file ? file : "",
  -             ((type == APR_FLOCK_SHARED) ? "read" : "write"));
  -
  -    e = apr_file_lock(f, type);
  +        if (s) {
  +            ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_INFO, e, s,
  +                         "Camping out %s%s for a %s lock",
  +                         file ? "on " : "", file ? file : "",
  +                         ((type == APR_FLOCK_SHARED) ? "read" : "write"));
  +        }
  +        e = apr_file_lock(f, type);
       /*
        * XXXX clear timeout removed not sure how to do that in 2.0
        */
  @@ -174,12 +173,13 @@
   
       /* Trap both first/second flock() error. */
       if (e) {
  -    if (s)
  -        ap_log_error(APLOG_MARK, APLOG_ERR, e, s,
  -             "Failed to %s" "lock%s%s",
  -             ((type == APR_FLOCK_SHARED) ? "read" : "write"),
  -             ((file) ? ": " : ""), ((file) ? file : ""));
  -    return -1;
  +        if (s) {
  +            ap_log_error(APLOG_MARK, APLOG_ERR, e, s,
  +                         "Failed to %s" "lock%s%s",
  +                         ((type == APR_FLOCK_SHARED) ? "read" : "write"),
  +                         ((file) ? ": " : ""), ((file) ? file : ""));
  +        }
  +        return -1;
       }
       return 0;
   }
  @@ -190,18 +190,18 @@
   
       /* Fill up the boilerplate with info */
       bp_head = apr_psprintf(r->pool, boilerplate_start,
  -               ap_get_server_version(),
  -               ap_get_remote_host(r->connection, NULL,
  -                          REMOTE_NOLOOKUP, NULL), r->uri,
  -               r->args ? r->args : "");
  +                           ap_get_server_version(),
  +                           ap_get_remote_host(r->connection, NULL,
  +                           REMOTE_NOLOOKUP, NULL), r->uri,
  +                           r->args ? r->args : "");
   
       r->content_type = "text/html";
   
       return bp_head;
   }
   
  -
  -static void returnHTMLPageWithBuffer(request_rec *r, char *buf, apr_size_t buflen)
  +static void returnHTMLPageWithBuffer(request_rec *r, char *buf,
  +                                     apr_size_t buflen)
   {
       char *bp_head;
       conn_rec *c = r->connection;
  @@ -216,7 +216,7 @@
       b1 = apr_bucket_transient_create(bp_head, strlen(bp_head), c->bucket_alloc);
       b2 = apr_bucket_transient_create(buf, buflen, c->bucket_alloc);
       b3 = apr_bucket_immortal_create(boilerplate_end,
  -                  boilerplate_end_len, c->bucket_alloc);
  +                                    boilerplate_end_len, c->bucket_alloc);
   
       APR_BRIGADE_INSERT_TAIL(bb, b1);
       APR_BRIGADE_INSERT_TAIL(bb, b2);
  @@ -225,11 +225,11 @@
   
       rv = ap_pass_brigade(r->output_filters, bb);
       if (rv != APR_SUCCESS) {
  -    ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
  -              "mod_specweb: ap_pass_brigade failed for buffer '%s'",
  -              buf);
  +        ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
  +                      "mod_specweb: ap_pass_brigade failed for buffer '%s'",
  +                      buf);
       }
  -}				/* returnHTMLPageWithBuffer */
  +}               /* returnHTMLPageWithBuffer */
   
   static void returnHTMLPageWithMessage(request_rec *r, char *fmt,...)
   {
  @@ -241,7 +241,7 @@
       va_end(args);
   
       returnHTMLPageWithBuffer(r, m, strlen(m));
  -}				/* returnHTMLPageWithMessage */
  +}
   
   static void returnHTMLPageWithFile(request_rec *r, char *fname)
   {
  @@ -255,23 +255,22 @@
       conn_rec *c = r->connection;
   
       if ((rv = apr_stat(&s, fname, APR_FINFO_SIZE, r->pool)) != APR_SUCCESS) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  -             "Could not stat file '%s' for reading", fname);
  -    returnHTMLPageWithMessage(r, "Error: Failed to stat the file");
  -    return;
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  +                     "Could not stat file '%s' for reading", fname);
  +        returnHTMLPageWithMessage(r, "Error: Failed to stat the file");
  +        return;
       }
   
       bp_head = returnHTMLPageHead(r);
   
       b1 = apr_bucket_transient_create(bp_head, strlen(bp_head), c->bucket_alloc);
   
  -    if ((rv =
  -     apr_file_open(&f, fname, APR_READ, APR_OS_DEFAULT,
  -               r->pool)) != APR_SUCCESS) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  -             "Could not open file '%s' for reading", fname);
  -    returnHTMLPageWithMessage(r, "Error: could not open file for reading.");
  -    return;
  +    rv = apr_file_open(&f, fname, APR_READ, APR_OS_DEFAULT, r->pool);
  +    if (rv != APR_SUCCESS) {
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  +                     "Could not open file '%s' for reading", fname);
  +        returnHTMLPageWithMessage(r, "Error: could not open file for reading.");
  +        return;
       }
   
       bb = apr_brigade_create(r->pool, c->bucket_alloc);
  @@ -282,44 +281,41 @@
        * greater than MAX(apr_size_t), and more granular than that in case
        * the brigade code/filters attempt to read it directly.
        */
  -    apr_off_t fsize = s.size;
  -    b = apr_bucket_file_create(f, zero, AP_MAX_SENDFILE, r->pool);
  -    while (fsize > AP_MAX_SENDFILE) {
  -        APR_BRIGADE_INSERT_TAIL(bb, b);
  -        apr_bucket_copy(b, &b);
  -        b->start += AP_MAX_SENDFILE;
  -        fsize -= AP_MAX_SENDFILE;
  -    }
  -    b->length = (apr_size_t) fsize;	/* Resize just the last bucket */
  +        apr_off_t fsize = s.size;
  +        b = apr_bucket_file_create(f, zero, AP_MAX_SENDFILE, r->pool);
  +        while (fsize > AP_MAX_SENDFILE) {
  +            APR_BRIGADE_INSERT_TAIL(bb, b);
  +            apr_bucket_copy(b, &b);
  +            b->start += AP_MAX_SENDFILE;
  +            fsize -= AP_MAX_SENDFILE;
  +        }
  +        b->length = (apr_size_t) fsize; /* Resize just the last bucket */
       }
       else
   #endif
  -    b2 = apr_bucket_file_create(f, zero, (apr_size_t) (s.size),
  -                    r->pool, c->bucket_alloc);
  -    b3 = apr_bucket_immortal_create(boilerplate_end, 
  -                    boilerplate_end_len, c->bucket_alloc);
  +        b2 = apr_bucket_file_create(f, zero, (apr_size_t) (s.size),
  +                                    r->pool, c->bucket_alloc);
  +        b3 = apr_bucket_immortal_create(boilerplate_end, 
  +                                        boilerplate_end_len, c->bucket_alloc);
  +
  +        APR_BRIGADE_INSERT_TAIL(bb, b1);
  +        APR_BRIGADE_INSERT_TAIL(bb, b2);
  +        APR_BRIGADE_INSERT_TAIL(bb, b3);
  +        APR_BRIGADE_INSERT_TAIL(bb, apr_bucket_eos_create(c->bucket_alloc));
   
  -    APR_BRIGADE_INSERT_TAIL(bb, b1);
  -    APR_BRIGADE_INSERT_TAIL(bb, b2);
  -    APR_BRIGADE_INSERT_TAIL(bb, b3);
  -    APR_BRIGADE_INSERT_TAIL(bb, apr_bucket_eos_create(c->bucket_alloc));
  -
  -    rv = ap_pass_brigade(r->output_filters, bb);
  -    if (rv != APR_SUCCESS) {
  -    ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
  -              "mod_specweb: ap_pass_brigade failed for %s", fname);
  +        rv = ap_pass_brigade(r->output_filters, bb);
  +        if (rv != APR_SUCCESS) {
  +            ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
  +                         "mod_specweb: ap_pass_brigade failed for %s", fname);
       }
  -}				/* returnHTMLPageWithFile */
  -
  -
  +}               /* returnHTMLPageWithFile */
   
   /***********************************************************************
    * checkUPFile                                                         *
    ***********************************************************************/
   
  -static apr_int16_t
  -       checkUPFile(struct server_rec *sv, struct request_rec *r,
  -                  struct specweb99_module_data * _my)
  +static apr_int16_t checkUPFile(struct server_rec *sv, struct request_rec *r,
  +                               struct specweb99_module_data * _my)
   {
       apr_finfo_t s;
       apr_status_t rv;
  @@ -330,23 +326,21 @@
       apr_time_t now;
   
       now = time(NULL);
  -    if (_my->check == now) { 
  +    if (_my->check == now) {
           return 0;
       }
       _my->check = now;
   
       /* stat it, compare to stored stat */
  -    if ((rv = apr_stat(&s, _my->up_path,
  -               APR_FINFO_SIZE | APR_FINFO_MTIME,
  -               r->pool)) != APR_SUCCESS) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Could not stat User.Personality file '%s'",
  -             _my->up_path);
  -    return 1;
  +    rv = apr_stat(&s, _my->up_path, APR_FINFO_SIZE | APR_FINFO_MTIME, r->pool);
  +    if (rv != APR_SUCCESS) {
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                    "Could not stat User.Personality file '%s'", _my->up_path);
  +        return 1;
       };
   
       if (s.mtime == _my->up_lastmod) {
  -    return 0;
  +        return 0;
       }
   
       numrecords = s.size / UPRLENGTH;
  @@ -354,72 +348,70 @@
        * Check buffer array for nullness and bigness, make if necessary.
        */
       if ((_my->up == NULL) || (numrecords > _my->up_count)) {
  -    /* User personalities are only 32 bits (sad, really) */
  -    apr_pool_clear(_my->up_pool);
  -       _my->up = apr_palloc(_my->up_pool, numrecords * sizeof(apr_uint32_t));
  -    _my->up_count = numrecords;
  +        /* User personalities are only 32 bits (sad, really) */
  +        apr_pool_clear(_my->up_pool);
  +        _my->up = apr_palloc(_my->up_pool, numrecords * sizeof(apr_uint32_t));
  +        _my->up_count = numrecords;
       }
       /*
        * open the file, with memory from the request pool because we will
        * not need it very long.
        */
  -    if ((rv = apr_file_open(&f, _my->up_path,
  -                APR_READ, APR_OS_DEFAULT,
  -                r->pool)) != APR_SUCCESS) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Could not open User.Personality file '%s'",
  -             _my->up_path);
  -    return 1;
  +    rv = apr_file_open(&f, _my->up_path, APR_READ, APR_OS_DEFAULT, r->pool);
  +    if (rv != APR_SUCCESS) {
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                    "Could not open User.Personality file '%s'", _my->up_path);
  +        return 1;
       }
   
       if (_rlock(sv, r, f, _my->up_path)) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Failed to lock User.Personality file '%s'",
  -             _my->up_path);
  -    apr_file_close(f);
  -    return 1;
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                     "Failed to lock User.Personality file '%s'",
  +                     _my->up_path);
  +        apr_file_close(f);
  +        return 1;
       }
   
       /* Read every record, parse, put user demographics in array */
       up_uid = 0;
       while (1) {
  -    int id, dem;
  -    apr_size_t l;
  -
  -    if ((rv =
  -         apr_file_read_full(f, up_record, UPRLENGTH, &l)) != APR_SUCCESS)
  -        break;
  -
  -    up_record[UPRLENGTH] = '\0';
  +        int id, dem;
  +        apr_size_t l;
   
  -    if (sscanf(up_record, "%d %x", &id, &dem) != 2) {
  -        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "corrupted entry in UP file");
  -        e = 1;
  -    }
  +        rv = apr_file_read_full(f, up_record, UPRLENGTH, &l);
  +        if (rv != APR_SUCCESS)
  +            break;
  +
  +        up_record[UPRLENGTH] = '\0';
  +
  +        if (sscanf(up_record, "%d %x", &id, &dem) != 2) {
  +            ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                        "corrupted entry in UP file");
  +            e = 1;
  +        }
   
  -    if (up_uid != id) {
  -        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "user id out of sync in UP file");
  -        e = 1;
  -    }
  +        if (up_uid != id) {
  +            ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                         "user id out of sync in UP file");
  +            e = 1;
  +        }
   
  -    _my->up[up_uid] = dem;
  -    up_uid++;
  +        _my->up[up_uid] = dem;
  +        up_uid++;
       }
   
       if ((up_uid != numrecords) && (rv != APR_SUCCESS)) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Failed read from User.Personality file '%s'",
  -             _my->up_path);
  -    e++;
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                     "Failed read from User.Personality file '%s'",
  +                     _my->up_path);
  +        e++;
       }
   
       if (apr_file_unlock(f) != APR_SUCCESS) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Failed to unlock User.Personality file '%s'",
  -             _my->up_path);
  -    e = 1;
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                     "Failed to unlock User.Personality file '%s'",
  +                     _my->up_path);
  +        e = 1;
       };
   
       /* Close file */
  @@ -427,7 +419,7 @@
   
       /* Store last modified date assuming no errors. */
       if (e) {
  -    _my->up_lastmod = 0;
  +        _my->up_lastmod = 0;
           return e;
       }
       _my->up_lastmod = s.mtime;
  @@ -445,9 +437,8 @@
    * getCADFile                                                          *
    ***********************************************************************/
   
  -static apr_int16_t
  -getCADFile(struct server_rec *sv, struct request_rec *r,
  -         struct specweb99_module_data * _my)
  +static apr_int16_t getCADFile(struct server_rec *sv, struct request_rec *r,
  +                              struct specweb99_module_data * _my)
   {
       apr_finfo_t s;
       apr_status_t rv;
  @@ -457,12 +448,11 @@
       apr_uint16_t cad_uid;
       int e = 0;
   
  -    if ((rv =
  -     apr_stat(&s, _my->cad_path, APR_FINFO_SIZE | APR_FINFO_MTIME,
  -          r->pool)) != APR_SUCCESS) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Failed to stat CAD file '%s'", _my->cad_path);
  -    return 1;
  +    rv = apr_stat(&s, _my->cad_path, APR_FINFO_SIZE | APR_FINFO_MTIME, r->pool);
  +    if (rv != APR_SUCCESS) {
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                    "Failed to stat CAD file '%s'", _my->cad_path);
  +        return 1;
       };
   
       /*
  @@ -471,73 +461,72 @@
        */
       numrecords = s.size / CADRLENGTH;
       if (numrecords > _my->cad_count) {
  -    apr_pool_clear(_my->cad_pool);
  -    _my->cad =
  -        apr_palloc(_my->cad_pool, numrecords * sizeof(struct cadrec));
  -    _my->cad_count = numrecords;
  +        apr_pool_clear(_my->cad_pool);
  +        _my->cad =
  +                apr_palloc(_my->cad_pool, numrecords * sizeof(struct cadrec));
  +        _my->cad_count = numrecords;
       }
   
  -    if ((rv = apr_file_open(&f, _my->cad_path,
  -                APR_READ, APR_OS_DEFAULT,
  -                r->pool)) != APR_SUCCESS) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Failed to open CAD file '%s'", _my->cad_path);
  -    return 1;
  +    rv = apr_file_open(&f, _my->cad_path, APR_READ, APR_OS_DEFAULT, r->pool);
  +    if (rv != APR_SUCCESS) {
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                    "Failed to open CAD file '%s'", _my->cad_path);
  +        return 1;
       };
   
       if (_rlock(sv, r, f, _my->cad_path)) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Failed to lock CAD file '%s'", _my->cad_path);
  -    return 1;
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                    "Failed to lock CAD file '%s'", _my->cad_path);
  +        return 1;
       }
   
       cad_uid = 0;
       while (cad_uid < numrecords) {
  -    int id, dem, adw, adm, exp;
  -    apr_size_t l;
  -    if ((rv =
  -       apr_file_read_full(f, cadline, CADRLENGTH, &l)) != APR_SUCCESS) {
  -        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Failed to read from CAD file '%s'", _my->cad_path);
  -        e = 1;
  -        break;
  -    };
  -    /*
  -     * Decode AD file (see specweb page ..)
  -     *
  -     * 0123456789.123456789.123456789.12345678 01234 01234567 01234567
  -     * 012 0123456789n "%5d %8X %8X %3d %10d\n", Ad_id,
  -     * AdDemographics, Weightings, Minimum_Match_Value,
  -     * Expiration_Time
  -     *
  -     */
  -    if (sscanf(cadline, "%d %x %x %d %d", &id, &dem, &adw, &adm, &exp) !=
  -        5) {
  -        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Entry CAD file corrupted");
  -        continue;
  -    }
  +        int id, dem, adw, adm, exp;
  +        apr_size_t l;
  +        rv = apr_file_read_full(f, cadline, CADRLENGTH, &l);
  +        if (rv != APR_SUCCESS) {
  +            ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                         "Failed to read from CAD file '%s'", _my->cad_path);
  +            e = 1;
  +            break;
  +        };
  +        /*
  +         * Decode AD file (see specweb page ..)
  +         *
  +         * 0123456789.123456789.123456789.12345678 01234 01234567 01234567
  +         * 012 0123456789n "%5d %8X %8X %3d %10d\n", Ad_id,
  +         * AdDemographics, Weightings, Minimum_Match_Value,
  +         * Expiration_Time
  +         *
  +         */
  +        if (sscanf(cadline, "%d %x %x %d %d", &id, &dem, &adw, &adm, &exp)
  +            != 5) {
  +            ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                         "Entry CAD file corrupted");
  +            continue;
  +        }
   
  -    if (cad_uid != id) {
  -        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Entry CAD file Id# out of sync");
  -        continue;
  -    }
  -    _my->cad[cad_uid].addemographics = dem;
  -    _my->cad[cad_uid].gen_weightings = (adw & 0x00f0000) >> 16;
  -    _my->cad[cad_uid].age_weightings = (adw & 0x000f000) >> 12;
  -    _my->cad[cad_uid].reg_weightings = (adw & 0x0000f00) >> 8;
  -    _my->cad[cad_uid].int1_weightings = (adw & 0x00000f0) >> 4;
  -    _my->cad[cad_uid].int2_weightings = (adw & 0x000000f);
  -    _my->cad[cad_uid].minimum_match_value = adm;
  -    _my->cad[cad_uid].expiration_time = exp;
  -    cad_uid++;
  +        if (cad_uid != id) {
  +            ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                         "Entry CAD file Id# out of sync");
  +            continue;
  +        }
  +        _my->cad[cad_uid].addemographics = dem;
  +        _my->cad[cad_uid].gen_weightings = (adw & 0x00f0000) >> 16;
  +        _my->cad[cad_uid].age_weightings = (adw & 0x000f000) >> 12;
  +        _my->cad[cad_uid].reg_weightings = (adw & 0x0000f00) >> 8;
  +        _my->cad[cad_uid].int1_weightings = (adw & 0x00000f0) >> 4;
  +        _my->cad[cad_uid].int2_weightings = (adw & 0x000000f);
  +        _my->cad[cad_uid].minimum_match_value = adm;
  +        _my->cad[cad_uid].expiration_time = exp;
  +        cad_uid++;
       }
   
       if (apr_file_unlock(f) != APR_SUCCESS) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  -             "Failed to unlock the CAD file '%s'", _my->cad_path);
  -    e = 1;
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, sv,
  +                     "Failed to unlock the CAD file '%s'", _my->cad_path);
  +        e = 1;
       };
   
       apr_file_close(f);
  @@ -549,7 +538,7 @@
   {
       struct specweb99_module_data *_my;
       _my = (struct specweb99_module_data *)
  -    apr_pcalloc(p, sizeof(struct specweb99_module_data));
  +            apr_pcalloc(p, sizeof(struct specweb99_module_data));
   
       _my->up_lastmod = (apr_time_t) 0L;
   
  @@ -562,20 +551,20 @@
       return (void *) _my;
   }
   
  -static int specweb99_module_init(apr_pool_t * p,
  -               apr_pool_t * plog, apr_pool_t * ptemp, server_rec *s)
  +static int specweb99_module_init(apr_pool_t * p, apr_pool_t * plog,
  +                                 apr_pool_t * ptemp, server_rec *s)
   {
       ap_add_version_component(p, NAME "/" VERSION);
   
       ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO, 0, s,
  -         NAME "/" VERSION " module: Compiled on %s at %s", __DATE__,
  -         __TIME__);
  +                 NAME "/" VERSION " module: Compiled on %s at %s", __DATE__,
  +                 __TIME__);
   
       ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO, 0, s, "%s",
  -        "$Id$");
  +            "$Id$");
   
       return 0;
  -}				/* specweb99_module_init */
  +}
   
   static void specweb99_child_init(apr_pool_t * p, server_rec *s)
   {
  @@ -595,34 +584,33 @@
       _my->cadgen99 = ap_make_full_path(p, docroot, "cadgen99");
   
       if (apr_pool_create(&(_my->up_pool), p) != APR_SUCCESS)
  -    exit(APEXIT_CHILDFATAL);
  +        exit(APEXIT_CHILDFATAL);
   
       if (apr_pool_create(&(_my->cad_pool), p) != APR_SUCCESS)
  -    exit(APEXIT_CHILDFATAL);
  +        exit(APEXIT_CHILDFATAL);
   
       if (s->next) {
  -    fprintf(stderr,
  -        "WARNING- this specweb module currently does not support vhosts/services\n"
  -        "See %s:%d for what you need to change. The server will continue and assume\n"
  -        "the config of the base server\n", __FILE__, __LINE__ + 2);
  +        fprintf(stderr,
  +                "WARNING- this specweb module currently does not support vhosts/services\n"
  +                "See %s:%d for what you need to change. The server will continue and assume\n"
  +                "the config of the base server\n", __FILE__, __LINE__ + 2);
   
  -    /*
  -     * Right now we assume you are specwebbing a whole server install -
  -     * as opposed to a host:port:protocol instance tied to a virtual
  -     * service.
  -     *
  -     * To support vhosts - the _my module config needs simply to be moved to
  -     * the per server config block (or the per dir block) and the init
  -     * and/or any access to it need to either go through the ->nxt list
  -     * OR carefull overlay merging needs to be done to a sensible default
  -     * for each of the cases. The current simplistic 'docroot' references
  -     * are propably no longer going to work and will need explicit config
  -     * (e.g. think ~user and other redirect cases with clobber the
  -     * concept of a docroot).
  -     */
  +        /*
  +         * Right now we assume you are specwebbing a whole server install -
  +         * as opposed to a host:port:protocol instance tied to a virtual
  +         * service.
  +         *
  +         * To support vhosts - the _my module config needs simply to be moved to
  +         * the per server config block (or the per dir block) and the init
  +         * and/or any access to it need to either go through the ->nxt list
  +         * OR carefull overlay merging needs to be done to a sensible default
  +         * for each of the cases. The current simplistic 'docroot' references
  +         * are propably no longer going to work and will need explicit config
  +         * (e.g. think ~user and other redirect cases with clobber the
  +         * concept of a docroot).
  +         */
       };
  -}				/* specweb99_module_init */
  -
  +}               /* specweb99_child_init */
   
   static int do_housekeeping(request_rec *r)
   {
  @@ -637,157 +625,158 @@
       char *cmd1, *cmd2, *c;
       int  cmd1res, cmd2res;
       const char *docroot = ap_document_root(r);
  -    apr_uri_t urlrootrec;	/* To parse the urlroot string into */
  +    apr_uri_t urlrootrec;   /* To parse the urlroot string into */
   
       /* we already know args starts with "command/", so skip over that */
  -    
  -    if (!strncmp(r->args + 8, "Fetch", 5)) {  
  -    returnHTMLPageWithFile(r, _my->log_path);
  -    return OK;
  +
  +    if (!strncmp(r->args + 8, "Fetch", 5)) {
  +        returnHTMLPageWithFile(r, _my->log_path);
  +        return OK;
       }
       else if ((data = strstr(r->args + 8, "Reset"))) {
  -    /*
  -     * We are sleeping at least one second - to make sure that any
  -     * fstat() on mtime will actually yield different values - no matter
  -     * how closely spaced the Reset's are issued. (in particular the
  -     * spacing between the test reset from the manager and the reset at
  -     * the commencing - which normally can be within a second - thus
  -     * having identical mtime's on platforms with second granularity
  -     * (Solaris,Linux).
  -     */
  -    apr_sleep(2 * APR_USEC_PER_SEC);
  +        /*
  +         * We are sleeping at least one second - to make sure that any
  +         * fstat() on mtime will actually yield different values - no matter
  +         * how closely spaced the Reset's are issued. (in particular the
  +         * spacing between the test reset from the manager and the reset at
  +         * the commencing - which normally can be within a second - thus
  +         * having identical mtime's on platforms with second granularity
  +         * (Solaris,Linux).
  +         */
  +        apr_sleep(2 * APR_USEC_PER_SEC);
   
  -    /*
  +        /*
            *           1 
            * 012345678901234
  -     * command/Reset&maxload=[MaxLoad]&pttime=[PointTime]&maxthreads=[
  -     * MaxThreads]&exp=[ExpiredList]&urlroot=[UrlRoot]
  -     */
  -    data += 6;		/* position at start of argument string */
  -    /* Tokenize argument string */
  -    tab = apr_table_make(r->pool, 0);
  -
  -    while (*data && (val = ap_getword(r->pool,
  -                      (const char **) &data, '&'))) {
  -        key = ap_getword(r->pool, (const char **) &val, '=');
  -        ap_unescape_url(key);
  -        ap_unescape_url(val);
  -        apr_table_set(tab, key, val);
  -    }
  -    /* Put arguments in variables */
  -    maxload = apr_table_get(tab, "maxload");
  -    pointtime = apr_table_get(tab, "pttime");
  -    /*
  -     * The Run Rules pseudocode is ambivalent about this token name: the
  -     * pseudocode says 'maxthreads' but its test command a couple of
  -     * lines down says 'maxthread'. Aside from the question whether we
  -     * should at all pay attention to the token names, I'm going along
  -     * with what the manager script sends which is 'maxthread'.
  -     */
  -    maxthread = apr_table_get(tab, "maxthread");
  -
  -    /*
  -     * OK, this vexes me. Every shred of documentation about SPECWeb
  -     * speaks of a comma-separated list of expired ads, but the cadgen99
  -     * program segfaults if you pass anything but a whitespace- separated
  -     * list. The Run Rules explicitly state that the pseudo code is the
  -     * definitive Reference By Which This Module Shall Be Coded, yet I
  -     * had to yank the following gem from the perl script:
  -     */
  -    exp = apr_pstrdup(r->pool, apr_table_get(tab, "exp"));
  -    for(c=exp;*c;c++)
  -        if(*c == ',') *c = ' ';
  +         * command/Reset&maxload=[MaxLoad]&pttime=[PointTime]&maxthreads=[
  +         * MaxThreads]&exp=[ExpiredList]&urlroot=[UrlRoot]
  +         */
  +        data += 6;              /* position at start of argument string */
   
  -    urlroot = apr_table_get(tab, "urlroot");
  +        /* Tokenize argument string */
  +        tab = apr_table_make(r->pool, 0);
   
  -    /*
  -     * Prep: we got a URI from the request. Need to parse that, extract
  -     * the local part and tack that onto docroot.
  -     */
  -    if ((rv =
  -         apr_uri_parse(r->pool, urlroot, &urlrootrec)) != APR_SUCCESS) {
  -        ap_log_error(APLOG_MARK, APLOG_NOERRNO, rv, r->server,
  -             "The URL Root '%s' was invalid", urlroot);
  -        returnHTMLPageWithMessage(r, "The UrlRoot passed was invalid");
  -        return OK;
  -    }
  -        if (!urlrootrec.path) {
  -            urlrootrec.path = "";
  +        while (*data && (val = ap_getword(r->pool, (const char **) &data, 
  +                                          '&'))) {
  +            key = ap_getword(r->pool, (const char **) &val, '=');
  +            ap_unescape_url(key);
  +            ap_unescape_url(val);
  +            apr_table_set(tab, key, val);
           }
  -    rootdir = ap_os_escape_path(r->pool,
  -                    ap_make_full_path(r->pool,
  -                              docroot,
  -                              urlrootrec.path), 0);
  +        /* Put arguments in variables */
  +        maxload = apr_table_get(tab, "maxload");
  +        pointtime = apr_table_get(tab, "pttime");
  +        /*
  +         * The Run Rules pseudocode is ambivalent about this token name: the
  +         * pseudocode says 'maxthreads' but its test command a couple of
  +         * lines down says 'maxthread'. Aside from the question whether we
  +         * should at all pay attention to the token names, I'm going along
  +         * with what the manager script sends which is 'maxthread'.
  +         */
  +        maxthread = apr_table_get(tab, "maxthread");
   
  -    /* Call upfgen and cadgen */
  -    /*
  -     * Keep request arguments around, we need them for eventual response
  -     */
  -    saveargs = apr_pstrdup(r->pool, r->args);
  +        /*
  +         * OK, this vexes me. Every shred of documentation about SPECWeb
  +         * speaks of a comma-separated list of expired ads, but the cadgen99
  +         * program segfaults if you pass anything but a whitespace- separated
  +         * list. The Run Rules explicitly state that the pseudo code is the
  +         * definitive Reference By Which This Module Shall Be Coded, yet I
  +         * had to yank the following gem from the perl script:
  +         */
  +        exp = apr_pstrdup(r->pool, apr_table_get(tab, "exp"));
  +        for (c=exp; *c; c++) {
  +            if (*c == ',') {
  +                *c = ' ';
  +            }
  +        }
   
  -    cmd1 = apr_psprintf(r->pool, "%s -C %s -n %s -t %s",
  -        _my->upfgen99, docroot, maxload, maxthread);
  +        urlroot = apr_table_get(tab, "urlroot");
   
  -    if((cmd1res = system(cmd1)) != 0) 
  -        ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0, r->server,
  -        "Call failed %d=%s",cmd1res,cmd1);
  -    else
  -        ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_DEBUG, 0, r->server,
  -        "Called %s",cmd1);
  +        /*
  +         * Prep: we got a URI from the request. Need to parse that, extract
  +         * the local part and tack that onto docroot.
  +         */
  +        rv = apr_uri_parse(r->pool, urlroot, &urlrootrec);
  +        if (rv != APR_SUCCESS) {
  +            ap_log_error(APLOG_MARK, APLOG_NOERRNO, rv, r->server,
  +                         "The URL Root '%s' was invalid", urlroot);
  +            returnHTMLPageWithMessage(r, "The UrlRoot passed was invalid");
  +            return OK;
  +        }
  +        if (!urlrootrec.path) {
  +            urlrootrec.path = "";
  +        }
  +        rootdir = ap_os_escape_path(r->pool, ap_make_full_path(r->pool,
  +                                    docroot, urlrootrec.path), 0);
   
  -    cmd2 = apr_psprintf(r->pool, "%s -C %s -e %s -t %s %s",
  -        _my->cadgen99, docroot, pointtime, maxthread, exp);
  +        /* Call upfgen and cadgen */
  +        /*
  +         * Keep request arguments around, we need them for eventual response
  +         */
  +        saveargs = apr_pstrdup(r->pool, r->args);
   
  -    cmd2res = system(cmd2);
  +        cmd1 = apr_psprintf(r->pool, "%s -C %s -n %s -t %s",
  +                            _my->upfgen99, docroot, maxload, maxthread);
   
  -    if((cmd1res = system(cmd2)) != 0) 
  -        ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0, r->server,
  -        "Call failed %d=%s",cmd2res,cmd2);
  -    else
  -        ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_DEBUG, 0, r->server,
  -        "Called %s",cmd2);
  +        if((cmd1res = system(cmd1)) != 0)
  +            ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0, r->server,
  +                         "Call failed %d=%s",cmd1res,cmd1);
  +        else
  +            ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_DEBUG, 0, r->server,
  +                         "Called %s",cmd1);
  +
  +        cmd2 = apr_psprintf(r->pool, "%s -C %s -e %s -t %s %s",
  +                            _my->cadgen99, docroot, pointtime,
  +                            maxthread, exp);
  +
  +        cmd2res = system(cmd2);
  +
  +        if((cmd1res = system(cmd2)) != 0)
  +            ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0,
  +                         r->server, "Call failed %d=%s",cmd2res,cmd2);
  +        else
  +            ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_DEBUG, 0,
  +                         r->server, "Called %s",cmd2);
   
  -    r->args = saveargs;
  -    /*
  -     * Reset post.log i.e. Truncate, open for writing
  -     */
  -    if ((rv =
  -         apr_file_open(&f, _my->log_path, 
  -               APR_WRITE | APR_CREATE | APR_TRUNCATE,
  -               APR_OS_DEFAULT, r->pool)) != APR_SUCCESS) {
  -        ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  -             "Could not open post.log '%s' for writing",
  -             _my->log_path);
  -        returnHTMLPageWithMessage(r,
  -                  "Error: couldn't open post.log for writing.");
  -        return OK;
  -    }
  +        r->args = saveargs;
  +        /*
  +         * Reset post.log i.e. Truncate, open for writing
  +         */
  +        rv = apr_file_open(&f, _my->log_path, 
  +                           APR_WRITE | APR_CREATE | APR_TRUNCATE,
  +                           APR_OS_DEFAULT, r->pool);
  +        if (rv != APR_SUCCESS) {
  +            ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  +                         "Could not open post.log '%s' for writing",
  +                         _my->log_path);
  +            returnHTMLPageWithMessage(r,
  +                                  "Error: couldn't open post.log for writing.");
  +            return OK;
  +        }
   
  -    line = apr_psprintf(r->pool, "%10d\n", 0);
  +        line = apr_psprintf(r->pool, "%10d\n", 0);
   
           rv = apr_file_write_full(f, line, strlen(line), NULL);
           if (rv != APR_SUCCESS) {
               ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
  -             "Could not write to post.log '%s'", _my->log_path);
  -        returnHTMLPageWithMessage(r,
  -                      "Error: could not write to post.log.");
  -    }
  -    else {
  -        returnHTMLPageWithMessage(r, "%s\n%d\n%s\n%d\n",
  -        cmd1,cmd1res,cmd2,cmd2res);
  -    }
  +                          "Could not write to post.log '%s'", _my->log_path);
  +            returnHTMLPageWithMessage(r, "Error: could not write to post.log.");
  +        }
  +        else {
  +            returnHTMLPageWithMessage(r, "%s\n%d\n%s\n%d\n",
  +                                      cmd1,cmd1res,cmd2,cmd2res);
  +        }
   
  -    apr_file_close(f);
  +        apr_file_close(f);
   
  -    return OK;
  -    }				/* Reset Command */
  +        return OK;
  +    }                               /* Reset Command */
   
       /* Fall through */
       returnHTMLPageWithMessage(r, "Error: unrecognized command '%s'", r->args);
       return OK;
   }
   
  -
   /***********************************************************************
    * do_standard_get                                                     *
    ***********************************************************************/
  @@ -806,9 +795,7 @@
       returnHTMLPageWithFile(r, path);
   
       return OK;
  -}				/* do_standard_get */
  -
  -
  +}
   
   /***********************************************************************
    * customadscan                                                        *
  @@ -829,12 +816,11 @@
       Y = apr_psprintf(r->pool, "%1d", adid % 9);
   
       if ((rv = apr_stat(&s, fname, APR_FINFO_SIZE, r->pool)) != APR_SUCCESS)
  -    return NULL;
  +        return NULL;
   
  -    if ((rv =
  -     apr_file_open(&f, fname, APR_READ, APR_OS_DEFAULT,
  -               r->pool)) != APR_SUCCESS)
  -    return NULL;
  +    rv = apr_file_open(&f, fname, APR_READ, APR_OS_DEFAULT, r->pool);
  +    if (rv != APR_SUCCESS)
  +        return NULL;
   
       len = s.size;
       buf = apr_palloc(r->pool, len + 1);
  @@ -844,8 +830,8 @@
        * oprofile shows a lot of samples in file_read_actor in the Linux kernel.
        */
       if (((rv = apr_file_read_full(f, buf, len, &l)) != APR_SUCCESS)
  -    || (l != len))
  -    return NULL;		/* Error on read */
  +          || (l != len))
  +        return NULL;            /* Error on read */
   
       buf[len] = '\0';            /* Null terminate it so the strstr will
                                    * halt
  @@ -857,22 +843,22 @@
        * disease on todays web pages)?
        */
       while ((index = strstr(index, MARKER)) != NULL) {
  -    /* This lands us a new index */
  -/* <!WEB99CAD><IMG SRC="/file_set/dirNNNNN/classX_Y">
  - * 01234567890123456789012345678901234567890123456789
  - *           1         2         3         4          */
  -    for (i = 0; i < 5; i++) {
  -        *(index + 34 + i) = N[i];
  -    }
  -    *(index + 45) = *X;
  -    *(index + 47) = *Y;
  -    index += 50;		/* Put the index past this marker, continue
  -                 * scanning */
  +        /* This lands us a new index */
  +        /* <!WEB99CAD><IMG SRC="/file_set/dirNNNNN/classX_Y">
  +         * 01234567890123456789012345678901234567890123456789
  +         *           1         2         3         4         
  +         */
  +        for (i = 0; i < 5; i++) {
  +            *(index + 34 + i) = N[i];
  +        }
  +        *(index + 45) = *X;
  +        *(index + 47) = *Y;
  +        index += 50;            /* Put the index past this marker, continue
  +                                 * scanning */
       }
       returnHTMLPageWithBuffer(r, buf, len);
   
  -}				/* customadscan */
  -
  +}               /* customadscan */
   
   /***********************************************************************
    * do_cadget                                                           *
  @@ -897,7 +883,7 @@
   
   #ifdef DEBUG
       ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_DEBUG, r->server,
  -         "Full path is '%s'", filename);
  +                 "Full path is '%s'", filename);
   #endif
       /*
        * Calculate UserIndex into User.Personality file UserIndex = MyUser -
  @@ -910,98 +896,97 @@
        */
   
       if (checkUPFile(r->server, r, _my)) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, r->server,
  -             "User personality check failed.");
  -    returnHTMLPageWithMessage(r,
  -                  "Error: User personality file check failed.");
  -    return HTTP_INTERNAL_SERVER_ERROR;
  +        ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, r->server,
  +                     "User personality check failed.");
  +        returnHTMLPageWithMessage(r,
  +                     "Error: User personality file check failed.");
  +        return HTTP_INTERNAL_SERVER_ERROR;
       }
   
       if (userindex < 0 || userindex >= _my->up_count) {
  -    /* Couldn't find it, so let's make our mark and leave */
  +        /* Couldn't find it, so let's make our mark and leave */
   #ifdef DEBUG
  -    specweb99_debug(r->server, "User record not found");
  +        specweb99_debug(r->server, "User record not found");
   #endif
  -    returnHTMLPageWithMessage(r,
  -          "User Record %d not found (out of my current range %d .. %d)",
  -                  userindex + 10000, 10000,
  -                  _my->up_count + 10000 - 1);
  -    ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, r->server,
  -          "User Record %d not found (out of my current range %d .. %d)",
  -             userindex + 10000, 10000, _my->up_count + 10000 - 1);
  -    return OK;
  +        returnHTMLPageWithMessage(r,
  +                "User Record %d not found (out of my current range %d .. %d)",
  +                userindex + 10000, 10000,
  +                _my->up_count + 10000 - 1);
  +        ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, r->server,
  +                "User Record %d not found (out of my current range %d .. %d)",
  +                userindex + 10000, 10000, _my->up_count + 10000 - 1);
  +        return OK;
       }
   
       userdemographics = _my->up[userindex];
   
       adindex = (last_ad + 1) % 360;
  -/*
  -    Do For Each Ad in Custom.Ads starting where Ad_index == Ad_id
  -*/
  +    /*
  +     * Do For Each Ad in Custom.Ads starting where Ad_index == Ad_id
  +     */
       while (1) {
  -/*        CombinedDemographics = ( AdDemographics & UserDemographics ) */
  -    combineddemographics =
  -        (_my->cad[adindex].addemographics) & userdemographics;
  -/*        Ad_weight = 0 */
  -    ad_weight = 0;
  -    if (combineddemographics & GENDER_MASK) {
  -        ad_weight += _my->cad[adindex].gen_weightings;
  -    }
  -    if (combineddemographics & AGE_GROUP_MASK) {
  -        ad_weight += _my->cad[adindex].age_weightings;
  -    }
  -    if (combineddemographics & REGION_MASK) {
  -        ad_weight += _my->cad[adindex].reg_weightings;
  -    }
  -    if (combineddemographics & INTEREST1_MASK) {
  -        ad_weight += _my->cad[adindex].int1_weightings;
  -    }
  -    if (combineddemographics & INTEREST2_MASK) {
  -        ad_weight += _my->cad[adindex].int2_weightings;
  -    }
  -    if (ad_weight >= _my->cad[adindex].minimum_match_value) {
  -        break;
  -    }
  -    adindex = (adindex + 1) % 360;
  -    if (adindex == last_ad) {
  -        ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, r->server,
  -             "Ad to expire not found");
  -        break;
  -    }
  -    }
  -    expired =
  -    ((time((time_t *) NULL) > _my->cad[adindex].expiration_time)) ? 1 : 0;
  +        /* CombinedDemographics = ( AdDemographics & UserDemographics ) */
  +        combineddemographics =
  +                    (_my->cad[adindex].addemographics) & userdemographics;
  +        /*        Ad_weight = 0 */
  +        ad_weight = 0;
  +        if (combineddemographics & GENDER_MASK) {
  +            ad_weight += _my->cad[adindex].gen_weightings;
  +        }
  +        if (combineddemographics & AGE_GROUP_MASK) {
  +            ad_weight += _my->cad[adindex].age_weightings;
  +        }
  +        if (combineddemographics & REGION_MASK) {
  +            ad_weight += _my->cad[adindex].reg_weightings;
  +        }
  +        if (combineddemographics & INTEREST1_MASK) {
  +            ad_weight += _my->cad[adindex].int1_weightings;
  +        }
  +        if (combineddemographics & INTEREST2_MASK) {
  +            ad_weight += _my->cad[adindex].int2_weightings;
  +        }
  +        if (ad_weight >= _my->cad[adindex].minimum_match_value) {
  +            break;
  +        }
  +        adindex = (adindex + 1) % 360;
  +            if (adindex == last_ad) {
  +                ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, r->server,
  +                             "Ad to expire not found");
  +                break;
  +            }
  +        }
  +        expired =
  +         ((time((time_t *) NULL) > _my->cad[adindex].expiration_time))  ? 1 : 0;
   
  -    ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO, 0, r->server,
  -         "Found ad %d : expire %s (%d > %d)",
  -         adindex, expired ? "yes" : "no",
  -         (int) time((time_t *) NULL),
  -         _my->cad[adindex].expiration_time);
  -
  -    cookie_out = apr_psprintf(r->pool,
  -                "found_cookie=Ad_id=%d&Ad_weight=%d&Expired=%d",
  -                  adindex, ad_weight, expired);
  -    apr_table_setn(r->headers_out, "Set-Cookie", cookie_out);
  -
  -    if ((strstr(filename, "class1") != NULL) ||
  -    (strstr(filename, "class2") != NULL)) {
  -    customadscan(r, filename, adindex);
  -    }
  -    else {
  -    returnHTMLPageWithFile(r, filename);
  -    }
  -    return OK;
  +        ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO, 0, r->server,
  +                     "Found ad %d : expire %s (%d > %d)",
  +                     adindex, expired ? "yes" : "no",
  +                     (int) time((time_t *) NULL),
  +                     _my->cad[adindex].expiration_time);
  +
  +        cookie_out = apr_psprintf(r->pool,
  +                             "found_cookie=Ad_id=%d&Ad_weight=%d&Expired=%d",
  +                              adindex, ad_weight, expired);
  +        apr_table_setn(r->headers_out, "Set-Cookie", cookie_out);
  +
  +        if ((strstr(filename, "class1") != NULL) ||
  +            (strstr(filename, "class2") != NULL)) {
  +                customadscan(r, filename, adindex);
  +        }
  +        else {
  +                returnHTMLPageWithFile(r, filename);
  +        }
  +        return OK;
   }
   
  -
   static char *_log_and_write(struct request_rec *r, apr_file_t * f,
  -                    char *filename, const char *urlroot, int dirnum,
  -                  int classnum, int filenum, int clientnum, int uid)
  +                            char *filename, const char *urlroot, int dirnum,
  +                            int classnum, int filenum, int clientnum, int uid)
   {
       pid_t pid;
       time_t stamp;
       apr_uint32_t recnum;
  -    char recnumstr[12];		/* ten wide plus return plus \0 */
  +    char recnumstr[12];             /* ten wide plus return plus \0 */
       apr_size_t l;
       apr_off_t zero = 0;
       apr_status_t rv;
  @@ -1010,25 +995,25 @@
       pid = getpid();
   
       if ((rv = apr_file_read_full(f, recnumstr, 11, &l)) != APR_SUCCESS)
  -    return "Failed to read recordcount from post.log";
  +        return "Failed to read recordcount from post.log";
   
       recnumstr[11] = '\0';
       recnum = atol(recnumstr) + 1;
   
       if ((rv = apr_file_seek(f, APR_SET, &zero)) != APR_SUCCESS)
  -    return "Failed to seek 0 to post.log";
  +        return "Failed to seek 0 to post.log";
   
  -    if ((rv=(apr_file_printf(f, "%10d", recnum))) < 0) 
  -    return "Failed to write num to post.log";
  +    if ((rv=(apr_file_printf(f, "%10d", recnum))) < 0)
  +        return "Failed to write num to post.log";
   
       if ((rv = apr_file_seek(f, APR_END, &zero)) != APR_SUCCESS)
  -    return "Failed to seek end to post.log";
  +        return "Failed to seek end to post.log";
   
       if ((apr_file_printf
  -     (f, "%10d %10d %10d %5d %2d %2d %10d %-60.60s %10d %10d\n", recnum,
  -      (int) stamp, (int) pid, dirnum, classnum, filenum, clientnum,
  -      filename, (int) pid, uid)) < 0)
  -    return "Failed to write record to post.log";
  +            (f, "%10d %10d %10d %5d %2d %2d %10d %-60.60s %10d %10d\n", recnum,
  +            (int) stamp, (int) pid, dirnum, classnum, filenum, clientnum,
  +            filename, (int) pid, uid)) < 0)
  +                return "Failed to write record to post.log";
   
       apr_file_flush(f);
   
  @@ -1053,17 +1038,17 @@
   
       docroot = ap_document_root(r);
   
  -/*Begin:*/
  -/*    Make substitutions in HTML return page for the following:*/
  -/*        Server_Software*/
  -/*        Remote_Addr*/
  -/*        Script_Name*/
  -/*        QueryString*/
  -/* The above is done in the returnHTMLPageWith... functions */
  -
  -/*    Parse PostInput - a sample format is as follows */
  -/*    (keys may be received in any order):*/
  -/*        urlroot=[urlroot]&dir=[Dir#]&class=[Class#]&num=[File#]&client=[Client#]*/
  +    /*Begin:*/
  +    /*    Make substitutions in HTML return page for the following:*/
  +    /*        Server_Software*/
  +    /*        Remote_Addr*/
  +    /*        Script_Name*/
  +    /*        QueryString*/
  +    /* The above is done in the returnHTMLPageWith... functions */
  +
  +    /*    Parse PostInput - a sample format is as follows */
  +    /*    (keys may be received in any order):*/
  +    /*        urlroot=[urlroot]&dir=[Dir#]&class=[Class#]&num=[File#]&client=[Client#]*/
   
       type = apr_table_get(r->headers_in, "Content-Type");
       /*
  @@ -1072,30 +1057,28 @@
        * affects the pre-run tests: the regular client does send the header.
        */
       if ((type == NULL) || (strcasecmp(type, DEFAULT_ENCTYPE) != 0)) {
  -    ap_log_error(APLOG_MARK,
  -             APLOG_WARNING | APLOG_NOERRNO, 0,
  -             r->server,
  -             "The client didn't send %s as Content-Type. Version "
  -             "1.02 of the SPECWeb does not do this and thus violates "
  -             "the HTTP specification. Please apply the following "
  -             "patch to your manager script and bitch to SPEC that "
  -             "they fix this:\n%s", DEFAULT_ENCTYPE,
  -             SPEC_MANAGER_PATCH);
  -    return HTTP_INTERNAL_SERVER_ERROR;
  +        ap_log_error(APLOG_MARK, APLOG_WARNING | APLOG_NOERRNO, 0, r->server,
  +                     "The client didn't send %s as Content-Type. Version "
  +                     "1.02 of the SPECWeb does not do this and thus violates "
  +                     "the HTTP specification. Please apply the following "
  +                     "patch to your manager script and bitch to SPEC that "
  +                     "they fix this:\n%s", DEFAULT_ENCTYPE,
  +                     SPEC_MANAGER_PATCH);
  +        return HTTP_INTERNAL_SERVER_ERROR;
       }
   
       if (ap_setup_client_block(r, REQUEST_CHUNKED_ERROR) != OK) {
  -    ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0, r->server,
  -             "Could not setup client block");
  -    returnHTMLPageWithMessage(r, "Couldn't set up client block");
  -    return HTTP_INTERNAL_SERVER_ERROR;
  +        ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0, r->server,
  +                     "Could not setup client block");
  +        returnHTMLPageWithMessage(r, "Couldn't set up client block");
  +        return HTTP_INTERNAL_SERVER_ERROR;
       }
   
       if (!ap_should_client_block(r)) {
  -    ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0, r->server,
  -             "No POST data");
  -    returnHTMLPageWithMessage(r, "No POST data");
  -    return HTTP_INTERNAL_SERVER_ERROR;
  +        ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0, r->server,
  +                     "No POST data");
  +        returnHTMLPageWithMessage(r, "No POST data");
  +        return HTTP_INTERNAL_SERVER_ERROR;
       }
   
       length = r->remaining;
  @@ -1104,105 +1087,104 @@
   
       while ((len_read =
           ap_get_client_block(r, argsbuffer, sizeof(argsbuffer))) > 0) {
  -    if ((rpos + len_read) > length) {
  -        rsize = length - rpos;
  -    }
  -    else {
  -        rsize = len_read;
  -    }
  -    memcpy((char *) data + rpos, argsbuffer, rsize);
  -    rpos += rsize;
  +            if ((rpos + len_read) > length) {
  +                rsize = length - rpos;
  +            }
  +            else {
  +                rsize = len_read;
  +            }
  +            memcpy((char *) data + rpos, argsbuffer, rsize);
  +            rpos += rsize;
       }
   
       data[length] = '\0';
   
  -    posterr = 5;		/* Counter to make sure we get all VARiables
  -                 * from the CGI post */
  +    posterr = 5;            /* Counter to make sure we get all variables
  +                             * from the CGI post */
       while (data) {
  -    const char *p = data;
  +        const char *p = data;
   
  -    data = index(p, '&' /* 0x26 */ );
  -    if (data != NULL)
  -        *data++ = '\0';
  -
  -    if (strncmp(p, "urlroot=", 8) == 0) {
  -        urlroot = apr_pstrdup(r->pool, p + 8);
  -        posterr--;
  -    }
  -    else if (strncmp(p, "dir=", 4) == 0) {
  -        dirnum = atoi(p + 4);
  -        posterr--;
  -    }
  -    else if (strncmp(p, "class=", 6) == 0) {
  -        classnum = atoi(p + 6);
  -        posterr--;
  -    }
  -    else if (strncmp(p, "num=", 4) == 0) {
  -        filenum = atoi(p + 4);
  -        posterr--;
  -    }
  -    else if (strncmp(p, "client=", 7) == 0) {
  -        clientnum = atoi(p + 7);
  -        posterr--;
  -    }
  +        data = index(p, '&' /* 0x26 */ );
  +        if (data != NULL)
  +            *data++ = '\0';
  +
  +        if (strncmp(p, "urlroot=", 8) == 0) {
  +            urlroot = apr_pstrdup(r->pool, p + 8);
  +            posterr--;
  +        }
  +        else if (strncmp(p, "dir=", 4) == 0) {
  +            dirnum = atoi(p + 4);
  +            posterr--;
  +        }
  +        else if (strncmp(p, "class=", 6) == 0) {
  +            classnum = atoi(p + 6);
  +            posterr--;
  +        }
  +        else if (strncmp(p, "num=", 4) == 0) {
  +            filenum = atoi(p + 4);
  +            posterr--;
  +        }
  +        else if (strncmp(p, "client=", 7) == 0) {
  +            clientnum = atoi(p + 7);
  +            posterr--;
  +        }
       }
       if (posterr != 0) {
  -    ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0,
  -             r->server, "Did not get all POST arguments");
  -    returnHTMLPageWithMessage(r, "Did not get all POST arguments");
  -    return HTTP_INTERNAL_SERVER_ERROR;
  -    }
  -
  -/*  Filename = [urlroot]/dir[5-digit Dir#]/class[Class#]_[File#]*/
  -/*        (for example, the POST input of */
  -/*        urlroot=/specweb99/file_set&dir=00123&class=1&num=1&client=10003 */
  -/*        would make Filename = /specweb99/file_set/dir00123/class1_1)*/
  -
  -    filename = ap_make_full_path(r->pool,
  -                 docroot, apr_psprintf(r->pool,
  -                          "%s/dir%05d/class%1d_%1d",
  -                               urlroot, dirnum,
  -                               classnum, filenum));
  +        ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0,
  +                     r->server, "Did not get all POST arguments");
  +        returnHTMLPageWithMessage(r, "Did not get all POST arguments");
  +        return HTTP_INTERNAL_SERVER_ERROR;
  +    }
  +
  +    /*  Filename = [urlroot]/dir[5-digit Dir#]/class[Class#]_[File#]*/
  +    /*        (for example, the POST input of */
  +    /*        urlroot=/specweb99/file_set&dir=00123&class=1&num=1&client=10003 */
  +    /*        would make Filename = /specweb99/file_set/dir00123/class1_1)*/
  +
  +    filename = ap_make_full_path(r->pool, docroot, apr_psprintf(r->pool,
  +                                 "%s/dir%05d/class%1d_%1d",
  +                                 urlroot, dirnum, classnum, filenum));
   
       /* Do_atomically (for example, using a file lock or other mutex): */
   
       if ((rv = apr_file_open(&f, _my->log_path, APR_READ | APR_WRITE,
  -                APR_OS_DEFAULT, r->pool)) != APR_SUCCESS) {
  -    ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  -             "Failed to open post.log '%s' for updating",
  -             _my->log_path);
  -    returnHTMLPageWithMessage(r,
  -                   "Failed to open post.log file for updating");
  -    return HTTP_INTERNAL_SERVER_ERROR;
  +                            APR_OS_DEFAULT, r->pool)) != APR_SUCCESS) {
  +        ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  +                     "Failed to open post.log '%s' for updating",
  +                     _my->log_path);
  +        returnHTMLPageWithMessage(r,
  +                    "Failed to open post.log file for updating");
  +        return HTTP_INTERNAL_SERVER_ERROR;
       }
   
  -    if ((rv = _wlock(r->server, r, f, _my->log_path)) != APR_SUCCESS)
  -    returnHTMLPageWithMessage(r, "Failed to lock post.log file");
  -    else {
  -    char *msg =
  -    _log_and_write(r, f, filename, urlroot, dirnum, classnum, filenum,
  -               clientnum, uid);
  -    if (msg) {
  -        rv = APR_OS_START_USEERR;
  -        ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server, msg);
  -        returnHTMLPageWithMessage(r, msg);
  +    if ((rv = _wlock(r->server, r, f, _my->log_path)) != APR_SUCCESS) {
  +        returnHTMLPageWithMessage(r, "Failed to lock post.log file");
       }
  +    else {
  +        char *msg =
  +        _log_and_write(r, f, filename, urlroot, dirnum, classnum, filenum,
  +                       clientnum, uid);
  +        if (msg) {
  +            rv = APR_OS_START_USEERR;
  +            ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server, msg);
  +            returnHTMLPageWithMessage(r, msg);
  +        }
       }
   
       if ((rv2 = apr_file_unlock(f)) != APR_SUCCESS) {
  -    if (rv == APR_SUCCESS) {
  -        rv = rv2;
  -        ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  -             "Failed to unlock %s", filename ? filename : "");
  -        returnHTMLPageWithMessage(r, "Failed to lock unpost.log file");
  -    }
  +        if (rv == APR_SUCCESS) {
  +            rv = rv2;
  +            ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
  +                         "Failed to unlock %s", filename ? filename : "");
  +            returnHTMLPageWithMessage(r, "Failed to lock unpost.log file");
  +        }
       }
   
       apr_file_close(f);
   
       if (rv != APR_SUCCESS)
  -    return HTTP_INTERNAL_SERVER_ERROR;	/* _log_and_write() will have
  -                         * displayed a page already */
  +        return HTTP_INTERNAL_SERVER_ERROR;      /* _log_and_write() will have
  +                                                 * displayed a page already */
   
       /*
        * CookieString = "my_cookie=<myCookie>"
  @@ -1212,7 +1194,7 @@
        * number.
        */
       apr_table_setn(r->headers_out, "Set-Cookie",
  -           apr_psprintf(r->pool, "my_cookie=%d", uid));
  +    apr_psprintf(r->pool, "my_cookie=%d", uid));
   
       /* 
        * Return HTML Page with File='RootDir/FileName' and Cookie=CookieString
  @@ -1220,15 +1202,16 @@
       returnHTMLPageWithFile(r, filename);
   
       return OK;
  -}				/* do_post */
  +}                               /* do_post */
   
   static int specweb99_quick_handler(request_rec *r, int lookup)
   {
       const char *cookie_in;
  -                                
  +
       if (!((strlen(r->uri) == 1) && /* dynamic uri is "/"         */
  -            (r->args ||            /* dynamic GET must have args */ 
  -                r->method_number == M_POST))) {  /* but not POST */ 
  +        (r->args ||            /* dynamic GET must have args */
  +        r->method_number == M_POST))) {  /* but not POST */
  +
           return DECLINED;
       }
       cookie_in = apr_table_get(r->headers_in, "Cookie");
  @@ -1237,8 +1220,7 @@
           char *end;
   #ifdef DEBUG
           specweb99_debug(r->server, ap_psprintf(r->pool,
  -                    "Got a cookie: %s",
  -                       cookie_in));
  +                       "Got a cookie: %s", cookie_in));
   #endif
           /*
            * Parse Cookie string into MyUser and Last_Ad(cadget). The format of the 
  @@ -1252,9 +1234,9 @@
               last_ad = atoi(end + 9); /* We trust that there is something behind
                                         * the last_ad value to stop the conversion 
                                         */
  -            return do_cadget(r, user_id, last_ad); 
  +            return do_cadget(r, user_id, last_ad);
           }
  -        return do_post(r, user_id); 
  +        return do_post(r, user_id);
       }
       if (!strncmp(r->args, "command/", 8)) {
           return do_housekeeping(r);
  @@ -1266,17 +1248,15 @@
   {
       ap_hook_post_config(specweb99_module_init, NULL, NULL, APR_HOOK_MIDDLE);
       ap_hook_child_init(specweb99_child_init, NULL, NULL, APR_HOOK_MIDDLE);
  -    
       ap_hook_quick_handler(specweb99_quick_handler, NULL, NULL, APR_HOOK_MIDDLE);
  -
   }
   
   module AP_MODULE_DECLARE_DATA specweb99_module = {
       STANDARD20_MODULE_STUFF,
  -    NULL,			/* dir config creater */
  -    NULL,			/* dir merger --- default is to override */
  -    specweb99_server_create,	/* server config */
  -    NULL,			/* merge server config */
  -    NULL,			/* command apr_table_t */
  -    register_hooks		/* register hooks */
  +    NULL,                   /* dir config creater */
  +    NULL,                   /* dir merger --- default is to override */
  +    specweb99_server_create,/* server config */
  +    NULL,                   /* merge server config */
  +    NULL,                   /* command apr_table_t */
  +    register_hooks          /* register hooks */
   };
  
  
  

Mime
View raw message