Re: splitting a string...

2007-01-02 Thread Joachim Zobel
Am Dienstag, den 02.01.2007, 13:29 -0800 schrieb Drew Bertola: > > for ( e = APR_BRIGADE_FIRST(bb) ; > > e != APR_BRIGADE_SENTINEL(bb) ; > > e = APR_BUCKET_NEXT(e) ) { > - create context if it doesn't already exist. > - loop through buckets (from FIRST to SENTINEL) in brigade pa

Re: splitting a string...

2007-01-02 Thread Joe Lewis
Drew Bertola wrote: Again, makes me wish for a null output filter example. Try this link - it was written about 6 years ago, but still applies. It's a Ryan Bloom article (he was one of the APR developers). The link : http://www.serverwatch.com/news/article.php/1127731 My understanding i

Re: splitting a string...

2007-01-02 Thread Drew Bertola
Joachim Zobel wrote: > Am Dienstag, den 02.01.2007, 01:14 -0800 schrieb Drew Bertola: > >> line 91 looks like this: >> >> apr_bucket_read(e, &str, &len, APR_NONBLOCK_READ); >> >> Also, it only happens if I use >> >> APR_BRIGADE_INSERT_TAIL(ctx->bb, e); >> > > Ah, understood

Re: splitting a string...

2007-01-02 Thread Joachim Zobel
Am Dienstag, den 02.01.2007, 13:15 -0800 schrieb Drew Bertola: > I made a mental note to revisit apr_strmatch and friends. I have to > find an example of how to allocate the pool used in the precompile. I doubt that this is worth the effort, but a child init handler, that initialises a static wou

Re: splitting a string...

2007-01-02 Thread Drew Bertola
Joe Lewis wrote: > Make SURE you are not using things like strcasestr - it is not > platform independent (requires GNU source definitions). Besides, you > may want to change that to a series of apr_strmatch_precompile and > apr_strmatch commands to do the searching - those take an additional > par

Re: splitting a string...

2007-01-02 Thread Joachim Zobel
Am Dienstag, den 02.01.2007, 01:14 -0800 schrieb Drew Bertola: > line 91 looks like this: > > apr_bucket_read(e, &str, &len, APR_NONBLOCK_READ); > > Also, it only happens if I use > > APR_BRIGADE_INSERT_TAIL(ctx->bb, e); Ah, understood. You don't mention this, but you probably

Re: splitting a string...

2007-01-02 Thread Joe Lewis
Drew Bertola wrote: while ( i < len ) { ap_fputc(f->next, ctx->bb, str[i++]); } This is a performance hog. With this, I don't have the segfaults anymore. html is ok too. -- Drew I would expect it to be a performance h

Re: splitting a string...

2007-01-02 Thread Drew Bertola
Joachim Zobel wrote: > Am Montag, den 01.01.2007, 06:18 -0800 schrieb Drew Bertola: > >> This generates segfaults when processing php and doesn't help with my >> problem. Is the problem due to filter order? >> > > To find out more about the segf's do [snip - thanks] I'm confused about

Re: splitting a string...

2007-01-01 Thread Joachim Zobel
Am Montag, den 01.01.2007, 06:18 -0800 schrieb Drew Bertola: > This generates segfaults when processing php and doesn't help with my > problem. Is the problem due to filter order? To find out more about the segf's do # in the config CoreDumpDirectory /tmp # on the command line ulimit -c unlim

Re: splitting a string...

2007-01-01 Thread Joachim Zobel
Am Montag, den 01.01.2007, 06:18 -0800 schrieb Drew Bertola: > Joachim Zobel wrote: > > Am Montag, den 01.01.2007, 01:48 -0800 schrieb Drew Bertola: > > > >> APR_BUCKET_REMOVE(e); > >> APR_BRIGADE_INSERT_TAIL(ctx->bb, e); > >> > > This generates segfaults when processin

Re: splitting a string...

2007-01-01 Thread Drew Bertola
Joachim Zobel wrote: > Am Montag, den 01.01.2007, 01:48 -0800 schrieb Drew Bertola: > >> APR_BUCKET_REMOVE(e); >> APR_BRIGADE_INSERT_TAIL(ctx->bb, e); >> This generates segfaults when processing php and doesn't help with my problem. Is the problem due to filter order?

Re: splitting a string...

2007-01-01 Thread Nick Kew
On Sun, 31 Dec 2006 12:18:17 -0800 Drew Bertola <[EMAIL PROTECTED]> wrote: [ in a thread I seem to be missing the start of ] > > If str was \0 terminated, you would not need a length. In the above > > case, you better move the bucket you just read. > > > > How can I ensure it's null terminate

Re: splitting a string...

2007-01-01 Thread Joachim Zobel
Am Montag, den 01.01.2007, 01:48 -0800 schrieb Drew Bertola: > APR_BUCKET_REMOVE(e); > APR_BRIGADE_INSERT_TAIL(ctx->bb, e); This is what you should dow with every bucket you dont handle. > while ( i < len ) >{ > ap_fputc(f->next, ctx->bb, str[

Re: splitting a string...

2007-01-01 Thread Joachim Zobel
Am Sonntag, den 31.12.2006, 19:02 -0700 schrieb Joe Lewis: > ... split bucket brigades ... You mean splitting buckets, not brigades, do you? To avoid a misunderstanding here are the relevant API functions. >From apr_buckets.h ---

Re: splitting a string...

2007-01-01 Thread Drew Bertola
Thanks for all the ideas. They've come in very handy. I haven't done extensive testing, and the module is still too stupid to read configuration data, but I've gotten much farther. Right now, static html works fine, but php pages (need both per customer requirements) spit out too much at the ta

Re: splitting a string...

2006-12-31 Thread Joe Lewis
Joachim Zobel wrote: Hi. Rethinkinking your problem I found that it is probably much easier to split the bucket in three, namely before_head, head, and after_head using apr_bucket_split and replace the head bucket. That is exactly the technique I use in my template wrapper - I look through t

Re: splitting a string...

2006-12-31 Thread Joachim Zobel
Hi. Rethinkinking your problem I found that it is probably much easier to split the bucket in three, namely before_head, head, and after_head using apr_bucket_split and replace the head bucket. Did you read this: http://www.cs.virginia.edu/~jcw5q/talks/apache/bucketbrigades.ac2002.pdf Sincerely,

Re: splitting a string...

2006-12-31 Thread Joachim Zobel
Hi. One recommendation beforehand: If you can live with the memory footprint, use mod_perl. It gives you full access to the apache API and it is much easier to handle. Am Samstag, den 30.12.2006, 18:55 -0800 schrieb Drew Bertola: > I'd like to know how I can get the portion of client content bef

splitting a string...

2006-12-30 Thread Drew Bertola
Happy New Year, everyone. I need some quick help with handling my content in an output filter. I'd like to know how I can get the portion of client content before the tag (if it exists), and the portion after it. That way, I can insert something just after the tag (adult content warnings, etc)