static int pat_readpat_attr(int pat, WaveHeader *hw, int layer) { char fname[128]; MMSTREAM *mmpat; pat_build_path(fname, pat); mmpat = _mm_fopen(fname, "r"); if( !mmpat ) return 0; pat_read_waveheader(mmpat, hw, layer); _mm_fclose(mmpat); return 1; }
static int pat_readpat_attr(int pat, WaveHeader *hw, int layer) { char fname[128]; unsigned long fsize; MMSTREAM *mmpat; pat_build_path(fname, pat); mmpat = _mm_fopen(fname, "rb"); if( !mmpat ) return 0; fsize = _mm_getfsize(mmpat); pat_read_waveheader(mmpat, hw, layer); _mm_fclose(mmpat); if (hw->wave_size > fsize) return 0; return 1; }