Date: Mon, 26 Apr 2010 14:47:33 GMT From: Jonathan Anderson <jona@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 177355 for review Message-ID: <201004261447.o3QElXLf033168@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@177355?ac=10 Change 177355 by jona@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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004261447.o3QElXLf033168>