[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-modperl-cvs
Subject:    cvs commit: modperl-2.0/xs/maps apr_structures.map
From:       stas () apache ! org
Date:       2004-05-28 1:36:40
Message-ID: 20040528013640.50289.qmail () minotaur ! apache ! org
[Download RAW message or body]

stas        2004/05/27 18:36:40

  Modified:    .        Changes
               t/response/TestAPR uri.pm
               xs/APR/URI APR__URI.h
               xs/maps  apr_structures.map
  Log:
  APR::URI:
    - removed accessors
      o is_initialized() (internal apr_uri flag)
      o  dns_looked_up() and dns_resolved() (they are not
         used by apache/apr)
    - all remaining accessors now accept undef value, which unsets the
      field
  
  Revision  Changes    Path
  1.381     +12 -0     modperl-2.0/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.380
  retrieving revision 1.381
  diff -u -u -r1.380 -r1.381
  --- Changes	25 May 2004 01:56:19 -0000	1.380
  +++ Changes	28 May 2004 01:36:40 -0000	1.381
  @@ -12,6 +12,18 @@
   
   =item 1.99_15-dev
   
  +APR::URI: [Stas]
  +  - removed accessors
  +    o is_initialized() (internal apr_uri flag)
  +    o  dns_looked_up() and dns_resolved() (they are not 
  +       used by apache/apr)
  +  - all remaining accessors now accept undef value, which unsets the
  +    field
  +
  +Extended WrapXS code to support a new type of accessor: char * which
  +accepts undef to set the C pointer to NULL and as such unset the
  +member of the struct. [Stas]
  +
   Exception error messages now include the error id along with the error
   message (as they did in first place). [Stas]
   
  
  
  
  1.3       +7 -6      modperl-2.0/t/response/TestAPR/uri.pm
  
  Index: uri.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/t/response/TestAPR/uri.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -u -r1.2 -r1.3
  --- uri.pm	25 May 2004 08:42:03 -0000	1.2
  +++ uri.pm	28 May 2004 01:36:40 -0000	1.3
  @@ -6,7 +6,7 @@
   # unparse,
   
   use strict;
  -use warnings;# FATAL => 'all';
  +use warnings FATAL => 'all';
   
   use Apache::Test;
   use Apache::TestUtil;
  @@ -38,7 +38,8 @@
       fragment => ["fragment",        undef            ],
   );
   
  -my @keys_urls = qw(scheme user password hostname port path query fragment);
  +my @keys_urls = qw(scheme user password hostname port path query
  +                   fragment);
   my @keys_hostinfo = qw(user password hostname port);
   
   sub handler {
  @@ -67,7 +68,8 @@
       for my $method (keys %url) {
           no strict 'refs';
           $parsed->$method($url{$method}[1]);
  -        t_debug("$method: $url{$method}[1] => " . $parsed->$method||'');
  +        t_debug("$method: " . ($url{$method}[1]||'undef') .
  +                " => " . ($parsed->$method||'undef'));
       }
   
       ### unparse ###
  @@ -79,8 +81,7 @@
       # updated: so we see the old value here
       ok t_cmp($hostinfo0, $parsed->hostinfo, "hostinfo");
   
  -    # - since the port is 21 which is the default for ftp, unparse
  -    #   omits it
  +    # - since 21 is the default port for ftp, unparse omits it
       # - if no flags are passed to unparse, APR::URI_UNP_OMITPASSWORD
       #   is passed by default -- it hides the password
       my $url1 = sprintf "%s://%s\@%s%s",
  @@ -96,7 +97,7 @@
       }
   
       ### port_of_scheme ###
  -    while(my($scheme, $port) = each %default_ports) {
  +    while (my($scheme, $port) = each %default_ports) {
           my $apr_port = APR::URI::port_of_scheme($scheme);
           ok t_cmp($port, $apr_port, "scheme: $scheme");
       }
  
  
  
  1.8       +12 -5     modperl-2.0/xs/APR/URI/APR__URI.h
  
  Index: APR__URI.h
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/APR/URI/APR__URI.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -u -r1.7 -r1.8
  --- APR__URI.h	4 Mar 2004 06:01:10 -0000	1.7
  +++ APR__URI.h	28 May 2004 01:36:40 -0000	1.8
  @@ -54,12 +54,19 @@
       char *port_str = uri->port_str;
   
       if (portsv) {
  -        STRLEN len;
  -        char *port = SvPV(portsv, len);
  -        uri->port_str = apr_pstrndup(((modperl_uri_t *)uri)->pool,
  -                                     port, len);
  -        uri->port = (int)SvIV(portsv);
  +        if (SvOK(portsv)) {
  +            STRLEN len;
  +            char *port = SvPV(portsv, len);
  +            uri->port_str = apr_pstrndup(((modperl_uri_t *)uri)->pool,
  +                                         port, len);
  +            uri->port = (int)SvIV(portsv);
  +        }
  +        else {
  +            uri->port_str = NULL;
  +            uri->port = 0;
  +        }
       }
   
       return port_str;
   }
  +
  
  
  
  1.16      +13 -10    modperl-2.0/xs/maps/apr_structures.map
  
  Index: apr_structures.map
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_structures.map,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -u -r1.15 -r1.16
  --- apr_structures.map	24 May 2004 19:55:46 -0000	1.15
  +++ apr_structures.map	28 May 2004 01:36:40 -0000	1.16
  @@ -1,5 +1,8 @@
   ##########  APR structures  ##########
   
  +# for mapping see %ModPerl::MapUtil::disabled_map in
  +# lib/ModPerl/MapUtil.pm
  +
   IGNORE: apr_pool_t apr_os_ apr_vformatter_buff_t apr_pool_t \
   apr_table_t apr_in_addr_t apr_bucket_ apr_md5_ctx_t apr_sha1_ctx_t \
   apr_md4_ctx_t apr_sdbm_datum_t apr_memnode_t \
  @@ -169,18 +172,18 @@
   </apr_text>
   
   <apr_uri_t>
  -   scheme
  +&  scheme
      hostinfo
  -   user
  -   password
  -   hostname
  +&  user
  +&  password
  +&  hostname
   -  port_str
  -   path
  -   query
  -   fragment
  +&  path
  +&  query
  +&  fragment
      hostent
   ~  port
  -   is_initialized
  -   dns_looked_up
  -   dns_resolved
  +-  is_initialized
  +-  dns_looked_up
  +-  dns_resolved
   </apr_uri_t>
  
  
  
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic