+ probecnt = 1;
+ for (l = sdi->probes; l; l = l->next) {
+ probe = l->data;
+ if (probe->enabled) {
+ if (probe->name)
+ fprintf(meta, "probe%d = %s\n", probecnt, probe->name);
+ if (probe->trigger)
+ fprintf(meta, " trigger%d = %s\n", probecnt, probe->trigger);
+ probecnt++;
+ }
+ }
+
+ /* dump datastore into logic-n */
+ buf = g_try_malloc(ds->num_units * ds->ds_unitsize +
+ DATASTORE_CHUNKSIZE);
+ if (!buf) {
+ sr_err("session file: %s: buf malloc failed",
+ __func__);
+ return SR_ERR_MALLOC;
+ }
+
+ bufcnt = 0;
+ for (d = ds->chunklist; d; d = d->next) {
+ memcpy(buf + bufcnt, d->data,
+ DATASTORE_CHUNKSIZE);
+ bufcnt += DATASTORE_CHUNKSIZE;
+ }
+ if (!(logicsrc = zip_source_buffer(zipfile, buf,
+ ds->num_units * ds->ds_unitsize, TRUE)))
+ return SR_ERR;
+ snprintf(rawname, 15, "logic-1");
+ if (zip_add(zipfile, rawname, logicsrc) == -1)
+ return SR_ERR;