mturk 2002/09/24 00:52:09 Modified: jk/native2/common jk_uriEnv.c Log: Enable compiling withouth APR. Revision Changes Path 1.29 +31 -26 jakarta-tomcat-connectors/jk/native2/common/jk_uriEnv.c Index: jk_uriEnv.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_uriEnv.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- jk_uriEnv.c 23 Sep 2002 22:15:04 -0000 1.28 +++ jk_uriEnv.c 24 Sep 2002 07:52:09 -0000 1.29 @@ -69,9 +69,8 @@ #include "jk_uriMap.h" #include "jk_registry.h" -#ifdef HAS_APR +#if HAS_APR #include "apr_uri.h" - /** Parse the name: VHOST/PATH @@ -119,45 +118,51 @@ } return JK_ERR; } - #else -/* Old version, deprecated - used only if APR is not available - */ static int jk2_uriEnv_parseName( jk_env_t *env, jk_uriEnv_t *uriEnv, char *name) { - char *n=name; - char *slash=strchr( name, '/' ); - - /* fprintf( stderr, "XXX parseURI %s\n", name ); */ - - if( slash==NULL ) { + char *uri = NULL; + char *colon; + char host[1024]; + char path[1024]; + + strcpy(host, name); + colon = strchr(host, ':'); + if (colon != NULL) { + ++colon; + uri = strchr(colon, '/'); + } + else + uri = strchr(host, '/'); + if (!uri) { /* That's a virtual host definition ( no actual mapping, just global * settings like aliases, etc */ - uriEnv->match_type= MATCH_TYPE_HOST; - if( name[0]=='\0' ) { - uriEnv->virtual=NULL; /* "" for the default host */ - } else { - uriEnv->virtual=name; - } + + uriEnv->match_type = MATCH_TYPE_HOST; + if (colon) + uriEnv->port = atoi(colon); + uriEnv->virtual = uriEnv->pool->pstrdup(env, uriEnv->pool, host); return JK_OK; } - + strcpy(path, uri); + if (colon) { + *uri = '\0'; + uriEnv->port = atoi(colon); + } /* If it doesn't start with /, it must have a vhost */ - if( *name != '/' ) { - uriEnv->virtual=uriEnv->pool->calloc( env, uriEnv->pool, slash - name + 2 ); - strncpy( uriEnv->virtual, name, slash-name ); + if (strlen(host)) { + uriEnv->virtual = uriEnv->pool->calloc( env, uriEnv->pool, strlen(host) + 1 ); + strncpy(uriEnv->virtual, name, strlen(host)); } + else + uriEnv->virtual = "*"; - n=slash; - - uriEnv->uri=uriEnv->pool->pstrdup(env, uriEnv->pool, n); - return JK_OK; } +#endif /* HAS_APR */ -#endif static void * JK_METHOD jk2_uriEnv_getAttribute(jk_env_t *env, jk_bean_t *bean, char *name )
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>