Allow streaming binary data from mod_memcache

Previously data returned from `memcache get` would be truncated at the
first NULL byte.

By using raw_write_function here to stream the returned memcache
value, we allow mod_memcache to be used for audio and other arbitrary
binary data.

Dave has a format module planned that relies on this.

Thanks-to: Dave Olszewski <dolszewski@marchex.com>

FS-7114 #resolve
This commit is contained in:
Travis Cross 2014-12-28 00:36:06 +00:00
parent ffef746dcb
commit 750b1dd807
1 changed files with 1 additions and 1 deletions

View File

@ -283,7 +283,7 @@ SWITCH_STANDARD_API(memcache_function)
val = memcached_get(memcached, key, strlen(key), &string_length, &flags, &rc);
if (rc == MEMCACHED_SUCCESS) {
stream->write_function(stream, "%.*s", (int) string_length, val);
stream->raw_write_function(stream, (uint8_t*)val, (int)string_length);
} else {
switch_safe_free(val);
switch_goto_status(SWITCH_STATUS_SUCCESS, mcache_error);