From owner-p4-projects@FreeBSD.ORG Tue Jul 29 17:48:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 052A01065670; Tue, 29 Jul 2008 17:48:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC42F106564A for ; Tue, 29 Jul 2008 17:48:05 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A77148FC0A for ; Tue, 29 Jul 2008 17:48:05 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6THm5tr066846 for ; Tue, 29 Jul 2008 17:48:05 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6THm5mE066844 for perforce@freebsd.org; Tue, 29 Jul 2008 17:48:05 GMT (envelope-from trasz@freebsd.org) Date: Tue, 29 Jul 2008 17:48:05 GMT Message-Id: <200807291748.m6THm5mE066844@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146218 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 17:48:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=146218 Change 146218 by trasz@trasz_traszkan on 2008/07/29 17:47:44 Really add "-n" option to getfacl(1). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#8 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#14 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#8 (text+ko) ==== @@ -54,7 +54,7 @@ usage(void) { - fprintf(stderr, "getfacl [-dhqv] [file ...]\n"); + fprintf(stderr, "getfacl [-dhnqv] [file ...]\n"); } static char * @@ -175,12 +175,12 @@ } static int -print_acl(char *path, acl_type_t type, int hflag, int qflag, int vflag) +print_acl(char *path, acl_type_t type, int hflag, int nflag, int qflag, int vflag) { struct stat sb; acl_t acl; char *acl_text; - int error; + int error, flags = 0; if (hflag) error = lstat(path, &sb); @@ -223,9 +223,12 @@ } if (vflag) - acl_text = acl_to_text_np(acl, 0, ACL_TEXT_VERBOSE); - else - acl_text = acl_to_text_np(acl, 0, 0); + flags |= ACL_TEXT_VERBOSE; + + if (nflag) + flags |= ACL_TEXT_NUMERIC_IDS; + + acl_text = acl_to_text_np(acl, 0, flags); if (!acl_text) { warn("%s", path); return(-1); @@ -240,7 +243,7 @@ } static int -print_acl_from_stdin(acl_type_t type, int hflag, int qflag, int vflag) +print_acl_from_stdin(acl_type_t type, int hflag, int nflag, int qflag, int vflag) { char *p, pathname[PATH_MAX]; int carried_error = 0; @@ -248,7 +251,7 @@ while (fgets(pathname, (int)sizeof(pathname), stdin)) { if ((p = strchr(pathname, '\n')) != NULL) *p = '\0'; - if (print_acl(pathname, type, hflag, qflag, vflag) == -1) { + if (print_acl(pathname, type, hflag, nflag, qflag, vflag) == -1) { carried_error = -1; } } @@ -262,12 +265,13 @@ acl_type_t type = ACL_TYPE_ACCESS; int carried_error = 0; int ch, error, i; - int hflag, qflag, vflag; + int hflag, qflag, nflag, vflag; hflag = 0; qflag = 0; + nflag = 0; vflag = 0; - while ((ch = getopt(argc, argv, "dhqv")) != -1) + while ((ch = getopt(argc, argv, "dhnqv")) != -1) switch(ch) { case 'd': type = ACL_TYPE_DEFAULT; @@ -275,6 +279,9 @@ case 'h': hflag = 1; break; + case 'n': + nflag = 1; + break; case 'q': qflag = 1; break; @@ -289,17 +296,19 @@ argv += optind; if (argc == 0) { - error = print_acl_from_stdin(type, hflag, qflag, vflag); + error = print_acl_from_stdin(type, hflag, nflag, qflag, vflag); return(error ? 1 : 0); } for (i = 0; i < argc; i++) { if (!strcmp(argv[i], "-")) { - error = print_acl_from_stdin(type, hflag, qflag, vflag); + error = print_acl_from_stdin(type, hflag, nflag, qflag, + vflag); if (error == -1) carried_error = -1; } else { - error = print_acl(argv[i], type, hflag, qflag, vflag); + error = print_acl(argv[i], type, hflag, nflag, qflag, + vflag); if (error == -1) carried_error = -1; } ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#14 (text+ko) ==== @@ -228,7 +228,8 @@ /* * Possible values for _flags parameter in acl_to_text_np(3). */ -#define ACL_TEXT_VERBOSE 1 +#define ACL_TEXT_VERBOSE 0x01 +#define ACL_TEXT_NUMERIC_IDS 0x02 #ifdef _KERNEL