call mk_daemon from a different place so we don't close the dmapi device.
logfile = LOG_DEFAULT;
+ /*
+ * Turn ourselves into a daemon
+ */
+ error = mk_daemon(logfile);
+ if (error)
+ exit(1);
+
/*
* Now we have our filesystem name and possibly a size threshold
* to look for. Init the dmapi, and get a filesystem handle so
exit(1);
}
- /*
- * Turn ourselves into a daemon
- */
- error = mk_daemon(logfile);
- if (error)
- exit(1);
-
/*
* Set the event disposition so that our session will receive
char *cp, *start;
size_t len;
char *hanp;
+ char *hanpp=NULL;
/*
* Skip any leading white space, and check the length
cp += len*2;
*cp = '\0';
- atohan( hanp, (void**)&handle_buf, &len );
-
+ atohan( hanp, (void**)&hanpp, &len );
+ memcpy( handle_buf, hanpp, len);
+ free( hanpp );
/* skip over white space */
while (!isalnum(*cp))
size_t hlen,
dm_token_t token)
{
- dm_region_t *rgn;
+ dm_region_t *rgn, *sv_rgn;
u_int nregions, nret;
u_int exact_flag;
int i;
}
}
+ sv_rgn = rgn;
+
/*
* Clear all the managed regions
*/
rgn->rg_flags = DM_REGION_NOEVENT;
rgn++;
}
+ rgn = sv_rgn;
+
error = dm_set_region(sid, hanp, hlen, token, nregions, rgn,
&exact_flag);
if (error == -1) {