Detect perm errors in sig colors

This commit is contained in:
Gareth Evans
2017-02-22 19:29:14 +00:00
parent 0b495ad094
commit 96257f9b16
5 changed files with 17 additions and 13 deletions

View File

@@ -1008,9 +1008,10 @@ int LoadPAT(char *filename)
LR.antenna_pattern[x][y] = az * elevation;
}
}
return 0;
}
void LoadSignalColors(struct site xmtr)
int LoadSignalColors(struct site xmtr)
{
int x, y, ok, val[4];
char filename[255], string[80], *pointer = NULL, *s = NULL;
@@ -1095,14 +1096,13 @@ void LoadSignalColors(struct site xmtr)
region.levels = 13;
fd = fopen(filename, "r");
if (fd == NULL && xmtr.filename[0] == '\0')
/* Don't save if we don't have an output file */
return;
if ( xmtr.filename[0] == '\0' && (fd = fopen(filename, "r")) == NULL )
return 0;
if (fd == NULL) {
fd = fopen(filename, "w");
if( (fd = fopen(filename, "w")) == NULL )
return errno;
for (x = 0; x < region.levels; x++)
fprintf(fd, "%3d: %3d, %3d, %3d\n", region.level[x],
@@ -1147,6 +1147,7 @@ void LoadSignalColors(struct site xmtr)
fclose(fd);
region.levels = x;
}
return 0;
}
void LoadLossColors(struct site xmtr)

View File

@@ -6,7 +6,7 @@
int LoadSDF_SDF(char *name, int winfiles);
char LoadSDF(char *name, int winfiles);
int LoadPAT(char *filename);
void LoadSignalColors(struct site xmtr);
int LoadSignalColors(struct site xmtr);
void LoadLossColors(struct site xmtr);
void LoadDBMColors(struct site xmtr);
void LoadTopoData(int max_lon, int min_lon, int max_lat, int min_lat);

View File

@@ -1846,8 +1846,8 @@ int main(int argc, char *argv[])
DoRxdPwr((to_stdout == true ? NULL : mapfile), geo, kml, ngs, tx_site,
txsites);
else
DoSigStr(mapfile, geo, kml, ngs, tx_site,
txsites);
if( (result = DoSigStr(mapfile, geo, kml, ngs, tx_site,txsites)) != 0 )
return result;
}
if(lidar){
east=eastoffset;

View File

@@ -256,7 +256,7 @@ void DoPathLoss(char *filename, unsigned char geo, unsigned char kml,
}
void DoSigStr(char *filename, unsigned char geo, unsigned char kml,
int DoSigStr(char *filename, unsigned char geo, unsigned char kml,
unsigned char ngs, struct site *xmtr, unsigned char txsites)
{
/* This function generates a topographic map in Portable Pix Map
@@ -284,7 +284,10 @@ void DoSigStr(char *filename, unsigned char geo, unsigned char kml,
255.0 / pow((double)(max_elevation - min_elevation),
one_over_gamma);
LoadSignalColors(xmtr[0]);
if( (success = LoadSignalColors(xmtr[0])) != 0 ){
fprintf(stderr,"Error loading signal colors\n");
return success;
}
if( filename != NULL ) {

View File

@@ -3,7 +3,7 @@
void DoPathLoss(char *filename, unsigned char geo, unsigned char kml,
unsigned char ngs, struct site *xmtr, unsigned char txsites);
void DoSigStr(char *filename, unsigned char geo, unsigned char kml,
int DoSigStr(char *filename, unsigned char geo, unsigned char kml,
unsigned char ngs, struct site *xmtr, unsigned char txsites);
void DoRxdPwr(char *filename, unsigned char geo, unsigned char kml,
unsigned char ngs, struct site *xmtr, unsigned char txsites);