PERFORCE change 177355 for review
Jonathan Anderson
jona at FreeBSD.org
Mon Apr 26 14:47:34 UTC 2010
http://p4web.freebsd.org/@@177355?ac=10
Change 177355 by jona at jona-belle-freebsd8 on 2010/04/26 14:46:57
Added lc_fdlist_print()
Affected files ...
.. //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum.h#14 edit
.. //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum_fdlist.c#12 edit
Differences ...
==== //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum.h#14 (text+ko) ====
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum.h#13 $
+ * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum.h#14 $
*/
#ifndef _LIBCAPSICUM_H_
@@ -52,6 +52,7 @@
struct lc_fdlist *lc_fdlist_global(void);
struct lc_fdlist *lc_fdlist_dup(struct lc_fdlist *lfp_orig);
void lc_fdlist_free(struct lc_fdlist *lfp);
+void lc_fdlist_print(struct lc_fdlist *lfp, int outFD);
/*
* Size of an FD list in bytes, including all associated string data.
==== //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum_fdlist.c#12 (text+ko) ====
@@ -31,12 +31,13 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum_fdlist.c#11 $
+ * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum_fdlist.c#12 $
*/
#include <sys/mman.h>
#include <sys/stat.h>
+#define _WITH_DPRINTF
#include <errno.h>
#include <libcapsicum.h>
#include <pthread.h>
@@ -202,6 +203,24 @@
free(lfp);
}
+void
+lc_fdlist_print(struct lc_fdlist *lfp, int outFD)
+{
+ dprintf(outFD, "FD List:\n");
+ for(int i = 0; ; )
+ {
+ char *subsystem, *classname, *name;
+ int fd;
+
+ if (lc_fdlist_getentry(lfp, &subsystem, &classname, &name, &fd, &i)
+ < 0)
+ break;
+
+ dprintf(outFD, "% 3d:\t'%s'.'%s': '%s'\n",
+ fd, subsystem, classname, name);
+ }
+}
+
int
lc_fdlist_add(struct lc_fdlist *lfp, const char *subsystem,
const char *classname, const char *name, int fd)
@@ -248,7 +267,6 @@
memcpy(lc_fdlist_storage_names(lfsp_copy), tmp,
lfsp_copy->namelen);
- free(lfsp);
lfsp = lfp->lf_storage = lfsp_copy;
free(tmp);
}
More information about the p4-projects
mailing list