playback_exec returns zero when stream can't be opened

I’m writing AGI code. I have noticed that EXEC PLAYBACK returns zero when it fails. I looked in the code and playback_exec in app_playback.c actually resets the result code to zero in the failure case. I believe that it does so because it’s in a loop over concatenated sound files, but the result is that a single file with an error is not reported properly.

I’m thinking that this is a bug, but perhaps it’s known and expected behavior. Any comments or should I open a bug?

On the other hand, dial_exec_full() calls ast_bridge_call() which returns -1 even though the call correctly bridges. I’m thinking that the return codes are not very reliable.