Hi Pavel,

Last night, after twiddling some stuff and relocating sablot.log 
to /tmp/sablot.log it worked! ;-)

(Is there a way to set this location using the perl interface?)

I'm going to try to get rid of all the perror() statements and see if it was
something I did regarding file permissions. I'll post it here. I think all
it'll be is char *foo = 0; in Sablot.xs 

I really *really* like the idea of a real, non-java, XSLT processor for unix
platforms that is fairly painless to install. It's exactly what XML needs
right now. You folks have done a real service to the XML community.

Jamie

On Fri, May 12, 2000 at 11:04:50AM +0200, Pavel Hlavnicka wrote:
 
> Hi Jamie,
> it looks like this is my first mail in my life (I mean my previsou empty 
> reply :-)
> 
> > 
> > Sablotron looks extremely promising, and as a command line utility it's
> > already useful, but I'm having some problems getting it to work under apache
> > with mod_perl.
> 
> We use Sablotron in mod_perl scripts with no problems (we use it in 
> little bit indirect way, so I'll try some simple test)



> > The problem is it gets a segfault when it runs, I think it's related to the
> > SablotFree(foo); routine. 
> > 
> > I'm not a native C coder, but I did find something interesting.
> > 
> > This doesn't crash under mod_perl, but it doesn't work either. :-( The 
> > fprintf(stderr,"Result: %s\n",result); line prints something completely
> > different (in the apache error log file) under mod_perl then it does under 
> > regular perl. 
> > 
> > It prints some kind of binary data, leading me to believe it's a memory 
> > allocation mix-up of some kind, particular to mod_perl.
> 
> Can you send us sample perl script and data? (template and xml)?
> 
> > ----------| Sablotron.xs |-------------------
> > 
> > int
> > SablotProcessStrings(sheet,input,result)
> >     char *          sheet
> >     char *          input
> >     char *          result
> >     PREINIT:
> >     char anything;         // ???
> >     char *foo = &anything;
> 
> 
> foo doesn't have to point to anything, 'cos result buffer is allocated 
> by Sablotron.
> 
> 
> 
> 
> 
> >     CODE:
> >         RETVAL = SablotProcessStrings(sheet, input, &foo);
> >     perror("We're here");
> >     result = foo;
> >     OUTPUT:
> >     result
> >     RETVAL
> >     CLEANUP:
> >     perror("Just before cleanup");
> >     fprintf(stderr,"Result: %s\n",result);
> >     SablotFree(foo);
> >     perror("We're After cleanup");
> 
> "After cleanup" message never appears?
> 
> Few additional questions:
> 1. The same tamplate and data works with sabcmd?
> 2. Are there som other messages in Apache log (mainly messages produced 
> by Sablotron)
> 3. Sablotron needs to write into working directory. Has web user 
> permissions for it?
> 
> Have a nice day
> 
> 
> Pavel
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> Pavel Hlavnicka
> Ginger Alliance Ltd.
> Prague; Czech Republic

Reply via email to