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]>

Reply via email to