awips2/ncep/gov.noaa.nws.ncep.viz.rsc.ncgrid/dgdriv_c/dbseta2dtinfo.c
Steve Harris 7f90924706 12.4.1-10 baseline
Former-commit-id: 7fa9dbd5fb [formerly 4bfbdad17d] [formerly 9f8cb727a5] [formerly 7fa9dbd5fb [formerly 4bfbdad17d] [formerly 9f8cb727a5] [formerly 8485b90ff8 [formerly 9f8cb727a5 [formerly bf53d06834caa780226121334ac1bcf0534c3f16]]]]
Former-commit-id: 8485b90ff8
Former-commit-id: 40aa780b3d [formerly 33a67cdd82] [formerly 73930fb29d0c1e91204e76e6ebfdbe757414f319 [formerly a28d70b5c5]]
Former-commit-id: a16a1b4dd44fc344ee709abbe262aeed58a8339b [formerly e5543a0e86]
Former-commit-id: 0c25458510
2012-05-01 18:06:13 -05:00

82 lines
3.1 KiB
C

#include "geminc.h"
#include "gemprm.h"
#include "dbcmn.h"
A2Data_t A2DtTable;
void db_seta2dtinfo ( const char *alias, const char *path, const char *template,
int *iret )
{
int ii, jj, numtmplts, istmaxa, istmaxp, istmaxt, ier;
int max_number_alias = 20;
int max_alias_length = 30;
int max_number_path = 20;
int max_path_length = 26;
int max_number_template = 20;
int max_template_length = 49;
char **starra, **starrp, **starrt;
char diagMessage[720];
int ierm;
/*---------------------------------------------------------------------*/
sprintf (diagMessage, "%s%s%s%s%s%s", " got these alias=", alias,
" path=", path,
" template=", template);
db_msgcave ("db_seta2dtinfo", "debug", diagMessage, &ierm);
starra = (char **)malloc((size_t)max_number_alias * sizeof(char *));
starrp = (char **)malloc((size_t)max_number_path * sizeof(char *));
starrt = (char **)malloc((size_t)max_number_template * sizeof(char *));
istmaxa = istmaxp = istmaxt = 0;
for( jj=0; jj < max_number_alias; jj++ )
starra[jj] = (char *)malloc( max_alias_length * sizeof(char));
for( jj=0; jj < max_number_path; jj++ )
starrp[jj] = (char *)malloc( max_path_length * sizeof(char));
for( jj=0; jj < max_number_template; jj++ )
starrt[jj] = (char *)malloc( max_template_length * sizeof(char));
cst_clst (alias, '|', " ", max_number_alias, max_alias_length, starra, &istmaxa, &ier);
cst_clst (path, '|', " ", max_number_path, max_path_length, starrp, &istmaxp, &ier);
cst_clst (template, '|', " ", max_number_template, max_template_length, starrt, &istmaxt, &ier);
if ( istmaxa == istmaxp && istmaxa == istmaxt ) {
numtmplts = istmaxa;
}
else {
*iret = -1;
return;
}
if ( A2DtTable.info != NULL ) {
free(A2DtTable.info);
A2DtTable.numtmpl = 0;
A2DtTable.info = NULL;
}
A2DtTable.numtmpl = numtmplts;
A2DtTable.info = (A2DTinfo *) malloc( numtmplts * sizeof(A2DTinfo) );
if ( A2DtTable.info == NULL ) {
*iret = -1;
return;
}
ii = 0;
while ( ii < numtmplts ) {
sprintf ( A2DtTable.info[ii].alias, "%s", starra[ii] );
sprintf ( A2DtTable.info[ii].path, "%s", starrp[ii] );
sprintf ( A2DtTable.info[ii].template, "%s", starrt[ii] );
sprintf (diagMessage, "%s%d%s%s%s%s%s%s", "entry ", ii+1,
" setting alias=", A2DtTable.info[ii].alias,
" path=", A2DtTable.info[ii].path,
" template=", A2DtTable.info[ii].template);
db_msgcave ("db_seta2dtinfo", "debug", diagMessage, &ierm);
ii++;
}
for( jj=0; jj < max_number_alias; jj++ )
free( starra[jj] );
for( jj=0; jj < max_number_path; jj++ )
free( starrp[jj] );
for( jj=0; jj < max_number_template; jj++ )
free( starrt[jj] );
free( starra );
free( starrp );
free( starrt );
return;
}