42 static void _dsdb_destroy_dsprop(
DSProp *dsprop)
45 if (dsprop->
site) free((
void *)dsprop->
site);
50 if (dsprop->
name) free((
void *)dsprop->
name);
51 if (dsprop->
value) free((
void *)dsprop->
value);
56 static DSProp *_dsdb_create_dsprop(
59 const char *dcs_level,
68 if (!dsprop)
return((
DSProp *)NULL);
72 DSDB_STRDUP(site, dsprop->
site, dsprop, (
DSProp *)NULL);
75 DSDB_STRDUP(name, dsprop->
name, dsprop, (
DSProp *)NULL);
76 DSDB_STRDUP(value, dsprop->
value, dsprop, (
DSProp *)NULL);
98 for (row = 0; dsprops[row]; row++) {
99 _dsdb_destroy_dsprop(dsprops[row]);
143 const char *ds_level,
145 const char *facility,
146 const char *var_name,
147 const char *prop_name,
156 *dsprops = (
DSProp **)NULL;
158 status = dodog_get_ds_properties(
159 dsdb->
dbconn, ds_name, ds_level, site, facility,
160 var_name, prop_name, &dbres);
168 "Could not get datastream config values\n"
169 " -> memory allocation error\n");
175 for (row = 0; row < dbres->
nrows; row++) {
177 (*dsprops)[row] = _dsdb_create_dsprop(dsdb,
178 DsPropDscName(dbres,row),
179 DsPropDscLevel(dbres,row),
180 DsPropSite(dbres,row),
181 DsPropFac(dbres,row),
182 DsPropVar(dbres,row),
183 DsPropName(dbres,row),
184 DsPropTime(dbres,row),
185 DsPropValue(dbres,row));
187 if (!(*dsprops)[row]) {
190 "Could not get datastream properties\n"
191 " -> memory allocation error\n");
194 *dsprops = (
DSProp **)NULL;