From: Richard D. <ric...@us...> - 2006-10-02 22:05:06
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv542 Modified Files: extattr_bsd.c Log Message: Namespacing on *listxattr for *BSD Index: extattr_bsd.c =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/extattr_bsd.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** extattr_bsd.c 2 Oct 2006 21:58:34 -0000 1.5 --- extattr_bsd.c 2 Oct 2006 22:05:04 -0000 1.6 *************** *** 296,312 **** struct hv *flags) { ssize_t ret; ! /* XXX: Namespace? */ ! ret = extattr_list_file(path, ! EXTATTR_NAMESPACE_USER, ! /* To get the length on *BSD, pass NULL here. */ ! buflen ? buf : NULL, ! buflen); ! if (buflen && (ret > 0)) ! reformat_list(buf, ret); ! return ret; } --- 296,322 ---- struct hv *flags) { + int attrnamespace = -1; + int ok = 1; ssize_t ret; ! if (!valid_namespace(flags, &attrnamespace)) ! { ! errno = ENOATTR; ! ok = 0; ! } ! if (ok) ! { ! ret = extattr_list_file(path, ! attrnamespace, ! /* To get the length on *BSD, pass NULL here. */ ! buflen ? buf : NULL, ! buflen); ! if (buflen && (ret > 0)) ! reformat_list(buf, ret); ! } ! ! return ok ? ret : -1; } *************** *** 317,333 **** struct hv *flags) { ssize_t ret; ! /* XXX: Namespace? */ ! ret = extattr_list_fd(fd, ! EXTATTR_NAMESPACE_USER, ! /* To get the length on *BSD, pass NULL here. */ ! buflen ? buf : NULL, ! buflen); ! if (buflen && (ret > 0)) ! reformat_list(buf, ret); ! return ret; } --- 327,353 ---- struct hv *flags) { + int attrnamespace = -1; + int ok = 1; ssize_t ret; ! if (!valid_namespace(flags, &attrnamespace)) ! { ! errno = ENOATTR; ! ok = 0; ! } ! if (ok) ! { ! ret = extattr_list_fd(fd, ! attrnamespace, ! /* To get the length on *BSD, pass NULL here. */ ! buflen ? buf : NULL, ! buflen); ! if (buflen && (ret > 0)) ! reformat_list(buf, ret); ! } ! ! return ok ? ret : -1; } |