summaryrefslogtreecommitdiffstats
path: root/lib/rbcodec
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rbcodec')
-rw-r--r--lib/rbcodec/codecs/vorbis.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/rbcodec/codecs/vorbis.c b/lib/rbcodec/codecs/vorbis.c
index ca9db9b802..a1ef68b6ba 100644
--- a/lib/rbcodec/codecs/vorbis.c
+++ b/lib/rbcodec/codecs/vorbis.c
@@ -122,7 +122,10 @@ enum codec_status codec_run(void)
OggVorbis_File vf;
ogg_int32_t **pcm;
- int error = CODEC_ERROR;
+ /* mark variable volatile because it can be modified between setjmp() and
+ * longjmp() so the compiler needs to know it should not put it in a register,
+ * see "man longjmp" for details. */
+ volatile int error = CODEC_ERROR;
long n;
int current_section;
int previous_section;