This seems like it should be trival but it isn't working for
me. Relevant code snippets:

char * outfn; //apr_palloced later
> ...
> while ((b = APR_BRIGADE_FIRST(bb)) != APR_BRIGADE_SENTINEL(bb)) {
>          bytes=0;
>          if(APR_BUCKET_IS_FILE(b)){ //we should handle file buckets
> specially
>                 rv = apr_file_name_get((const char
> **)&outfn,((apr_bucket_file *)b)->fd);
>                 if (rv != APR_SUCCESS){
>                         //failed
>                         ....
>                 }else{
>                        //success
>                       ....
>                }
>         }else{
>                rv = apr_bucket_read(b, &buf, &bytes, APR_BLOCK_READ);
>          }
>      ...
>  }
>


If I am passed a file bucket, I don't need to read the bucket because the
only reason I'm reading the bucket is to write it to a file anyways so I
just want to switch my outfn from the temporary file I created to the file
buckets filename. I use apr_file_name_get() to get the file name but it's
just returning junk (with APR_SUCCESS return value). Outputting the
resulting file yields "Switching outfn to '0��!���!'"

What am I doing wrong?

Thanks,
Jason

Reply via email to