Add an -n option to write the trailing nul byte to the extattr when

using setextattr(8) to write a string.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
This commit is contained in:
Brian Feldman 2002-10-10 17:16:00 +00:00
parent 878382facb
commit cb0187a0da
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=104803

View File

@ -62,7 +62,7 @@ usage(void)
fprintf(stderr, " attrname filename ...\n");
exit(-1);
case EASET:
fprintf(stderr, "usage: setextattr [-fhq] attrnamespace");
fprintf(stderr, "usage: setextattr [-fhnq] attrnamespace");
fprintf(stderr, " attrname attrvalue filename ...\n");
exit(-1);
case EARM:
@ -107,6 +107,7 @@ main(int argc, char *argv[])
int flag_force = 0;
int flag_nofollow = 0;
int flag_null = 0;
int flag_quiet = 0;
int flag_string = 0;
int flag_hex = 0;
@ -123,7 +124,7 @@ main(int argc, char *argv[])
minargc = 3;
} else if (!strcmp(p, "setextattr")) {
what = EASET;
options = "fhq";
options = "fhnq";
minargc = 4;
} else if (!strcmp(p, "rmextattr")) {
what = EARM;
@ -145,6 +146,9 @@ main(int argc, char *argv[])
case 'h':
flag_nofollow = 1;
break;
case 'n':
flag_null = 1;
break;
case 'q':
flag_quiet = 1;
break;
@ -199,10 +203,12 @@ main(int argc, char *argv[])
case EASET:
if (flag_nofollow)
error = extattr_set_link(argv[arg_counter],
attrnamespace, attrname, buf, strlen(buf));
attrnamespace, attrname, buf,
strlen(buf) + flag_null);
else
error = extattr_set_file(argv[arg_counter],
attrnamespace, attrname, buf, strlen(buf));
attrnamespace, attrname, buf,
strlen(buf) + flag_null);
if (error >= 0)
continue;
break;