File vorbis-ocloexec.patch of Package libvorbis

--- lib/analysis.c.orig
+++ lib/analysis.c
@@ -73,7 +73,7 @@ void _analysis_output_always(char *base,
   char buffer[80];
 
   sprintf(buffer,"%s_%d.m",base,i);
-  of=fopen(buffer,"w");
+  of=fopen(buffer,"we");
 
   if(!of)perror("failed to open data dump file");
 
--- lib/floor1.c.orig
+++ lib/floor1.c
@@ -899,7 +899,7 @@ int floor1_encode(oggpack_buffer *opb,vo
           char buffer[80];
           sprintf(buffer,"line_%dx%ld_class%d.vqd",
                   vb->pcmend/2,posts-2,class);
-          of=fopen(buffer,"a");
+          of=fopen(buffer,"ae");
           fprintf(of,"%d\n",cval);
           fclose(of);
         }
@@ -923,7 +923,7 @@ int floor1_encode(oggpack_buffer *opb,vo
             char buffer[80];
             sprintf(buffer,"line_%dx%ld_%dsub%d.vqd",
                     vb->pcmend/2,posts-2,class,bookas[k]);
-            of=fopen(buffer,"a");
+            of=fopen(buffer,"ae");
             fprintf(of,"%d\n",out[j+k]);
             fclose(of);
           }
--- lib/psytune.c.orig
+++ lib/psytune.c
@@ -202,7 +202,7 @@ void analysis(char *base,int i,float *v,
     FILE *of;
     char buffer[80];
     sprintf(buffer,"%s_%d.m",base,i);
-    of=fopen(buffer,"w");
+    of=fopen(buffer,"we");
 
     for(j=0;j<n;j++){
       if(dB && v[j]==0)
--- lib/res0.c.orig
+++ lib/res0.c
@@ -93,7 +93,7 @@ void res0_free_look(vorbis_look_residue
 
             /* long and short into the same bucket by current convention */
             sprintf(buffer,"res_sub%d_part%d_pass%d.vqd",look->submap,j,k);
-            of=fopen(buffer,"a");
+            of=fopen(buffer,"ae");
 
             for(l=0;l<statebook->entries;l++)
               fprintf(of,"%d:%ld\n",l,look->training_data[k][j][l]);
@@ -462,7 +462,7 @@ static long **_01class(vorbis_block *vb,
 
     for(i=0;i<ch;i++){
       sprintf(buffer,"resaux_%d.vqd",look->train_seq);
-      of=fopen(buffer,"a");
+      of=fopen(buffer,"ae");
       for(j=0;j<partvals;j++)
         fprintf(of,"%ld, ",partword[i][j]);
       fprintf(of,"\n");
@@ -521,7 +521,7 @@ static long **_2class(vorbis_block *vb,v
 
 #ifdef TRAIN_RESAUX
   sprintf(buffer,"resaux_%d.vqd",look->train_seq);
-  of=fopen(buffer,"a");
+  of=fopen(buffer,"ae");
   for(i=0;i<partvals;i++)
     fprintf(of,"%ld, ",partword[0][i]);
   fprintf(of,"\n");
--- lib/vorbisfile.c.orig
+++ lib/vorbisfile.c
@@ -1010,7 +1010,7 @@ int ov_open(FILE *f,OggVorbis_File *vf,c
 
 int ov_fopen(const char *path,OggVorbis_File *vf){
   int ret;
-  FILE *f = fopen(path,"rb");
+  FILE *f = fopen(path,"rbe");
   if(!f) return -1;
 
   ret = ov_open(f,vf,NULL,0);
openSUSE Build Service is sponsored by