Mercurial > audlegacy-plugins
diff src/modplug/archive/arch_gzip.cxx @ 963:9549fea94794 trunk
[svn] Warning fixes from SuSe.
author | chainsaw |
---|---|
date | Tue, 17 Apr 2007 14:45:19 -0700 |
parents | 3da1b8942b8b |
children |
line wrap: on
line diff
--- a/src/modplug/archive/arch_gzip.cxx Mon Apr 16 01:35:24 2007 -0700 +++ b/src/modplug/archive/arch_gzip.cxx Tue Apr 17 14:45:19 2007 -0700 @@ -37,9 +37,22 @@ } char line[81]; - fgets(line, 80, f); // ignore a line. - fscanf(f, "%u", &mSize); // ignore first number. - fscanf(f, "%u", &mSize); // keep second number. + if(!fgets(line, 80, f)){ // ignore a line. + mSize = 0; + pclose(f); + return; + } + if(fscanf(f, "%u", &mSize) != 1){ // ignore first number. + mSize = 0; + pclose(f); + return; + } + + if (fscanf(f, "%u", &mSize) != 1){; // keep second number. + mSize = 0; + pclose(f); + return; + } pclose(f); @@ -59,7 +72,8 @@ return; } - fread((char *)mMap, sizeof(char), mSize, f); + if(fread((char *)mMap, sizeof(char), mSize, f) != mSize) + mSize = 0; pclose(f); @@ -93,11 +107,26 @@ } char line[300]; - fgets(line, 80, f); // ignore a line. - fscanf(f, "%i", &num); // ignore first number - fscanf(f, "%i", &num); // ignore second number - fscanf(f, "%f%%", &fnum); // ignore ratio - fgets(line, 300, f); // read in correct line safely. + if(!fgets(line, 80, f)){ // ignore a line. + pclose(f); + return false; + } + if(fscanf(f, "%i", &num) != 1){ // ignore first number + pclose(f); + return false; + } + if(fscanf(f, "%i", &num) != 1){ // ignore second number + pclose(f); + return false; + } + if(fscanf(f, "%f%%", &fnum) != 1){ // ignore ratio + pclose(f); + return false; + } + if(!fgets(line, 300, f)){ // read in correct line safely. + pclose(f); + return false; + } if (strlen(line) > 1) line[strlen(line)-1] = 0; lName = line;