Changeset 17845 for trunk/Nebulous/bin/neb-xattr
- Timestamp:
- May 28, 2008, 5:59:30 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Nebulous/bin/neb-xattr (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous/bin/neb-xattr
r17814 r17845 3 3 # Copyright (C) 2008 Joshua Hoblitt 4 4 # 5 # $Id: neb-xattr,v 1. 7 2008-05-27 21:03:50 jhoblitt Exp $5 # $Id: neb-xattr,v 1.8 2008-05-29 03:59:30 jhoblitt Exp $ 6 6 7 7 use strict; … … 12 12 13 13 use Nebulous::Client; 14 use Nebulous::Util 0.02 qw( :standard ); 14 15 15 16 use Getopt::Long qw( GetOptions :config auto_help auto_version ); … … 67 68 exit(0); 68 69 69 sub print_all_xattrs70 {71 my ($neb, $key) = @_;72 73 return unless defined $neb;74 return unless defined $key;75 76 my $xattr_names = $neb->listxattr($key) or die $neb->err;77 foreach my $name (@$xattr_names) {78 print_xattrs($neb, $key, $name) or return;79 }80 81 return 1;82 }83 84 85 sub print_xattrs86 {87 my ($neb, $key, @xattr_names) = @_;88 89 return unless defined $neb;90 return unless defined $key;91 return unless scalar @xattr_names;92 93 foreach my $arg (@xattr_names) {94 my ($name, $value) = parse_xattr_pair($arg);95 die "can not process $arg because it is in name:value form"96 if defined $value;97 $value = $neb->getxattr($key, $name) or die $neb->err;98 print "$name:$value\n";99 }100 101 return 1;102 }103 104 105 sub write_xattrs106 {107 my ($neb, $key, @xattr_pairs) = @_;108 109 return unless defined $neb;110 return unless defined $key;111 return unless scalar @xattr_pairs;112 113 foreach my $arg (@xattr_pairs) {114 my ($name, $value) = parse_xattr_pair($arg);115 die "can not process $arg because it is not in name:value form"116 unless defined $name and defined $value;117 die "xattr name: $name is not in to the form user.name"118 unless $name =~ /^user\./;119 $neb->setxattr($key, $name, $value, "replace")120 or die $neb->err;121 }122 123 return 1;124 }125 126 127 sub delete_xattrs128 {129 my ($neb, $key, @xattr_names) = @_;130 131 return unless defined $neb;132 return unless defined $key;133 return unless scalar @xattr_names;134 135 foreach my $arg (@xattr_names) {136 my ($name, $value) = parse_xattr_pair($arg);137 die "can not process $arg because it is in name:value form"138 if defined $value;139 $neb->removexattr($key, $name)140 or die $neb->err;141 }142 143 return 1;144 }145 146 147 sub parse_xattr_pair148 {149 my $pair = shift;150 151 return unless defined $pair;152 153 no warnings qw( uninitialized );154 my ($name, $value) = split(/:/, $pair);155 use warnings;156 157 return ($name, $value);158 }159 70 160 71
Note:
See TracChangeset
for help on using the changeset viewer.
