*len = 0;
+ if (!context || context->err) {
+ return SWITCH_STATUS_FALSE;
+ }
+
if (context->fd) {
rb = decode_fd(context, data, bytes);
} else {
return SWITCH_STATUS_FALSE;
}
+ if (context->err) {
+ return SWITCH_STATUS_FALSE;
+ }
+
if (context->shout && !context->shout_init) {
+
+ if (!context->gfp) {
+ return SWITCH_STATUS_FALSE;
+ }
+
context->shout_init++;
if (shout_open(context->shout) != SHOUTERR_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening stream: %s\n", shout_get_error(context->shout));
char stream_name[128] = "";
char *rhs = NULL;
+ if (switch_test_flag(fh, SWITCH_FILE_OPEN)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Handle already open\n");
+ return SWITCH_STATUS_FALSE;
+ }
+
if (switch_strlen_zero(file_path)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Filename\n");
return SWITCH_STATUS_FALSE;
switch_assert(fh != NULL);
switch_assert(fh->file_interface != NULL);
+ if (!switch_test_flag(fh, SWITCH_FILE_OPEN)) {
+ return SWITCH_STATUS_FALSE;
+ }
+
top:
if (fh->buffer && switch_buffer_inuse(fh->buffer) >= *len * 2) {
switch_assert(fh != NULL);
switch_assert(fh->file_interface != NULL);
+ if (!switch_test_flag(fh, SWITCH_FILE_OPEN)) {
+ return SWITCH_STATUS_FALSE;
+ }
+
if (!fh->file_interface->file_write) {
return SWITCH_STATUS_FALSE;
}