#include "geminc.h" #include "gemprm.h" #include "dbcmn.h" #include <sys/timeb.h> void db_gtimgrid ( char *gridTimes, int *lGridTimes, int *iret ) /************************************************************************ * * * db_gtimgrid * * * * m.gamazaychikov/SAIC 11/08 Created * ************************************************************************/ { int ier, ier1; char diagMessage[2000]; struct timeb t_callback, t_current; /*----------------------------------------------------------------------*/ /* * If the pointer to the callback function is not set, return */ if ( fhrsClbkPtr == NULL ) { ier = -17; er_wmsg ( "DB", &ier, "db_gtimgrid", &ier1, 2, strlen("db_gtimgrid") ); *iret = -1; return; } /* * Initialization */ *iret = 0; *lGridTimes = 0; gridTimes[0] = '\0'; diagMessage[0] = '\0'; /* * Execute the callback to get the cycle forecast hours */ db_msgcave ("db_gtimgrid", "debug", "calling the callback function", &ier); ftime(&t_callback); fhrsClbkPtr(); ftime(&t_current); sprintf (diagMessage, "%s %d", "time spent in callback ", (int) (1000.0 * (t_current.time - t_callback.time) + (t_current.millitm - t_callback.millitm))); db_msgcave ("db_gtimgrid", "info", diagMessage, &ier); if ( fhrsStrLength > 0 && fhrsStrBack != NULL ) { sprintf (gridTimes, "%s", fhrsStrBack); *lGridTimes = strlen(gridTimes); G_FREE( fhrsStrBack, char ); sprintf (diagMessage, "%s %s", "got this fhrs string", gridTimes); db_msgcave ("db_gtimgrid", "debug", diagMessage, &ier); } else { db_msgcave ("db_gtimgrid", "error", "!!! *could not get fhrs string* !!!", &ier); ier = -18; er_wmsg ( "DB", &ier, "FcstHrs", &ier1, 2, strlen("FcstHrs") ); *iret = -1; return; } return; }