1
0
Fork 0

Abort out early when reading the "A" record if it doesn't look like

a proper DEM file.
This commit is contained in:
curt 1998-06-05 18:14:39 +00:00
parent 5880cd9ec0
commit 317854534f
2 changed files with 20 additions and 4 deletions

View file

@ -198,7 +198,7 @@ static int next_exp(gzFile fd) {
// read and parse DEM "A" record
void fgDEM::read_a_record( void ) {
int fgDEM::read_a_record( void ) {
int i, inum;
double dnum;
char name[144];
@ -225,6 +225,10 @@ void fgDEM::read_a_record( void ) {
inum = next_int(fd);
printf(" DEM level code = %d\n", inum);
if ( inum > 3 ) {
return(0);
}
// Pattern code, 1 indicates a regular elevation pattern
inum = next_int(fd);
printf(" Pattern code = %d\n", inum);
@ -331,6 +335,8 @@ void fgDEM::read_a_record( void ) {
// number of profiles
dem_num_profiles = cols = next_int(fd);
printf(" Expecting %d profiles\n", dem_num_profiles);
return(1);
}
@ -377,7 +383,9 @@ int fgDEM::parse( void ) {
cur_col = 0;
read_a_record();
if ( !read_a_record() ) {
return(0);
}
for ( i = 0; i < dem_num_profiles; i++ ) {
// printf("Ready to read next b record\n");
@ -391,7 +399,7 @@ int fgDEM::parse( void ) {
printf(" Done parsing\n");
return(0);
return(1);
}
@ -772,6 +780,10 @@ fgDEM::~fgDEM( void ) {
// $Log$
// Revision 1.7 1998/06/05 18:14:39 curt
// Abort out early when reading the "A" record if it doesn't look like
// a proper DEM file.
//
// Revision 1.6 1998/05/02 01:49:21 curt
// Fixed a bug where the wrong variable was being initialized.
//

View file

@ -92,7 +92,7 @@ public:
int parse( void );
// read and parse DEM "A" record
void read_a_record( void );
int read_a_record( void );
// read and parse DEM "B" record
void read_b_record( void );
@ -130,6 +130,10 @@ public:
// $Log$
// Revision 1.6 1998/06/05 18:14:40 curt
// Abort out early when reading the "A" record if it doesn't look like
// a proper DEM file.
//
// Revision 1.5 1998/04/22 13:14:46 curt
// Fixed a bug in zlib usage.
//