tree c83974788f71a3ff27e69bddfb75d9786ecd6f62
parent d6a3065e381679c7db2a4e21b4282626218f5d09
author Bert Huijben <rhuijben@apache.org> 1441742229 +0000
committer Bert Huijben <rhuijben@apache.org> 1441742229 +0000

On the get-remaining branch: Add a default get_remaining implementation
to avoid triggering a segfault when somebody tries to call this function
on a bucket that doesn't support this feature.

Add ### TODO on several callbacks that have the same problem,
caused by just being a #define to NULL.

* buckets/buckets.c
  (serf_default_get_remaining): New function.
  
* buckets/chunk_buckets.c
  (serf_bucket_type_chunk):
* buckets/copy_buckets.c
  (serf_bucket_type_copy):
* buckets/dechunk_buckets.c
  (serf_bucket_type_dechunk):
* buckets/deflate_buckets.c
  (serf_bucket_type_deflate):
* buckets/request_buckets.c
  (serf_bucket_type_request):
* buckets/response_body_buckets.c
  (serf_bucket_type_response_body):
* buckets/response_buckets.c
  (serf_bucket_type_response):
* buckets/socket_buckets.c
  (serf_bucket_type_socket):
* buckets/ssl_buckets.c
  (serf_bucket_type_ssl_encrypt,
   serf_bucket_type_ssl_decrypt):
     Set default get_remaining handler.
   
* serf_bucket_util.h
  (serf_default_get_remaining): New function.

* test/mock_sock_buckets.c
  (serf_bucket_type_mock_socket): Set get_remaining handler.


git-svn-id: https://svn.apache.org/repos/asf/serf/branches/get-remaining@1701864 13f79535-47bb-0310-9956-ffa450edef68
