awips2/ncep/gov.noaa.nws.ncep.viz.rsc.ncgrid/dgdriv_c/ctbdttmpl.c
Brad Gonzales 632020195a Issue #628 committing PGEN code received from Plummer on 4-19-2012.
Former-commit-id: fda897d2d0 [formerly 253e8bc948] [formerly fda897d2d0 [formerly 253e8bc948] [formerly 295cbf95e5 [formerly 0816cd253c86acc699cb90866131619c4679f631]]]
Former-commit-id: 295cbf95e5
Former-commit-id: 2a3bf4ec32 [formerly ae3d17c698]
Former-commit-id: a610dcde73
2012-05-10 16:50:45 -05:00

83 lines
2.2 KiB
C
Executable file

#include "geminc.h"
#include "gemprm.h"
#include "ctbcmn.h"
extern Data_t DtTable;
extern int DtReadin;
void ctb_dttmpl ( char *alias_i, char *template, int *iret )
/************************************************************************
* ctb_dttmpl *
* *
* This function returns the template associated with a data alias. *
* *
* ctb_dttmpl ( alias_i, template, iret ) *
* *
* Input parameters: *
* *alias_i char Alias name *
* *
* Output parameters: *
* *template char Alias template *
* *iret int Return code *
* -1 - alias not found *
** *
* Log: *
* D.W.Plummer/NCEP 3/98 Created *
* I. Durham/GSC 5/98 Changed underscore decl. to an include *
* S. Jacobs/NCEP 3/01 Added parsing of storm name from alias *
* R. Tian/SAIC 11/04 Added processing of possible storm name *
* m.gamazaychikov/SAIC 01/06 Changed templ string length to MXTMPL *
***********************************************************************/
{
int i, ipos, ier;
char alias[49], name[49], templ[MXTMPL];
/*---------------------------------------------------------------------*/
*iret = G_NORMAL;
if ( DtReadin == G_FALSE ) {
ctb_dtrd ( iret );
}
cst_lcuc( alias_i, alias, &ier );
/*
* Remove the name of the storm/volcano from the alias.
*/
cst_nocc ( alias, ':', 1, 0, &ipos, &ier );
if ( ier == 0 ) {
strcpy ( name, &alias[ipos+1] );
alias[ipos] = CHNULL;
}
/*
* Find a match for the alias.
*/
for ( i = 0; i < DtTable.numtmpl; i++ ) {
if ( strcmp( DtTable.info[i].alias, alias ) == 0 ) {
/*
* If the user has input a storm/volcano name, then
* replace the "*" in the template with the name.
* The name should be in all lower case, since the
* user cannot be expected to input the correct case.
*/
if ( ier == 0 ) {
cst_uclc ( name, name, &ier );
strcpy( templ, DtTable.info[i].template );
cst_rpst ( templ, "*", name, template, &ier );
} else {
strcpy( template, DtTable.info[i].template );
}
return;
}
}
*iret = -1;
return;
}