Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Apache/server/   (Apache Software Stiftung Version 2.4.65©)  Datei vom 13.0.2018 mit Größe 6 kB image not shown  

Quelle  util_debug.c   Sprache: C

 
/* Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


#define APR_WANT_STRFUNC
#include "apr_want.h"

#include "httpd.h"
#include "http_config.h"
#include "http_core.h"

/* Possibly get rid of the macros we defined in httpd.h */
#if defined(strchr)
#undef strchr
#endif

#if defined (strrchr)
#undef strrchr
#endif

#if defined (strstr)
#undef strstr
#endif


#if defined(ap_strchr)
#undef ap_strchr
AP_DECLARE(char *) ap_strchr(char *s, int c);
#endif

AP_DECLARE(char *) ap_strchr(char *s, int c)
{
    return strchr(s,c);
}

#if defined(ap_strchr_c)
#undef ap_strchr_c
AP_DECLARE(const char *) ap_strchr_c(const char *s, int c);
#endif

AP_DECLARE(const char *) ap_strchr_c(const char *s, int c)
{
    return strchr(s,c);
}

#if defined(ap_strrchr)
#undef ap_strrchr
AP_DECLARE(char *) ap_strrchr(char *s, int c);
#endif

AP_DECLARE(char *) ap_strrchr(char *s, int c)
{
    return strrchr(s,c);
}

#if defined(ap_strrchr_c)
#undef ap_strrchr_c
AP_DECLARE(const char *) ap_strrchr_c(const char *s, int c);
#endif

AP_DECLARE(const char *) ap_strrchr_c(const char *s, int c)
{
    return strrchr(s,c);
}

#if defined(ap_strstr)
#undef ap_strstr
AP_DECLARE(char *) ap_strstr(char *s, const char *c);
#endif

AP_DECLARE(char *) ap_strstr(char *s, const char *c)
{
    return strstr(s,c);
}

#if defined(ap_strstr_c)
#undef ap_strstr_c
AP_DECLARE(const char *) ap_strstr_c(const char *s, const char *c);
#endif

AP_DECLARE(const char *) ap_strstr_c(const char *s, const char *c)
{
    return strstr(s,c);
}

#if defined(ap_get_module_config)
#undef ap_get_module_config
AP_DECLARE(void *) ap_get_module_config(const ap_conf_vector_t *cv,
                                        const module *m);
#endif

AP_DECLARE(void *) ap_get_module_config(const ap_conf_vector_t *cv,
                                        const module *m)
{
    return ((void **)cv)[m->module_index];
}

AP_DECLARE(int) ap_get_module_flags(const module *m)
{
    if (m->version < AP_MODULE_FLAGS_MMN_MAJOR
            || (m->version == AP_MODULE_FLAGS_MMN_MAJOR
                && (m->minor_version < AP_MODULE_FLAGS_MMN_MINOR))) {
        return 0;
    }

    return m->flags;
}

#if defined(ap_get_core_module_config)
#undef ap_get_core_module_config
AP_DECLARE(void *) ap_get_core_module_config(const ap_conf_vector_t *cv);
#endif

AP_DECLARE(void *) ap_get_core_module_config(const ap_conf_vector_t *cv)
{
    return ((void **)cv)[AP_CORE_MODULE_INDEX];
}


#if defined(ap_get_server_module_loglevel)
#undef ap_get_server_module_loglevel
AP_DECLARE(int) ap_get_server_module_loglevel(const server_rec *s, int module_index);
#endif

AP_DECLARE(int) ap_get_server_module_loglevel(const server_rec *s, int module_index)
{
    if (module_index < 0 || s->log.module_levels == NULL ||
        s->log.module_levels[module_index] < 0)
    {
        return s->log.level;
    }

    return s->log.module_levels[module_index];
}

#if defined(ap_get_conn_module_loglevel)
#undef ap_get_conn_module_loglevel
AP_DECLARE(int) ap_get_conn_module_loglevel(const conn_rec *c, int module_index);
#endif

AP_DECLARE(int) ap_get_conn_module_loglevel(const conn_rec *c, int module_index)
{
    const struct ap_logconf *l = (c)->log ? (c)->log : &(c)->base_server->log;
    if (module_index < 0 || l->module_levels == NULL ||
        l->module_levels[module_index] < 0)
    {
        return l->level;
    }

    return l->module_levels[module_index];
}

#if defined(ap_get_conn_server_module_loglevel)
#undef ap_get_conn_server_module_loglevel
AP_DECLARE(int) ap_get_conn_server_module_loglevel(const conn_rec *c,
                                                   const server_rec *s,
                                                   int module_index);
#endif

AP_DECLARE(int) ap_get_conn_server_module_loglevel(const conn_rec *c,
                                                   const server_rec *s,
                                                   int module_index)
{
    const struct ap_logconf *l = (c->log && c->log != &c->base_server->log) ?
                                 c->log : &s->log;
    if (module_index < 0 || l->module_levels == NULL ||
        l->module_levels[module_index] < 0)
    {
        return l->level;
    }

    return l->module_levels[module_index];
}

#if defined(ap_get_request_module_loglevel)
#undef ap_get_request_module_loglevel
AP_DECLARE(int) ap_get_request_module_loglevel(const request_rec *c, int module_index);
#endif

AP_DECLARE(int) ap_get_request_module_loglevel(const request_rec *r, int module_index)
{
    const struct ap_logconf *l = r->log             ? r->log             :
                                 r->connection->log ? r->connection->log :
                                 &r->server->log;
    if (module_index < 0 || l->module_levels == NULL ||
        l->module_levels[module_index] < 0)
    {
        return l->level;
    }

    return l->module_levels[module_index];
}

/**
 * Generic accessors for other modules to set at their own module-specific
 * data
 * @param conf_vector The vector in which the modules configuration is stored.
 *        usually r->per_dir_config or s->module_config
 * @param m The module to set the data for.
 * @param val The module-specific data to set
 * @fn void ap_set_module_config(ap_conf_vector_t *cv, const module *m, void *val)
 */

#if defined(ap_set_module_config)
#undef ap_set_module_config
AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m,
                                      void *val);
#endif

AP_DECLARE(void) ap_set_module_config(ap_conf_vector_t *cv, const module *m,
                                      void *val)
{
    ((void **)cv)[m->module_index] = val;
}


#if defined(ap_set_core_module_config)
#undef ap_set_core_module_config
AP_DECLARE(void) ap_set_core_module_config(ap_conf_vector_t *cv, void *val);
#endif

AP_DECLARE(void) ap_set_core_module_config(ap_conf_vector_t *cv, void *val)
{
    ((void **)cv)[AP_CORE_MODULE_INDEX] = val;
}

100%


¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.