cvs commit: modperl-2.0/lib/Apache ParseSource.pm
dougm 01/02/18 13:52:51 Modified:lib/Apache ParseSource.pm Log: a few changes for subclass-able-ness Revision ChangesPath 1.6 +22 -7 modperl-2.0/lib/Apache/ParseSource.pm Index: ParseSource.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/ParseSource.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ParseSource.pm2001/02/02 04:53:48 1.5 +++ ParseSource.pm2001/02/18 21:52:51 1.6 @@ -50,11 +50,15 @@ my $c = C::Scan-new(filename = $self-{scan_filename}); -$c-set(includeDirs = $self-config-includes); +$c-set(includeDirs = $self-includes); bless $c, 'Apache::ParseSource::Scan'; } +sub include_dir { shift-config-apxs(-q = 'INCLUDEDIR') } + +sub includes { shift-config-includes } + sub find_includes { my $self = shift; @@ -62,7 +66,7 @@ require File::Find; -my $dir = $self-config-apxs(-q = 'INCLUDEDIR'); +my $dir = $self-include_dir; unless (-d $dir) { die "could not find include directory"; @@ -154,6 +158,10 @@ return \@e; } +sub wanted_functions { +join '|', qw(ap_ apr_ apu_); +} + sub get_functions { my $self = shift; @@ -165,7 +173,7 @@ my $fdecls = $c-get($key); my %seen; -my $wanted = join '|', qw(ap_ apr_ apu_); +my $wanted = $self-wanted_functions; my @functions; @@ -174,6 +182,10 @@ next unless $name =~ /^($wanted)/o; next if $seen{$name}++; +for (qw(static __inline__)) { +$rtype =~ s/^$_\s+//; +} + my $func = { name = $name, return_type = $rtype, @@ -250,9 +262,11 @@ require Data::Dumper; local $Data::Dumper::Indent = 1; + +my($subdir) = (split '::', $name)[0]; -if (-d "lib/Apache") { -$file = "lib/Apache/$file"; +if (-d "lib/$subdir") { +$file = "lib/$subdir/$file"; } open my $pm, '', $file or die "open $file: $!"; @@ -260,14 +274,15 @@ my $dump = Data::Dumper-new([$data], [$name])-Dump; -my $package = __PACKAGE__; +my $package = ref($self) || $self; +my $version = $self-VERSION; my $date = scalar localtime; print $pm EOF; package $name; # !! -# ! WARNING: generated by $package/$VERSION +# ! WARNING: generated by $package/$version # ! $date # ! do NOT edit, any changes will be lost ! # !!
cvs commit: modperl-2.0/src/modules/perl modperl_callback.c modperl_callback.h
dougm 01/02/18 13:55:08 Modified:src/modules/perl modperl_callback.c modperl_callback.h Log: avoid c++ keywords (class) Revision ChangesPath 1.17 +1 -1 modperl-2.0/src/modules/perl/modperl_callback.c Index: modperl_callback.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- modperl_callback.c2001/02/08 19:42:02 1.16 +++ modperl_callback.c2001/02/18 21:55:08 1.17 @@ -87,7 +87,7 @@ } int modperl_handler_lookup(pTHX_ modperl_handler_t *handler, - char *class, char *name) + char *package, char *name) { CV *cv; GV *gv; 1.10 +1 -1 modperl-2.0/src/modules/perl/modperl_callback.h Index: modperl_callback.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- modperl_callback.h2000/08/21 03:01:30 1.9 +++ modperl_callback.h2001/02/18 21:55:08 1.10 @@ -25,7 +25,7 @@ void modperl_handler_cache_cv(pTHX_ modperl_handler_t *handler, CV *cv); int modperl_handler_lookup(pTHX_ modperl_handler_t *handler, - char *class, char *name); + char *package, char *name); void modperl_handler_unparse(modperl_handler_t *handler);
cvs commit: modperl-2.0/src/modules/perl modperl_apache_xs.c modperl_apache_xs.h
dougm 01/02/18 13:57:51 Modified:lib/ModPerl Code.pm Removed: src/modules/perl modperl_apache_xs.c modperl_apache_xs.h Log: remove modperl_apache_xs.[ch] Revision ChangesPath 1.40 +1 -1 modperl-2.0/lib/ModPerl/Code.pm Index: Code.pm === RCS file: /home/cvs/modperl-2.0/lib/ModPerl/Code.pm,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- Code.pm 2001/02/01 21:35:42 1.39 +++ Code.pm 2001/02/18 21:57:50 1.40 @@ -453,7 +453,7 @@ ); my @c_src_names = qw(interp tipool log config options callback gtop - util filter apache_xs); + util filter); my @g_c_names = map { "modperl_$_" } qw(hooks directives flags xsinit); my @c_names = ('mod_perl', (map "modperl_$_", @c_src_names)); sub c_files { [map { "$_.c" } @c_names, @g_c_names] }
cvs commit: modperl-2.0/src/modules/perl modperl_callback.c
dougm 01/02/18 16:10:50 Modified:src/modules/perl modperl_callback.c Log: more s/class/package/g Revision ChangesPath 1.18 +19 -19modperl-2.0/src/modules/perl/modperl_callback.c Index: modperl_callback.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- modperl_callback.c2001/02/18 21:55:08 1.17 +++ modperl_callback.c2001/02/19 00:10:49 1.18 @@ -91,21 +91,21 @@ { CV *cv; GV *gv; -HV *stash = gv_stashpv(class, FALSE); +HV *stash = gv_stashpv(package, FALSE); if (!stash) { -MP_TRACE_h(MP_FUNC, "class %s not defined, attempting to load\n", - class); -require_module(aTHX_ class); +MP_TRACE_h(MP_FUNC, "package %s not defined, attempting to load\n", + package); +require_module(aTHX_ package); if (SvTRUE(ERRSV)) { -MP_TRACE_h(MP_FUNC, "failed to load %s class\n", class); +MP_TRACE_h(MP_FUNC, "failed to load %s package\n", package); return 0; } else { -MP_TRACE_h(MP_FUNC, "loaded %s class\n", class); -if (!(stash = gv_stashpv(class, FALSE))) { +MP_TRACE_h(MP_FUNC, "loaded %s package\n", package); +if (!(stash = gv_stashpv(package, FALSE))) { MP_TRACE_h(MP_FUNC, "%s package still does not exist\n", - class); + package); return 0; } } @@ -114,7 +114,7 @@ if ((gv = gv_fetchmethod(stash, name)) (cv = GvCV(gv))) { if (CvFLAGS(cv) CVf_METHOD) { /* sub foo : method {}; */ MpHandlerMETHOD_On(handler); -handler-obj = newSVpv(class, 0); +handler-obj = newSVpv(package, 0); handler-cv = newSVpv(name, 0); } else { @@ -198,38 +198,38 @@ } if ((tmp = strstr(name, "-"))) { -char class[256]; /*XXX*/ -int class_len = strlen(name) - strlen(tmp); -apr_cpystrn(class, name, class_len+1); +char package[256]; /*XXX*/ +int package_len = strlen(name) - strlen(tmp); +apr_cpystrn(package, name, package_len+1); MpHandlerMETHOD_On(handler); handler-cv = newSVpv(tmp[2], 0); -if (*class == '$') { -SV *obj = eval_pv(class, FALSE); +if (*package == '$') { +SV *obj = eval_pv(package, FALSE); if (SvTRUE(obj)) { handler-obj = SvREFCNT_inc(obj); if (SvROK(obj) sv_isobject(obj)) { MpHandlerOBJECT_On(handler); MP_TRACE_h(MP_FUNC, "handler object %s isa %s\n", - class, HvNAME(SvSTASH((SV*)SvRV(obj; + package, HvNAME(SvSTASH((SV*)SvRV(obj; } else { MP_TRACE_h(MP_FUNC, "%s is not an object, pv=%s\n", - class, SvPV_nolen(obj)); + package, SvPV_nolen(obj)); } } else { -MP_TRACE_h(MP_FUNC, "failed to thaw %s\n", class); +MP_TRACE_h(MP_FUNC, "failed to thaw %s\n", package); return 0; } } if (!handler-obj) { -handler-obj = newSVpv(class, class_len); +handler-obj = newSVpv(package, package_len); MP_TRACE_h(MP_FUNC, "handler method %s isa %s\n", - SvPVX(handler-cv), class); + SvPVX(handler-cv), package); } MpHandlerPARSED_On(handler);