diff options
author | 2015-11-30 03:10:21 -0500 | |
---|---|---|
committer | 2015-11-30 03:10:21 -0500 | |
commit | c0b7206652b2852bc574694e7ba07ba1c2acdc00 (patch) | |
tree | 5cb95cb0e19e03610525903df46279df2c3b7eb1 /rubbos/app/tomcat-connectors-1.2.32-src/native/common/jk_context.c | |
parent | b6d3d6e668b793220f2d3af1bc3e828553dc3fe6 (diff) |
delete app
Change-Id: Id4c572809969ebe89e946e88063eaed262cff3f2
Signed-off-by: hongbotian <hongbo.tianhongbo@huawei.com>
Diffstat (limited to 'rubbos/app/tomcat-connectors-1.2.32-src/native/common/jk_context.c')
-rw-r--r-- | rubbos/app/tomcat-connectors-1.2.32-src/native/common/jk_context.c | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/rubbos/app/tomcat-connectors-1.2.32-src/native/common/jk_context.c b/rubbos/app/tomcat-connectors-1.2.32-src/native/common/jk_context.c deleted file mode 100644 index f65ba836..00000000 --- a/rubbos/app/tomcat-connectors-1.2.32-src/native/common/jk_context.c +++ /dev/null @@ -1,296 +0,0 @@ -/* - * 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. - */ - -/*************************************************************************** - * Description: Context handling (Autoconf) * - * Author: Henri Gomez <hgomez@apache.org> * - * Version: $Revision: 466585 $ * - ***************************************************************************/ - -#include "jk_global.h" -#include "jk_context.h" -#include "jk_ajp_common.h" - - -/* - * Set the virtual name of the context - */ - -int context_set_virtual(jk_context_t *c, char *virt) -{ - if (c) { - - if (virt) { - c->virt = jk_pool_strdup(&c->p, virt); - - if (!c->virt) - return JK_FALSE; - } - - return JK_TRUE; - } - - return JK_FALSE; -} - -/* - * Init the context info struct - */ - -int context_open(jk_context_t *c, char *virt) -{ - if (c) { - jk_open_pool(&c->p, c->buf, sizeof(jk_pool_atom_t) * SMALL_POOL_SIZE); - c->size = 0; - c->capacity = 0; - c->contexts = NULL; - - return context_set_virtual(c, virt); - } - - return JK_FALSE; -} - -/* - * Close the context info struct - */ - -int context_close(jk_context_t *c) -{ - if (c) { - - jk_close_pool(&c->p); - return JK_TRUE; - } - - return JK_FALSE; -} - -/* - * Allocate and open context - */ - -int context_alloc(jk_context_t **c, char *virt) -{ - if (c) - return context_open(*c = - (jk_context_t *)calloc(1, sizeof(jk_context_t)), - virt); - - return JK_FALSE; -} - -/* - * Close and destroy context - */ - -int context_free(jk_context_t **c) -{ - if (c && *c) { - context_close(*c); - free(*c); - *c = NULL; - return JK_TRUE; - } - - return JK_FALSE; -} - - -/* - * Ensure there will be memory in context info to store Context Bases - */ - -static int context_realloc(jk_context_t *c) -{ - if (c->size == c->capacity) { - jk_context_item_t **contexts; - int capacity = c->capacity + CBASE_INC_SIZE; - - contexts = - (jk_context_item_t **)jk_pool_alloc(&c->p, - sizeof(jk_context_item_t *) * - capacity); - - if (!contexts) - return JK_FALSE; - - if (c->capacity && c->contexts) - memcpy(contexts, c->contexts, - sizeof(jk_context_item_t *) * c->capacity); - - c->contexts = contexts; - c->capacity = capacity; - } - - return JK_TRUE; -} - -/* - * Ensure there will be memory in context info to URIS - */ - -static int context_item_realloc(jk_context_t *c, jk_context_item_t *ci) -{ - if (ci->size == ci->capacity) { - char **uris; - int capacity = ci->capacity + URI_INC_SIZE; - - uris = (char **)jk_pool_alloc(&c->p, sizeof(char *) * capacity); - - if (!uris) - return JK_FALSE; - - memcpy(uris, ci->uris, sizeof(char *) * ci->capacity); - - ci->uris = uris; - ci->capacity = capacity; - } - - return JK_TRUE; -} - - -/* - * Locate a context base in context list - */ - -jk_context_item_t *context_find_base(jk_context_t *c, char *cbase) -{ - int i; - jk_context_item_t *ci; - - if (!c || !cbase) - return NULL; - - for (i = 0; i < c->size; i++) { - - ci = c->contexts[i]; - - if (!ci) - continue; - - if (!strcmp(ci->cbase, cbase)) - return ci; - } - - return NULL; -} - -/* - * Locate an URI in a context item - */ - -char *context_item_find_uri(jk_context_item_t *ci, char *uri) -{ - int i; - - if (!ci || !uri) - return NULL; - - for (i = 0; i < ci->size; i++) { - if (!strcmp(ci->uris[i], uri)) - return ci->uris[i]; - } - - return NULL; -} - -void context_dump_uris(jk_context_t *c, char *cbase, FILE * f) -{ - jk_context_item_t *ci; - int i; - - ci = context_find_base(c, cbase); - - if (!ci) - return; - - for (i = 0; i < ci->size; i++) - fprintf(f, "/%s/%s\n", ci->cbase, ci->uris[i]); - - fflush(f); -} - - -/* - * Add a new context item to context - */ - -jk_context_item_t *context_add_base(jk_context_t *c, char *cbase) -{ - jk_context_item_t *ci; - - if (!c || !cbase) - return NULL; - - /* Check if the context base was not allready created */ - ci = context_find_base(c, cbase); - - if (ci) - return ci; - - if (context_realloc(c) != JK_TRUE) - return NULL; - - ci = (jk_context_item_t *)jk_pool_alloc(&c->p, sizeof(jk_context_item_t)); - - if (!ci) - return NULL; - - c->contexts[c->size] = ci; - c->size++; - ci->cbase = jk_pool_strdup(&c->p, cbase); - ci->status = 0; - ci->size = 0; - ci->capacity = 0; - ci->uris = NULL; - - return ci; -} - -/* - * Add a new URI to a context item - */ - -int context_add_uri(jk_context_t *c, char *cbase, char *uri) -{ - jk_context_item_t *ci; - - if (!uri) - return JK_FALSE; - - /* Get/Create the context base */ - ci = context_add_base(c, cbase); - - if (!ci) - return JK_FALSE; - - if (context_item_find_uri(ci, uri) != NULL) - return JK_TRUE; - - if (context_item_realloc(c, ci) == JK_FALSE) - return JK_FALSE; - - ci->uris[ci->size] = jk_pool_strdup(&c->p, uri); - - if (ci->uris[ci->size] == NULL) - return JK_FALSE; - - ci->size++; - return JK_TRUE; -} |