You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apreq-cvs@httpd.apache.org by jo...@apache.org on 2003/06/07 22:16:23 UTC

cvs commit: httpd-apreq-2/t cookie.c

joes        2003/06/07 13:16:23

  Modified:    build    xsbuilder.pl
               t        cookie.c
  Log:
  Add filler (unused?) typemaps; fix cookie test to reflect removal of version argument from apreq_make_cookie.
  
  Revision  Changes    Path
  1.4       +52 -4     httpd-apreq-2/build/xsbuilder.pl
  
  Index: xsbuilder.pl
  ===================================================================
  RCS file: /home/cvs/httpd-apreq-2/build/xsbuilder.pl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- xsbuilder.pl	30 May 2003 21:43:32 -0000	1.3
  +++ xsbuilder.pl	7 Jun 2003 20:16:23 -0000	1.4
  @@ -189,6 +189,46 @@
   
   }
   
  +# another bug in WrapXS.pm - 
  +# must insert a space before typemap definition
  +
  +sub write_typemap
  +{
  +    my $self = shift;
  +    my $typemap = $self->typemap;
  +    my $map = $typemap->get;
  +    my %seen;
  +
  +    my $fh = $self->open_class_file('', 'typemap');
  +    print $fh "$self->{noedit_warning_hash}\n";
  +
  +    while (my($type, $t) = each %$map) {
  +        my $class = $t -> {class} ;
  +        $class ||= $type;
  +        next if $seen{$type}++ || $typemap->special($class);
  +
  +        my $typemap = $t -> {typemapid} ;
  +        if ($class =~ /::/) {
  +            next if $seen{$class}++ ;
  +            $class =~ s/::$// ;
  +            print $fh "$class\t$typemap\n";
  +        }
  +        else {
  +            print $fh "$type\t$typemap\n";
  +        }
  +    }
  +
  +    my $typemap_code = $typemap -> typemap_code ;
  +
  +    foreach my $dir ('INPUT', 'OUTPUT') {
  +        print $fh "\n$dir\n" ;
  +        while (my($type, $code) = each %{$typemap_code}) {
  +            print $fh "$type\n\t$code->{$dir}\n\n" if ($code->{$dir}) ;
  +        }
  +    }
  +
  +    close $fh;
  +}
   
   package My::TypeMap;
   use base 'ExtUtils::XSBuilder::TypeMap';
  @@ -198,20 +238,28 @@
   {
       {
           T_APREQ_COOKIE  => {
  -                            OUTPUT => '$arg = apreq_xs_cookie2sv($var)',
                               INPUT  => '$var = apreq_xs_sv2cookie($arg)',
  +                            perl2c => 'apreq_xs_sv2cookie(sv)',
  +                            OUTPUT => '$arg = apreq_xs_cookie2sv($var,apreq_xs_class);',
  +                            c2perl => 'apreq_xs_cookie2sv(ptr,apreq_xs_class);',
                              },
           T_APREQ_PARAM   => {
  -                            OUTPUT => '$arg = apreq_xs_param2sv($var)',
                               INPUT  => '$var = apreq_xs_sv2param($arg)',
  +                            perl2c => 'apreq_xs_sv2param(sv)',
  +                            OUTPUT => '$arg = apreq_xs_param2sv($var,apreq_xs_class);',
  +                            c2perl => 'apreq_xs_param2sv(ptr,apreq_xs_class)',
                              },
           T_APREQ_REQUEST => {
  -                            OUTPUT => '$arg = apreq_xs_request2sv($var)',
                               INPUT  => '$var = apreq_xs_sv2request($arg)',
  +                            perl2c => 'apreq_xs_sv2request(sv)',
  +                            OUTPUT => '$arg = apreq_xs_request2sv($var,apreq_xs_class);',
  +                            c2perl => 'apreq_xs_request2sv(ptr,apreq_xs_class)',
                              },
           T_APREQ_JAR     => {
  -                            OUTPUT => '$arg = apreq_xs_jar2sv($var)',
                               INPUT  => '$var = apreq_xs_sv2jar($arg)',
  +                            perl2c => 'apreq_xs_sv2jar(sv)',
  +                            OUTPUT => '$arg = apreq_xs_jar2sv($var,apreq_xs_class);',
  +                            c2perl => 'apreq_xs_jar2sv(ptr,apreq_xs_class)',
                              },
       }
   }
  
  
  
  1.5       +3 -2      httpd-apreq-2/t/cookie.c
  
  Index: cookie.c
  ===================================================================
  RCS file: /home/cvs/httpd-apreq-2/t/cookie.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- cookie.c	20 May 2003 20:27:32 -0000	1.4
  +++ cookie.c	7 Jun 2003 20:16:23 -0000	1.5
  @@ -117,12 +117,13 @@
   
   static void rfc_cookie(CuTest *tc)
   {
  -    apreq_cookie_t *c = apreq_make_cookie(p,RFC,"rfc",3,"out",3);
  +    apreq_cookie_t *c = apreq_make_cookie(p,"rfc",3,"out",3);
       apreq_cookie_version_t version = RFC;
       long expires = apreq_atoi64t("+3m");
   
       CuAssertStrEquals(tc,"out",apreq_cookie_value(c));
  -    CuAssertIntEquals(tc, version,c->version);
  +    c->version = version;
  +    c->time.max_age = -1;
   
       CuAssertStrEquals(tc,"rfc=out; Version=1", apreq_cookie_as_string(p,c));
       c->domain = apr_pstrdup(p, "example.com");