commit 827ecd3f5865fdbe0597e069b1eed6ec071d4b9f
parent 396c91934a82a233bd69de81c1bdb31ce97b3ed4
Author: paulnasca <paulnasca>
Date: Thu, 17 Feb 2005 16:54:10 +0000
*** empty log message ***
Diffstat:
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -762,6 +762,7 @@
- Modificate cateva preseturi la DynamicFilter
- Adaugata posibilitatea de a mari sau micsora cu un parametru detune-ul vocilor de la ADnote
17 Feb 2005 - Corectate cateva erori la PADsynth care faceau ca sa se citeasca date din zone de memorie nealocata
+ - Corectata o eroare la Bank care facea ca uneori sa crape programul cand umblam mult cu bankuri
\ No newline at end of file
diff --git a/src/Misc/Bank.C b/src/Misc/Bank.C
@@ -127,7 +127,9 @@ void Bank::setname(unsigned int ninstrument,const char *newname,int newslot){
// printf("rename %s -> %s\n",ins[ninstrument].filename,newfilename);//////////////
rename(ins[ninstrument].filename,newfilename);
- snprintf(ins[ninstrument].filename,1000,"%s",newfilename);
+ if (ins[ninstrument].filename) delete(ins[ninstrument].filename);
+ ins[ninstrument].filename=new char[strlen(newfilename)+5];
+ snprintf(ins[ninstrument].filename,strlen(newfilename)+1,"%s",newfilename);
snprintf(ins[ninstrument].name,PART_MAX_NAME_LEN,"%s",&tmpfilename[5]);
};
@@ -521,7 +523,8 @@ int Bank::addtobank(int pos, const char *filename, const char* name){
snprintf(tmpinsname[pos],PART_MAX_NAME_LEN+10," ");
int len=strlen(filename)+1+strlen(dirname);
- ins[pos].filename=new char[len+1];
+ ins[pos].filename=new char[len+2];
+ ins[pos].filename[len+1]=0;
snprintf(ins[pos].filename,len+1,"%s/%s",dirname,filename);
//see if PADsynth is used
diff --git a/src/main.C b/src/main.C
@@ -308,9 +308,6 @@ void exitprogram(){
delete(OscilGen::tmpsmps);
deleteFFTFREQS(&OscilGen::outoscilFFTfreqs);
-
-
-
};
#ifdef OS_WINDOWS