You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(23) |
Sep
(3) |
Oct
(28) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
|
Mar
|
Apr
(12) |
May
(11) |
Jun
(4) |
Jul
(5) |
Aug
(4) |
Sep
|
Oct
|
Nov
(7) |
Dec
(6) |
2008 |
Jan
(8) |
Feb
(5) |
Mar
|
Apr
(5) |
May
(1) |
Jun
(1) |
Jul
(4) |
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Richard D. <ric...@us...> - 2007-08-13 12:06:20
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs17:/tmp/cvs-serv15566 Modified Files: MANIFEST.SKIP Log Message: Catch up for 1.05 release Index: MANIFEST.SKIP =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/MANIFEST.SKIP,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MANIFEST.SKIP 16 Nov 2005 19:13:09 -0000 1.1 --- MANIFEST.SKIP 13 Aug 2007 12:06:21 -0000 1.2 *************** *** 1,7 **** const-c.inc const-xs.inc ! xattr.bs ! xattr.c ! xattr.o CVS Makefile$ --- 1,13 ---- const-c.inc const-xs.inc ! ExtAttr.bs ! ExtAttr.c ! ExtAttr.o ! extattr_bsd.o ! extattr_linux.o ! extattr_macosx.o ! extattr_solaris.o ! flags.o ! helpers.o CVS Makefile$ |
From: Richard D. <ric...@us...> - 2007-08-13 12:04:34
|
Update of /cvsroot/file-extattr/File-ExtAttr/t In directory sc8-pr-cvs17:/tmp/cvs-serv14772/t Modified Files: 80memleakget.t Log Message: 1000 cycles per file/dir/file handle should be enough to diagnose memleaks in the future Index: 80memleakget.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/80memleakget.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 80memleakget.t 13 Aug 2007 12:02:28 -0000 1.1 --- 80memleakget.t 13 Aug 2007 12:04:35 -0000 1.2 *************** *** 21,25 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 60000; } --- 21,25 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 6000; } *************** *** 79,83 **** || die "setfattr failed on file descriptor ".$fh->fileno().": $!"; ! for (my $i = 0; $i < 10000; $i++) { # Check for the existing attribute. is(getfattr($fh, $key), $val); --- 79,83 ---- || die "setfattr failed on file descriptor ".$fh->fileno().": $!"; ! for (my $i = 0; $i < 1000; $i++) { # Check for the existing attribute. is(getfattr($fh, $key), $val); |
From: Richard D. <ric...@us...> - 2007-08-13 12:02:30
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs17:/tmp/cvs-serv13974 Modified Files: Changes ExtAttr.xs MANIFEST Log Message: Bugfix: Fix a memory leak in getfattr() Index: ExtAttr.xs =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/ExtAttr.xs,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** ExtAttr.xs 6 May 2007 09:56:40 -0000 1.21 --- ExtAttr.xs 13 Aug 2007 12:02:28 -0000 1.22 *************** *** 84,87 **** --- 84,88 ---- //key not found, just return undef if(errno == ENOATTR){ + Safefree(attrvalue); XSRETURN_UNDEF; *************** *** 89,95 **** --- 90,98 ---- }else{ setattr_warn("getxattr", attrname, errno); + Safefree(attrvalue); XSRETURN_UNDEF; } } + RETVAL = newSVpv(attrvalue, attrlen); Safefree(attrvalue); *************** *** 122,125 **** --- 125,129 ---- //key not found, just return undef if(errno == ENOATTR){ + Safefree(attrvalue); XSRETURN_UNDEF; *************** *** 127,133 **** --- 131,139 ---- }else{ setattr_warn("fgetxattr", attrname, errno); + Safefree(attrvalue); XSRETURN_UNDEF; } } + RETVAL = newSVpv(attrvalue, attrlen); Safefree(attrvalue); Index: Changes =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/Changes,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** Changes 5 Jul 2007 08:36:34 -0000 1.31 --- Changes 13 Aug 2007 12:02:28 -0000 1.32 *************** *** 1,5 **** Revision history for Perl extension File::ExtAttr. ! 1.05 2007-07-05 - (richdawe) Fix META.yml so that it's valid. Add a test using --- 1,5 ---- Revision history for Perl extension File::ExtAttr. ! 1.05 2007-08-13 - (richdawe) Fix META.yml so that it's valid. Add a test using *************** *** 11,14 **** --- 11,18 ---- by filename. + - (richdawe) Bugfix: Fix a memory leak in getfattr(). The memory was + leaked when the function failed, e.g.: if it was called + with the name of a non-existent attribute. + 1.04 2007-05-06 Index: MANIFEST =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/MANIFEST,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** MANIFEST 23 Jun 2007 11:04:30 -0000 1.17 --- MANIFEST 13 Aug 2007 12:02:28 -0000 1.18 *************** *** 41,44 **** --- 41,45 ---- t/33nslong.t t/39nsempty.t + t/80memleakget.t lib/File/ExtAttr.pm lib/File/ExtAttr/Tie.pm |
From: Richard D. <ric...@us...> - 2007-08-13 12:02:29
|
Update of /cvsroot/file-extattr/File-ExtAttr/t In directory sc8-pr-cvs17:/tmp/cvs-serv13974/t Added Files: 80memleakget.t Log Message: Bugfix: Fix a memory leak in getfattr() --- NEW FILE: 80memleakget.t --- #!perl -w use strict; use Test::More; # DEBUG: When debugging with valgrind or top, uncomment this stub for is(). # Otherwise the test results will be stored by Test::More, "distorting" # the picture of memory usage -- it will include the memory usage # of both File::ExtAttr and Test::More. # # sub is {} BEGIN { my $tlib = $0; $tlib =~ s|/[^/]*$|/lib|; push(@INC, $tlib); } use t::Support; if (t::Support::should_skip()) { plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { plan tests => 60000; } use File::Temp qw(tempfile); use File::Path; use File::ExtAttr qw(setfattr getfattr); use IO::File; my $TESTDIR = ($ENV{ATTR_TEST_DIR} || '.'); my ($fh, $filename) = tempfile( DIR => $TESTDIR ); close $fh || die "can't close $filename $!"; # Create a directory. my $dirname = "$filename.dir"; eval { mkpath($dirname); }; if ($@) { die "Couldn't create $dirname: $@"; } #todo: try wierd characters in here? # try unicode? my $key = "alskdfjadf2340zsdflksjdfa09eralsdkfjaldkjsldkfj"; my $val = "ZZZadlf03948alsdjfaslfjaoweir12l34kealfkjalskdfas90d8fajdlfkj./.,f"; my $key2 = $key.'2'; ########################## # Filename-based tests # ########################## foreach ( $filename, $dirname ) { print "# using $_\n"; setfattr($_, $key, $val) || die "setfattr failed on filename $_: $!"; for (my $i = 0; $i < 1000; $i++) { # Check for the existing attribute. is(getfattr($_, $key), $val); # Check for the non-existing attribute. is(getfattr($_, $key2), undef); } # DEBUG: Uncomment when debugging. #sleep(5); } ########################## # IO::Handle-based tests # ########################## $fh = new IO::File("<$filename") || die "Unable to open $filename"; print "# using file descriptor ".$fh->fileno()."\n"; setfattr($fh, $key, $val) || die "setfattr failed on file descriptor ".$fh->fileno().": $!"; for (my $i = 0; $i < 10000; $i++) { # Check for the existing attribute. is(getfattr($fh, $key), $val); # Check for the non-existing attribute. is(getfattr($fh, $key2), undef); } # DEBUG: Uncomment when debugging. #sleep(5); END { unlink $filename if $filename; rmdir $dirname if $dirname; }; |
From: Richard D. <ric...@us...> - 2007-07-05 08:36:37
|
Update of /cvsroot/file-extattr/File-ExtAttr/t In directory sc8-pr-cvs17:/tmp/cvs-serv29896/t Modified Files: 11basic.t 13long.t 14optional.t 15create.t 16replace.t 17createreplace.t 18list.t 20tie-basic.t 22tie-nonuser.t 30nsbasic.t 31nsmultiple.t 32nsnonuser.t 33nslong.t 39nsempty.t Log Message: Add test cases for setting attributes on directories, by filename. Index: 14optional.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/14optional.t,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** 14optional.t 6 May 2007 09:56:40 -0000 1.5 --- 14optional.t 5 Jul 2007 08:36:34 -0000 1.6 *************** *** 21,28 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 4; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 21,29 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 8; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr); *************** *** 31,36 **** close $fh || die "can't close $filename $!"; ! ! print "# using $filename\n"; #todo: try wierd characters in here? --- 32,41 ---- close $fh || die "can't close $filename $!"; ! # Create a directory. ! my $dirname = "$filename.dir"; ! eval { mkpath($dirname); }; ! if ($@) { ! warn "Couldn't create $dirname: $@"; ! } #todo: try wierd characters in here? *************** *** 39,61 **** my $val = "ZZZadlf03948alsdjfaslfjaoweir12l34kealfkjalskdfas90d8fajdlfkj./.,f"; #for (1..30000) { #checking memory leaks ! #will die if xattr stuff doesn't work at all ! setfattr($filename, "$key", $val) || die "setfattr failed on $filename: $!"; ! #set it ! is (setfattr($filename, "$key", $val), 1); ! #read it back ! is (getfattr($filename, "$key"), $val); ! #delete it ! ok (delfattr($filename, "$key")); ! #check that it's gone ! is (getfattr($filename, "$key"), undef); #} ! #print STDERR "done\n"; ! #<STDIN>; ! END {unlink $filename if $filename}; --- 44,71 ---- my $val = "ZZZadlf03948alsdjfaslfjaoweir12l34kealfkjalskdfas90d8fajdlfkj./.,f"; + foreach ( $filename, $dirname ) { + print "# using $_\n"; + #for (1..30000) { #checking memory leaks ! #will die if xattr stuff doesn't work at all ! setfattr($_, "$key", $val) || die "setfattr failed on $_: $!"; ! #set it ! is (setfattr($_, "$key", $val), 1); ! #read it back ! is (getfattr($_, "$key"), $val); ! #delete it ! ok (delfattr($_, "$key")); ! #check that it's gone ! is (getfattr($_, "$key"), undef); #} ! } ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 33nslong.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/33nslong.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 33nslong.t 6 May 2007 09:56:40 -0000 1.3 --- 33nslong.t 5 Jul 2007 08:36:35 -0000 1.4 *************** *** 24,31 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 16; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; --- 24,32 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 24; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; *************** *** 35,38 **** --- 36,46 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + #todo: try wierd characters in here? # try unicode? *************** *** 45,49 **** ########################## ! print "# using $filename\n"; #for (1..30000) { #checking memory leaks --- 53,58 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; #for (1..30000) { #checking memory leaks *************** *** 52,85 **** #on my /var partition, and 920 is the biggest for my loopback partition. #What's up with that? ! #setfattr($filename, "$key-2", ('x' x 3991)) || die "setfattr failed on $filename: $!"; ! setfattr($filename, "$key", $longval, { namespace => 'user' }) ! || die "setfattr failed on $filename: $!"; ! #set it ! is (setfattr($filename, "$key", $longval, { namespace => 'user' }), 1); ! #read it back ! is (getfattr($filename, "$key", { namespace => 'user' }), $longval); ! #delete it ! ok (delfattr($filename, "$key", { namespace => 'user' })); ! #check that it's gone ! is (getfattr($filename, "$key", { namespace => 'user' }), undef); ! #set it ! is (setfattr($filename, "$key", $longval2, { namespace => 'user' }), 1); ! #read it back ! is (getfattr($filename, "$key", { namespace => 'user' }), $longval2); ! #delete it ! ok (delfattr($filename, "$key", { namespace => 'user' })); ! #check that it's gone ! is (getfattr($filename, "$key", { namespace => 'user' }), undef); #} ! #print STDERR "done\n"; ! #<STDIN>; ########################## --- 61,93 ---- #on my /var partition, and 920 is the biggest for my loopback partition. #What's up with that? ! #setfattr($_, "$key-2", ('x' x 3991)) || die "setfattr failed on $_: $!"; ! setfattr($_, "$key", $longval, { namespace => 'user' }) ! || die "setfattr failed on $_: $!"; ! #set it ! is (setfattr($_, "$key", $longval, { namespace => 'user' }), 1); ! #read it back ! is (getfattr($_, "$key", { namespace => 'user' }), $longval); ! #delete it ! ok (delfattr($_, "$key", { namespace => 'user' })); ! #check that it's gone ! is (getfattr($_, "$key", { namespace => 'user' }), undef); ! #set it ! is (setfattr($_, "$key", $longval2, { namespace => 'user' }), 1); ! #read it back ! is (getfattr($_, "$key", { namespace => 'user' }), $longval2); ! #delete it ! ok (delfattr($_, "$key", { namespace => 'user' })); ! #check that it's gone ! is (getfattr($_, "$key", { namespace => 'user' }), undef); #} ! } ########################## *************** *** 127,129 **** #<STDIN>; ! END {unlink $filename if $filename}; --- 135,140 ---- #<STDIN>; ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 15create.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/15create.t,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** 15create.t 6 May 2007 09:56:40 -0000 1.4 --- 15create.t 5 Jul 2007 08:36:34 -0000 1.5 *************** *** 21,28 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 10; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; --- 21,29 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 15; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; *************** *** 33,36 **** --- 34,44 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + #todo: try wierd characters in here? # try unicode? *************** *** 42,61 **** ########################## ! print "# using $filename\n"; ! #create it ! is (setfattr($filename, "$key", $val, { create => 1 }), 1); ! #create it again -- should fail ! is (setfattr($filename, "$key", $val, { create => 1 }), 0); ! #read it back ! is (getfattr($filename, "$key"), $val); ! #delete it ! ok (delfattr($filename, "$key")); ! #check that it's gone ! is (getfattr($filename, "$key"), undef); ########################## --- 50,71 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; ! #create it ! is (setfattr($_, "$key", $val, { create => 1 }), 1); ! #create it again -- should fail ! is (setfattr($_, "$key", $val, { create => 1 }), 0); ! #read it back ! is (getfattr($_, "$key"), $val); ! #delete it ! ok (delfattr($_, "$key")); ! #check that it's gone ! is (getfattr($_, "$key"), undef); ! } ########################## *************** *** 82,84 **** is (getfattr($fh, "$key"), undef); ! END {unlink $filename if $filename}; --- 92,97 ---- is (getfattr($fh, "$key"), undef); ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 31nsmultiple.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/31nsmultiple.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 31nsmultiple.t 6 May 2007 09:56:40 -0000 1.3 --- 31nsmultiple.t 5 Jul 2007 08:36:35 -0000 1.4 *************** *** 21,28 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 26; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr listfattrns); use IO::File; --- 21,29 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 40; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr listfattrns); use IO::File; *************** *** 33,36 **** --- 34,44 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + #todo: try wierd characters in here? # try unicode? *************** *** 47,96 **** ########################## ! print "# using $filename\n"; #for (1..30000) { #checking memory leaks #will die if xattr stuff doesn't work at all ! setfattr($filename, "$key", $val, { namespace => 'user' }) ! || die "setfattr failed on filename $filename: $!"; #set it ! is (setfattr($filename, "$key", $val, { namespace => 'user' }), 1); #read it back ! is (getfattr($filename, "$key", { namespace => 'user' }), $val); #set another ! is (setfattr($filename, "$key2", $val, { namespace => 'user' }), 1); #read it back ! is (getfattr($filename, "$key2", { namespace => 'user' }), $val); #set yet another ! is (setfattr($filename, "$key3", $val, { namespace => 'user' }), 1); #read it back ! is (getfattr($filename, "$key3", { namespace => 'user' }), $val); #check user namespace exists now ! @ns = listfattrns($filename); is (grep(/^user$/, @ns), 1); #delete them ! ok (delfattr($filename, "$key", { namespace => 'user' })); ! ok (delfattr($filename, "$key2", { namespace => 'user' })); ! ok (delfattr($filename, "$key3", { namespace => 'user' })); #check that they're gone ! is (getfattr($filename, "$key", { namespace => 'user' }), undef); ! is (getfattr($filename, "$key2", { namespace => 'user' }), undef); ! is (getfattr($filename, "$key3", { namespace => 'user' }), undef); #check user namespace doesn't exist now ! @ns = listfattrns($filename); is (grep(/^user$/, @ns), 0); #} ! #print STDERR "done\n"; ! #<STDIN>; ########################## --- 55,104 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; #for (1..30000) { #checking memory leaks #will die if xattr stuff doesn't work at all ! setfattr($_, "$key", $val, { namespace => 'user' }) ! || die "setfattr failed on filename $_: $!"; #set it ! is (setfattr($_, "$key", $val, { namespace => 'user' }), 1); #read it back ! is (getfattr($_, "$key", { namespace => 'user' }), $val); #set another ! is (setfattr($_, "$key2", $val, { namespace => 'user' }), 1); #read it back ! is (getfattr($_, "$key2", { namespace => 'user' }), $val); #set yet another ! is (setfattr($_, "$key3", $val, { namespace => 'user' }), 1); #read it back ! is (getfattr($_, "$key3", { namespace => 'user' }), $val); #check user namespace exists now ! @ns = listfattrns($_); is (grep(/^user$/, @ns), 1); #delete them ! ok (delfattr($_, "$key", { namespace => 'user' })); ! ok (delfattr($_, "$key2", { namespace => 'user' })); ! ok (delfattr($_, "$key3", { namespace => 'user' })); #check that they're gone ! is (getfattr($_, "$key", { namespace => 'user' }), undef); ! is (getfattr($_, "$key2", { namespace => 'user' }), undef); ! is (getfattr($_, "$key3", { namespace => 'user' }), undef); #check user namespace doesn't exist now ! @ns = listfattrns($_); is (grep(/^user$/, @ns), 0); #} ! } ########################## *************** *** 145,147 **** #<STDIN>; ! END {unlink $filename if $filename}; --- 153,158 ---- #<STDIN>; ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 30nsbasic.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/30nsbasic.t,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** 30nsbasic.t 6 May 2007 09:56:40 -0000 1.5 --- 30nsbasic.t 5 Jul 2007 08:36:35 -0000 1.6 *************** *** 21,28 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 12; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr listfattrns); use IO::File; --- 21,29 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 18; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr listfattrns); use IO::File; *************** *** 33,36 **** --- 34,44 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + #todo: try wierd characters in here? # try unicode? *************** *** 44,78 **** ########################## ! print "# using $filename\n"; #for (1..30000) { #checking memory leaks #will die if xattr stuff doesn't work at all ! setfattr($filename, "$key", $val, { namespace => 'user' }) ! || die "setfattr failed on filename $filename: $!"; #set it ! is (setfattr($filename, "$key", $val, { namespace => 'user' }), 1); #check user namespace exists now ! @ns = listfattrns($filename); is (grep(/^user$/, @ns), 1); print '# '.join(' ', @ns)."\n"; #read it back ! is (getfattr($filename, "$key", { namespace => 'user' }), $val); #delete it ! ok (delfattr($filename, "$key", { namespace => 'user' })); #check that it's gone ! is (getfattr($filename, "$key", { namespace => 'user' }), undef); #check user namespace doesn't exist now ! @ns = listfattrns($filename); is (grep(/^user$/, @ns), 0); #} ! #print STDERR "done\n"; ! #<STDIN>; ########################## --- 52,86 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; #for (1..30000) { #checking memory leaks #will die if xattr stuff doesn't work at all ! setfattr($_, "$key", $val, { namespace => 'user' }) ! || die "setfattr failed on filename $_: $!"; #set it ! is (setfattr($_, "$key", $val, { namespace => 'user' }), 1); #check user namespace exists now ! @ns = listfattrns($_); is (grep(/^user$/, @ns), 1); print '# '.join(' ', @ns)."\n"; #read it back ! is (getfattr($_, "$key", { namespace => 'user' }), $val); #delete it ! ok (delfattr($_, "$key", { namespace => 'user' })); #check that it's gone ! is (getfattr($_, "$key", { namespace => 'user' }), undef); #check user namespace doesn't exist now ! @ns = listfattrns($_); is (grep(/^user$/, @ns), 0); #} ! } ########################## *************** *** 114,116 **** #<STDIN>; ! END {unlink $filename if $filename}; --- 122,127 ---- #<STDIN>; ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 13long.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/13long.t,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** 13long.t 6 May 2007 09:56:40 -0000 1.6 --- 13long.t 5 Jul 2007 08:36:34 -0000 1.7 *************** *** 24,31 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 16; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; --- 24,32 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 24; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; *************** *** 35,38 **** --- 36,46 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + #todo: try wierd characters in here? # try unicode? *************** *** 45,85 **** ########################## ! print "# using $filename\n"; #for (1..30000) { #checking memory leaks ! #check a really big one, bigger than $File::ExtAttr::MAX_INITIAL_VALUELEN ! #Hmmm, 3991 is the biggest number that doesn't generate "no space left on device" ! #on my /var partition, and 920 is the biggest for my loopback partition. ! #What's up with that? ! #setfattr($filename, "$key-2", ('x' x 3991)) || die "setfattr failed on $filename: $!"; ! setfattr($filename, "$key", $longval) ! || die "setfattr failed on $filename: $!"; ! #set it ! is (setfattr($filename, "$key", $longval), 1); ! #read it back ! is (getfattr($filename, "$key"), $longval); ! #delete it ! ok (delfattr($filename, "$key")); ! #check that it's gone ! is (getfattr($filename, "$key"), undef); ! #set it ! is (setfattr($filename, "$key", $longval2), 1); ! #read it back ! is (getfattr($filename, "$key"), $longval2); ! #delete it ! ok (delfattr($filename, "$key")); ! #check that it's gone ! is (getfattr($filename, "$key"), undef); #} ! #print STDERR "done\n"; ! #<STDIN>; ########################## --- 53,92 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; #for (1..30000) { #checking memory leaks ! #check a really big one, bigger than $File::ExtAttr::MAX_INITIAL_VALUELEN ! #Hmmm, 3991 is the biggest number that doesn't generate "no space left on device" ! #on my /var partition, and 920 is the biggest for my loopback partition. ! #What's up with that? ! #setfattr($_, "$key-2", ('x' x 3991)) || die "setfattr failed on $_: $!"; ! setfattr($_, "$key", $longval) || die "setfattr failed on $_: $!"; ! #set it ! is (setfattr($_, "$key", $longval), 1); ! #read it back ! is (getfattr($_, "$key"), $longval); ! #delete it ! ok (delfattr($_, "$key")); ! #check that it's gone ! is (getfattr($_, "$key"), undef); ! #set it ! is (setfattr($_, "$key", $longval2), 1); ! #read it back ! is (getfattr($_, "$key"), $longval2); ! #delete it ! ok (delfattr($_, "$key")); ! #check that it's gone ! is (getfattr($_, "$key"), undef); #} ! } ########################## *************** *** 127,129 **** #<STDIN>; ! END {unlink $filename if $filename}; --- 134,141 ---- #<STDIN>; ! # todo: Add support for IO::Dir handles, and test here. ! ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 20tie-basic.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/20tie-basic.t,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** 20tie-basic.t 6 May 2007 09:56:40 -0000 1.8 --- 20tie-basic.t 5 Jul 2007 08:36:35 -0000 1.9 *************** *** 14,21 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 12; } use File::Temp qw(tempfile); use File::ExtAttr::Tie; use File::ExtAttr qw(getfattr); --- 14,22 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 24; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr::Tie; use File::ExtAttr qw(getfattr); *************** *** 26,77 **** close $fh || die "can't close $filename $!"; ! my %extattr; ! my @ks; ! tie %extattr, 'File::ExtAttr::Tie', $filename; # ok()? ! # Check there are no user extattrs. ! @ks = keys(%extattr); ! ok(scalar(@ks) == 0); ! # Test multiple attributes. ! my %test_attrs = ( 'foo' => '123', 'bar' => '456' ); ! my $k; ! foreach $k (sort(keys(%test_attrs))) ! { ! my $v = $test_attrs{$k}; ! # Check that creation works. ! $extattr{$k} = $v; ! is(getfattr($filename, "$k"), $v); ! # Check that updating works. ! $extattr{$k} = "$v$v"; ! is(getfattr($filename, "$k"), "$v$v"); ! $extattr{$k} = $v; ! is(getfattr($filename, "$k"), $v); ! # Check that deletion works. ! delete $extattr{$k}; ! is(getfattr($filename, "$k"), undef); ! } ! # Recreate the keys and check that they're all in the hash. ! foreach $k (sort(keys(%test_attrs))) ! { ! my $v = $test_attrs{$k}; ! # Check that creation works. ! $extattr{$k} = $v; ! is(getfattr($filename, "$k"), $v); ! } ! # Check there are only our extattrs. ! @ks = keys(%extattr); ! ok(scalar(@ks) == scalar(keys(%test_attrs))); ! print '# '.join(' ', @ks)."\n"; ! END {unlink $filename if $filename}; --- 27,92 ---- close $fh || die "can't close $filename $!"; ! # Create a directory. ! my $dirname = "$filename.dir"; ! eval { mkpath($dirname); }; ! if ($@) { ! warn "Couldn't create $dirname: $@"; ! } ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; ! my %extattr; ! my @ks; ! tie %extattr, 'File::ExtAttr::Tie', $_; # ok()? ! # Check there are no user extattrs. ! @ks = keys(%extattr); ! ok(scalar(@ks) == 0); ! # Test multiple attributes. ! my %test_attrs = ( 'foo' => '123', 'bar' => '456' ); ! my $k; ! foreach $k (sort(keys(%test_attrs))) ! { ! my $v = $test_attrs{$k}; ! # Check that creation works. ! $extattr{$k} = $v; ! is(getfattr($_, "$k"), $v); ! # Check that updating works. ! $extattr{$k} = "$v$v"; ! is(getfattr($_, "$k"), "$v$v"); ! $extattr{$k} = $v; ! is(getfattr($_, "$k"), $v); ! # Check that deletion works. ! delete $extattr{$k}; ! is(getfattr($_, "$k"), undef); ! } ! # Recreate the keys and check that they're all in the hash. ! foreach $k (sort(keys(%test_attrs))) ! { ! my $v = $test_attrs{$k}; ! # Check that creation works. ! $extattr{$k} = $v; ! is(getfattr($_, "$k"), $v); ! } ! ! # Check there are only our extattrs. ! @ks = keys(%extattr); ! ok(scalar(@ks) == scalar(keys(%test_attrs))); ! print '# '.join(' ', @ks)."\n"; ! } ! ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 39nsempty.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/39nsempty.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 39nsempty.t 6 May 2007 09:56:40 -0000 1.3 --- 39nsempty.t 5 Jul 2007 08:36:35 -0000 1.4 *************** *** 21,28 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 8; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; --- 21,29 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 12; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; *************** *** 33,36 **** --- 34,44 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + #todo: try wierd characters in here? # try unicode? *************** *** 42,60 **** ########################## ! print "# using $filename\n"; ! #set it - should fail ! undef $@; ! eval { setfattr($filename, "$key", $val, { namespace => '' }); }; ! isnt ($@, undef); ! #read it back - should be missing ! is (getfattr($filename, "$key", { namespace => '' }), undef); ! #delete it - should fail ! is (delfattr($filename, "$key", { namespace => '' }), 0); ! #check that it's gone ! is (getfattr($filename, "$key", { namespace => '' }), undef); ########################## --- 50,70 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; ! #set it - should fail ! undef $@; ! eval { setfattr($_, "$key", $val, { namespace => '' }); }; ! isnt ($@, undef); ! #read it back - should be missing ! is (getfattr($_, "$key", { namespace => '' }), undef); ! #delete it - should fail ! is (delfattr($_, "$key", { namespace => '' }), 0); ! #check that it's gone ! is (getfattr($_, "$key", { namespace => '' }), undef); ! } ########################## *************** *** 79,81 **** is (getfattr($fh->fileno(), "$key", { namespace => '' }), undef); ! END {unlink $filename if $filename}; --- 89,94 ---- is (getfattr($fh->fileno(), "$key", { namespace => '' }), undef); ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 22tie-nonuser.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/22tie-nonuser.t,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** 22tie-nonuser.t 4 Jul 2007 10:04:36 -0000 1.4 --- 22tie-nonuser.t 5 Jul 2007 08:36:35 -0000 1.5 *************** *** 15,22 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 20; } use File::Temp qw(tempfile); use File::ExtAttr::Tie; use File::ExtAttr qw(getfattr); --- 15,23 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 40; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr::Tie; use File::ExtAttr qw(getfattr); *************** *** 34,89 **** close $fh || die "can't close $filename $!"; ! my %extattr; ! my @ks; ! tie %extattr, 'File::ExtAttr::Tie', $filename, { namespace => 'nonuser' }; # ok()? ! # Check there are no user extattrs. ! @ks = keys(%extattr); ! ok(scalar(@ks) == 0); ! # Test multiple attributes. ! my %test_attrs = ( 'foo' => '123', 'bar' => '456' ); ! my $k; ! foreach $k (sort(keys(%test_attrs))) ! { ! my $v = $test_attrs{$k}; ! # Check that creation works. ! $extattr{$k} = $v; ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! is(getfattr($filename, "$k"), undef); ! # Check that updating works. ! $extattr{$k} = "$v$v"; ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! is(getfattr($filename, "$k"), undef); ! $extattr{$k} = $v; ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! is(getfattr($filename, "$k"), undef); ! # Check that deletion works. ! delete $extattr{$k}; ! is(getfattr($filename, "$k"), undef); ! } ! # Recreate the keys and check that they're all in the hash. ! foreach $k (sort(keys(%test_attrs))) ! { ! my $v = $test_attrs{$k}; ! # Check that creation works. ! $extattr{$k} = $v; ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! is(getfattr($filename, "$k"), undef); ! } ! # Check there are only our extattrs. ! @ks = keys(%extattr); ! ok(scalar(@ks) == 0); ! print '# '.join(' ', @ks)."\n"; ! END {unlink $filename if $filename}; --- 35,104 ---- close $fh || die "can't close $filename $!"; ! # Create a directory. ! my $dirname = "$filename.dir"; ! eval { mkpath($dirname); }; ! if ($@) { ! warn "Couldn't create $dirname: $@"; ! } ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; ! my %extattr; ! my @ks; ! tie %extattr, 'File::ExtAttr::Tie', $_, { namespace => 'nonuser' }; # ok()? ! # Check there are no user extattrs. ! @ks = keys(%extattr); ! ok(scalar(@ks) == 0); ! # Test multiple attributes. ! my %test_attrs = ( 'foo' => '123', 'bar' => '456' ); ! my $k; ! foreach $k (sort(keys(%test_attrs))) ! { ! my $v = $test_attrs{$k}; ! # Check that creation works. ! $extattr{$k} = $v; ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! is(getfattr($_, "$k"), undef); ! # Check that updating works. ! $extattr{$k} = "$v$v"; ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! is(getfattr($_, "$k"), undef); ! $extattr{$k} = $v; ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! is(getfattr($_, "$k"), undef); ! # Check that deletion works. ! delete $extattr{$k}; ! is(getfattr($_, "$k"), undef); ! } ! # Recreate the keys and check that they're all in the hash. ! foreach $k (sort(keys(%test_attrs))) ! { ! my $v = $test_attrs{$k}; ! # Check that creation works. ! $extattr{$k} = $v; ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! is(getfattr($_, "$k"), undef); ! } ! ! # Check there are only our extattrs. ! @ks = keys(%extattr); ! ok(scalar(@ks) == 0); ! print '# '.join(' ', @ks)."\n"; ! } ! ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 11basic.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/11basic.t,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** 11basic.t 6 May 2007 09:56:40 -0000 1.6 --- 11basic.t 5 Jul 2007 08:36:34 -0000 1.7 *************** *** 21,28 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 8; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; --- 21,29 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 12; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; *************** *** 33,36 **** --- 34,44 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + #todo: try wierd characters in here? # try unicode? *************** *** 42,66 **** ########################## ! print "# using $filename\n"; #for (1..30000) { #checking memory leaks #will die if xattr stuff doesn't work at all ! setfattr($filename, "$key", $val) || die "setfattr failed on filename $filename: $!"; #set it ! is (setfattr($filename, "$key", $val), 1); #read it back ! is (getfattr($filename, "$key"), $val); #delete it ! ok (delfattr($filename, "$key")); #check that it's gone ! is (getfattr($filename, "$key"), undef); #} ! #print STDERR "done\n"; ! #<STDIN>; ########################## --- 50,75 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; #for (1..30000) { #checking memory leaks #will die if xattr stuff doesn't work at all ! setfattr($_, "$key", $val) || die "setfattr failed on filename $_: $!"; #set it ! is (setfattr($_, "$key", $val), 1); #read it back ! is (getfattr($_, "$key"), $val); #delete it ! ok (delfattr($_, "$key")); #check that it's gone ! is (getfattr($_, "$key"), undef); ! #} ! } ########################## *************** *** 93,95 **** #<STDIN>; ! END {unlink $filename if $filename}; --- 102,109 ---- #<STDIN>; ! # todo: Add support for IO::Dir handles, and test here. ! ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 16replace.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/16replace.t,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** 16replace.t 6 May 2007 09:56:40 -0000 1.4 --- 16replace.t 5 Jul 2007 08:36:34 -0000 1.5 *************** *** 21,28 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 10; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; --- 21,29 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 15; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; *************** *** 33,36 **** --- 34,44 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + #todo: try wierd characters in here? # try unicode? *************** *** 42,61 **** ########################## ! print "# using $filename\n"; ! #create it ! is (setfattr($filename, "$key", $val, { create => 1 }), 1); ! #replace it ! is (setfattr($filename, "$key", $val, { replace => 1 }), 1); ! #read it back ! is (getfattr($filename, "$key"), $val); ! #delete it ! ok (delfattr($filename, "$key")); ! #check that it's gone ! is (getfattr($filename, "$key"), undef); ########################## --- 50,71 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; ! #create it ! is (setfattr($_, "$key", $val, { create => 1 }), 1); ! #replace it ! is (setfattr($_, "$key", $val, { replace => 1 }), 1); ! #read it back ! is (getfattr($_, "$key"), $val); ! #delete it ! ok (delfattr($_, "$key")); ! #check that it's gone ! is (getfattr($_, "$key"), undef); ! } ########################## *************** *** 82,84 **** is (getfattr($fh, "$key"), undef); ! END {unlink $filename if $filename}; --- 92,97 ---- is (getfattr($fh, "$key"), undef); ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 17createreplace.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/17createreplace.t,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** 17createreplace.t 6 May 2007 09:56:40 -0000 1.4 --- 17createreplace.t 5 Jul 2007 08:36:34 -0000 1.5 *************** *** 21,28 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 4; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; --- 21,29 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 6; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr); use IO::File; *************** *** 33,36 **** --- 34,44 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + #todo: try wierd characters in here? # try unicode? *************** *** 42,54 **** ########################## ! print "# using $filename\n"; ! #create and replace it -- should fail ! undef $@; ! eval { setfattr($filename, "$key", $val, { create => 1, replace => 1 }); }; ! isnt ($@, undef); ! #check that it's not been created ! is (getfattr($filename, "$key"), undef); ########################## --- 50,64 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; ! #create and replace it -- should fail ! undef $@; ! eval { setfattr($_, "$key", $val, { create => 1, replace => 1 }); }; ! isnt ($@, undef); ! #check that it's not been created ! is (getfattr($_, "$key"), undef); ! } ########################## *************** *** 70,72 **** is (getfattr($fh, $key2), undef); ! END {unlink $filename if $filename}; --- 80,85 ---- is (getfattr($fh, $key2), undef); ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 32nsnonuser.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/32nsnonuser.t,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** 32nsnonuser.t 4 Jul 2007 10:04:36 -0000 1.6 --- 32nsnonuser.t 5 Jul 2007 08:36:35 -0000 1.7 *************** *** 19,26 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 4; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 19,27 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 8; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr); *************** *** 36,40 **** close $fh || die "can't close $filename $!"; ! print "# using $filename\n"; #todo: try wierd characters in here? --- 37,46 ---- close $fh || die "can't close $filename $!"; ! # Create a directory. ! my $dirname = "$filename.dir"; ! eval { mkpath($dirname); }; ! if ($@) { ! warn "Couldn't create $dirname: $@"; ! } #todo: try wierd characters in here? *************** *** 43,59 **** my $val = "ZZZadlf03948alsdjfaslfjaoweir12l34kealfkjalskdfas90d8fajdlfkj./.,f"; ! #set it ! setfattr($filename, "$key", $val, { namespace => 'nonuser' }); ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! #read it back ! is (getfattr($filename, "$key", { namespace => 'nonuser' }), undef); ! #delete it ! delfattr($filename, "$key", { namespace => 'nonuser' }); ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! #check that it's gone ! is (getfattr($filename, "$key", { namespace => 'nonuser' }), undef); ! END {unlink $filename if $filename}; --- 49,72 ---- my $val = "ZZZadlf03948alsdjfaslfjaoweir12l34kealfkjalskdfas90d8fajdlfkj./.,f"; ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; ! #set it ! setfattr($_, "$key", $val, { namespace => 'nonuser' }); ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! #read it back ! is (getfattr($_, "$key", { namespace => 'nonuser' }), undef); ! #delete it ! delfattr($_, "$key", { namespace => 'nonuser' }); ! is ($warning =~ /(Operation not supported|No such file or directory|Attribute not found)/, 1); ! #check that it's gone ! is (getfattr($_, "$key", { namespace => 'nonuser' }), undef); ! } ! ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; Index: 18list.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/18list.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 18list.t 6 May 2007 09:56:40 -0000 1.3 --- 18list.t 5 Jul 2007 08:36:34 -0000 1.4 *************** *** 14,21 **** plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 122; } use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr listfattr); use IO::File; --- 14,22 ---- plan skip_all => 'Tests unsupported on this OS/filesystem'; } else { ! plan tests => 183; } use File::Temp qw(tempfile); + use File::Path; use File::ExtAttr qw(setfattr getfattr delfattr listfattr); use IO::File; *************** *** 26,29 **** --- 27,37 ---- close $fh || die "can't close $filename $!"; + # Create a directory. + my $dirname = "$filename.dir"; + eval { mkpath($dirname); }; + if ($@) { + warn "Couldn't create $dirname: $@"; + } + my %vals; for (my $i = 0; $i < 10; ++$i) *************** *** 36,68 **** ########################## ! print "# using $filename\n"; ! ! foreach (keys %vals) ! { ! # create it ! is (setfattr($filename, $_, $vals{$_}, { create => 1 }), 1); ! # create it again -- should fail ! is (setfattr($filename, $_, $vals{$_}, { create => 1 }), 0); ! # read it back ! is (getfattr($filename, $_), $vals{$_}); ! } ! # Check that the list contains all the attributes. ! my @attrs = listfattr($filename); ! @attrs = sort @attrs; ! my @ks = sort keys %vals; ! check_attrs(\@attrs, \@ks); ! # Clean up for next round of testing ! foreach (keys %vals) ! { ! # delete it ! ok (delfattr($filename, $_)); ! # check that it's gone ! is (getfattr($filename, $_), undef); } --- 44,78 ---- ########################## ! foreach ( $filename, $dirname ) { ! print "# using $_\n"; ! foreach my $k (keys %vals) ! { ! # create it ! is (setfattr($_, $k, $vals{$k}, { create => 1 }), 1); ! # create it again -- should fail ! is (setfattr($_, $k, $vals{$k}, { create => 1 }), 0); ! # read it back ! is (getfattr($_, $k), $vals{$k}); ! } ! ! # Check that the list contains all the attributes. ! my @attrs = listfattr($_); ! @attrs = sort @attrs; ! my @ks = sort keys %vals; ! check_attrs(\@attrs, \@ks); ! # Clean up for next round of testing ! foreach my $k (keys %vals) ! { ! # delete it ! ok (delfattr($_, $k)); ! # check that it's gone ! is (getfattr($_, $k), undef); ! } } *************** *** 88,94 **** # Check that the list contains all the attributes. ! @attrs = listfattr($fh); @attrs = sort @attrs; ! @ks = sort keys %vals; check_attrs(\@attrs, \@ks); --- 98,104 ---- # Check that the list contains all the attributes. ! my @attrs = listfattr($fh); @attrs = sort @attrs; ! my @ks = sort keys %vals; check_attrs(\@attrs, \@ks); *************** *** 104,108 **** } ! END {unlink $filename if $filename}; sub check_attrs --- 114,121 ---- } ! END { ! unlink $filename if $filename; ! rmdir $dirname if $dirname; ! }; sub check_attrs |
From: Richard D. <ric...@us...> - 2007-07-05 08:36:34
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs17:/tmp/cvs-serv29896 Modified Files: Changes Log Message: Add test cases for setting attributes on directories, by filename. Index: Changes =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/Changes,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** Changes 4 Jul 2007 10:04:35 -0000 1.30 --- Changes 5 Jul 2007 08:36:34 -0000 1.31 *************** *** 1,5 **** Revision history for Perl extension File::ExtAttr. ! 1.05 2007-07-04 - (richdawe) Fix META.yml so that it's valid. Add a test using --- 1,5 ---- Revision history for Perl extension File::ExtAttr. ! 1.05 2007-07-05 - (richdawe) Fix META.yml so that it's valid. Add a test using *************** *** 8,11 **** --- 8,14 ---- - (richdawe) Fix RT #27864: "Tests fail with nl_NL locale set". + - (richdawe) Add test cases for setting attributes on directories, + by filename. + 1.04 2007-05-06 |
From: Richard D. <ric...@us...> - 2007-07-04 10:08:32
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs17:/tmp/cvs-serv11030 Modified Files: TODO Log Message: Sync TODOs with reality Index: TODO =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/TODO,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** TODO 25 Jun 2007 09:48:27 -0000 1.16 --- TODO 4 Jul 2007 10:08:29 -0000 1.17 *************** *** 20,29 **** without xattrs)? ! Get it to build on NetBSD 3.0 - it doesn't have strerror_r, which we need. ! NetBSD 4.0 is the first NetBSD to support extattrs on disk, so maybe ! there's no point supporting 3.0? ! ! Document pre-reqs for test suite: Test::Distribution, Test::Pod::Coverage ! Include these in a .spec file that we can include with distro Disallow nuls in the attribute names. The list handling will break --- 20,26 ---- without xattrs)? ! Document pre-reqs for test suite: Test::Distribution, Test::Pod::Coverage, ! Test::YAML::Meta. Include these in a .spec file that we can include ! with distro Disallow nuls in the attribute names. The list handling will break |
From: Richard D. <ric...@us...> - 2007-07-04 10:04:37
|
Update of /cvsroot/file-extattr/File-ExtAttr/t In directory sc8-pr-cvs17:/tmp/cvs-serv9428/t Modified Files: 22tie-nonuser.t 32nsnonuser.t Log Message: Fix RT #27864: "Tests fail with nl_NL locale set". Index: 22tie-nonuser.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/22tie-nonuser.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 22tie-nonuser.t 6 May 2007 09:56:40 -0000 1.3 --- 22tie-nonuser.t 4 Jul 2007 10:04:36 -0000 1.4 *************** *** 3,6 **** --- 3,7 ---- use strict; use Test::More; + use POSIX qw/setlocale LC_ALL/; BEGIN { *************** *** 21,24 **** --- 22,28 ---- use File::ExtAttr qw(getfattr); + # Use the C locale, so all warnings are in the language we are expecting. + setlocale(LC_ALL, 'C'); + # Snaffle away the warnings for later analysis. my $warning; Index: 32nsnonuser.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/32nsnonuser.t,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** 32nsnonuser.t 6 May 2007 09:56:40 -0000 1.5 --- 32nsnonuser.t 4 Jul 2007 10:04:36 -0000 1.6 *************** *** 7,10 **** --- 7,11 ---- use strict; use Test::More; + use POSIX qw/setlocale LC_ALL/; BEGIN { *************** *** 24,27 **** --- 25,31 ---- use File::ExtAttr qw(setfattr getfattr delfattr); + # Use the C locale, so all warnings are in the language we are expecting. + setlocale(LC_ALL, 'C'); + # Snaffle away the warnings for later analysis. my $warning; |
From: Richard D. <ric...@us...> - 2007-07-04 10:04:36
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs17:/tmp/cvs-serv9428 Modified Files: Changes Log Message: Fix RT #27864: "Tests fail with nl_NL locale set". Index: Changes =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/Changes,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Changes 23 Jun 2007 11:04:30 -0000 1.29 --- Changes 4 Jul 2007 10:04:35 -0000 1.30 *************** *** 1,9 **** Revision history for Perl extension File::ExtAttr. ! 1.05 2007-06-23 - (richdawe) Fix META.yml so that it's valid. Add a test using Test::YAML::Meta to the test suite, to validate META.yml. 1.04 2007-05-06 --- 1,11 ---- Revision history for Perl extension File::ExtAttr. ! 1.05 2007-07-04 - (richdawe) Fix META.yml so that it's valid. Add a test using Test::YAML::Meta to the test suite, to validate META.yml. + - (richdawe) Fix RT #27864: "Tests fail with nl_NL locale set". + 1.04 2007-05-06 |
From: Richard D. <ric...@us...> - 2007-06-25 09:48:28
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs17:/tmp/cvs-serv13059 Modified Files: TODO Log Message: Test xattrs on dirs Index: TODO =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/TODO,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** TODO 2 Oct 2006 22:06:54 -0000 1.15 --- TODO 25 Jun 2007 09:48:27 -0000 1.16 *************** *** 10,13 **** --- 10,14 ---- symbolic link handling (O_NOFOLLOW on Mac OS X) Check it can be used with Perl 5.6.x + Test setting attributes on directories, as suggested at Brum.pm Factor out common code from the tests Refactor the buffer allocation into a common function in ExtAttr.xs |
From: Richard D. <ric...@us...> - 2007-06-23 11:04:34
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs17:/tmp/cvs-serv17711 Modified Files: Changes MANIFEST META.yml Makefile.PL README Log Message: Fix META.yml file; validate META.yml in test suite; bump version to 1.05 Index: README =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/README,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** README 6 May 2007 10:02:13 -0000 1.11 --- README 23 Jun 2007 11:04:30 -0000 1.12 *************** *** 1,3 **** ! File-ExtAttr version 1.04 ========================= --- 1,3 ---- ! File-ExtAttr version 1.05 ========================= Index: META.yml =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/META.yml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** META.yml 6 May 2007 10:02:13 -0000 1.6 --- META.yml 23 Jun 2007 11:04:30 -0000 1.7 *************** *** 1,9 **** # http://module-build.sourceforge.net/META-spec.html - #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: File-ExtAttr ! version: 1.04 version_from: lib/File/ExtAttr.pm installdirs: site requires: distribution_type: module --- 1,11 ---- # http://module-build.sourceforge.net/META-spec.html name: File-ExtAttr ! version: 1.05 version_from: lib/File/ExtAttr.pm installdirs: site requires: + Carp: 0 + Scalar::Util: 0 + license: perl distribution_type: module Index: Changes =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/Changes,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** Changes 6 May 2007 09:56:40 -0000 1.28 --- Changes 23 Jun 2007 11:04:30 -0000 1.29 *************** *** 1,4 **** --- 1,9 ---- Revision history for Perl extension File::ExtAttr. + 1.05 2007-06-23 + + - (richdawe) Fix META.yml so that it's valid. Add a test using + Test::YAML::Meta to the test suite, to validate META.yml. + 1.04 2007-05-06 Index: Makefile.PL =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/Makefile.PL,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile.PL 6 May 2007 08:35:06 -0000 1.7 --- Makefile.PL 23 Jun 2007 11:04:30 -0000 1.8 *************** *** 35,39 **** NAME => 'File::ExtAttr', VERSION_FROM => 'lib/File/ExtAttr.pm', # finds $VERSION ! PREREQ_PM => {}, # e.g., Module::Name => 1.1 ($] >= 5.005 ? ## Add these new keywords supported since 5.005 (ABSTRACT_FROM => 'lib/File/ExtAttr.pm', # retrieve abstract from module --- 35,43 ---- NAME => 'File::ExtAttr', VERSION_FROM => 'lib/File/ExtAttr.pm', # finds $VERSION ! PREREQ_PM => { ! # e.g., Module::Name => 1.1 ! Carp => 0, ! Scalar::Util => 0 ! }, ($] >= 5.005 ? ## Add these new keywords supported since 5.005 (ABSTRACT_FROM => 'lib/File/ExtAttr.pm', # retrieve abstract from module *************** *** 48,51 **** --- 52,58 ---- # Un-comment this if you add C files to link with later: # OBJECT => '$(O_FILES)', # link all the C files too + + # Hand-roll META.yml and MANIFEST. + NO_META => 1, ); Index: MANIFEST =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/MANIFEST,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** MANIFEST 6 May 2007 09:56:40 -0000 1.16 --- MANIFEST 23 Jun 2007 11:04:30 -0000 1.17 *************** *** 26,29 **** --- 26,30 ---- t/02load-all.t t/03pod-coverage.t + t/04yaml-meta.t t/11basic.t t/13long.t |
From: Richard D. <ric...@us...> - 2007-06-23 11:04:33
|
Update of /cvsroot/file-extattr/File-ExtAttr/lib/File In directory sc8-pr-cvs17:/tmp/cvs-serv17711/lib/File Modified Files: ExtAttr.pm Log Message: Fix META.yml file; validate META.yml in test suite; bump version to 1.05 Index: ExtAttr.pm =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/lib/File/ExtAttr.pm,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** ExtAttr.pm 6 May 2007 10:02:13 -0000 1.24 --- ExtAttr.pm 23 Jun 2007 11:04:31 -0000 1.25 *************** *** 181,185 **** ); ! our $VERSION = '1.04'; #this is used by getxattr(), needs documentation --- 181,185 ---- ); ! our $VERSION = '1.05'; #this is used by getxattr(), needs documentation |
From: Richard D. <ric...@us...> - 2007-06-23 11:04:33
|
Update of /cvsroot/file-extattr/File-ExtAttr/t In directory sc8-pr-cvs17:/tmp/cvs-serv17711/t Added Files: 04yaml-meta.t Log Message: Fix META.yml file; validate META.yml in test suite; bump version to 1.05 --- NEW FILE: 04yaml-meta.t --- #!perl -w use strict; use Test::More; eval "use Test::YAML::Meta"; plan skip_all => "Test::YAML::Meta required for testing META.yml" if $@; meta_yaml_ok(); |
From: Richard D. <ric...@us...> - 2007-05-06 10:02:18
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30357 Modified Files: META.yml README Log Message: Bump version to 1.04 Index: README =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/README,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** README 27 Apr 2007 06:11:37 -0000 1.10 --- README 6 May 2007 10:02:13 -0000 1.11 *************** *** 1,3 **** ! File-ExtAttr version 1.03 ========================= --- 1,3 ---- ! File-ExtAttr version 1.04 ========================= *************** *** 11,15 **** Extended attributes may not be supported by your operating system. This module is aimed at Linux, Unix or Unix-like operating systems ! (e.g.: Mac OS X, FreeBSD, NetBSD, OpenBSD). Extended attributes may also not be supported by your filesystem --- 11,15 ---- Extended attributes may not be supported by your operating system. This module is aimed at Linux, Unix or Unix-like operating systems ! (e.g.: Mac OS X, FreeBSD, NetBSD). Extended attributes may also not be supported by your filesystem *************** *** 59,63 **** Copyright (C) 2005 by Kevin M. Goess ! Copyright (C) 2005, 2006 by Richard Dawe This library is free software; you can redistribute it and/or modify --- 59,63 ---- Copyright (C) 2005 by Kevin M. Goess ! Copyright (C) 2005, 2006, 2007 by Richard Dawe This library is free software; you can redistribute it and/or modify Index: META.yml =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/META.yml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** META.yml 27 Apr 2007 06:11:37 -0000 1.5 --- META.yml 6 May 2007 10:02:13 -0000 1.6 *************** *** 2,6 **** #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: File-ExtAttr ! version: 1.03 version_from: lib/File/ExtAttr.pm installdirs: site --- 2,6 ---- #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: File-ExtAttr ! version: 1.04 version_from: lib/File/ExtAttr.pm installdirs: site |
From: Richard D. <ric...@us...> - 2007-05-06 10:02:18
|
Update of /cvsroot/file-extattr/File-ExtAttr/lib/File In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30357/lib/File Modified Files: ExtAttr.pm Log Message: Bump version to 1.04 Index: ExtAttr.pm =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/lib/File/ExtAttr.pm,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** ExtAttr.pm 6 May 2007 09:56:40 -0000 1.23 --- ExtAttr.pm 6 May 2007 10:02:13 -0000 1.24 *************** *** 181,185 **** ); ! our $VERSION = '1.03'; #this is used by getxattr(), needs documentation --- 181,185 ---- ); ! our $VERSION = '1.04'; #this is used by getxattr(), needs documentation |
From: Richard D. <ric...@us...> - 2007-05-06 10:00:45
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv29460 Modified Files: ppport.h Log Message: Fix compile warning Index: ppport.h =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/ppport.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ppport.h 16 Nov 2005 19:13:09 -0000 1.1 --- ppport.h 6 May 2007 10:00:44 -0000 1.2 *************** *** 222,233 **** #endif ! #ifdef HASATTRIBUTE ! # if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER) ! # define PERL_UNUSED_DECL # else ! # define PERL_UNUSED_DECL __attribute__((unused)) # endif - #else - # define PERL_UNUSED_DECL #endif --- 222,235 ---- #endif ! #if defined(HASATTRIBUTE) ! # if !defined(PERL_UNUSED_DECL) ! # if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER) ! # define PERL_UNUSED_DECL ! # else ! # define PERL_UNUSED_DECL __attribute__((unused)) ! # endif # else ! # define PERL_UNUSED_DECL # endif #endif |
From: Richard D. <ric...@us...> - 2007-05-06 09:56:43
|
Update of /cvsroot/file-extattr/File-ExtAttr/lib/File In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv27849/lib/File Modified Files: ExtAttr.pm Log Message: Really fix build on NetBSD 3.1; update test suite to skip tests on NetBSD < 4.0 Index: ExtAttr.pm =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/lib/File/ExtAttr.pm,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** ExtAttr.pm 6 May 2007 08:35:07 -0000 1.22 --- ExtAttr.pm 6 May 2007 09:56:40 -0000 1.23 *************** *** 77,81 **** =item FreeBSD 5.0 and later ! =item NetBSD 3.0 and later =item Solaris 10 and later --- 77,83 ---- =item FreeBSD 5.0 and later ! =item NetBSD 3.0 and later (builds) ! ! =item NetBSD 4.0 and later (for UFS filesystem with xattr support) =item Solaris 10 and later *************** *** 391,398 **** NetBSD >= 3.0 supports extended attributes, but you'll need to use ! NetBSD >= 4.0 to have a filesystem that supports them. L<http://netbsd.gw.com/cgi-bin/man-cgi?extattr_get_file+2+NetBSD-current> =item Mac OS X --- 393,402 ---- NetBSD >= 3.0 supports extended attributes, but you'll need to use ! NetBSD >= 4.0 to get UFS filesystem support for them. L<http://netbsd.gw.com/cgi-bin/man-cgi?extattr_get_file+2+NetBSD-current> + L<http://www.netbsd.org/Changes/changes-4.0.html#ufs> + =item Mac OS X |
From: Richard D. <ric...@us...> - 2007-05-06 09:56:42
|
Update of /cvsroot/file-extattr/File-ExtAttr/t In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv27849/t Modified Files: 11basic.t 13long.t 14optional.t 15create.t 16replace.t 17createreplace.t 18list.t 20tie-basic.t 22tie-nonuser.t 30nsbasic.t 31nsmultiple.t 32nsnonuser.t 33nslong.t 39nsempty.t Log Message: Really fix build on NetBSD 3.1; update test suite to skip tests on NetBSD < 4.0 Index: 14optional.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/14optional.t,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** 14optional.t 27 Apr 2007 06:01:57 -0000 1.4 --- 14optional.t 6 May 2007 09:56:40 -0000 1.5 *************** *** 9,13 **** use strict; ! use Test::More tests => 4; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 9,27 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 4; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); Index: 33nslong.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/33nslong.t,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 33nslong.t 27 Apr 2007 06:01:57 -0000 1.2 --- 33nslong.t 6 May 2007 09:56:40 -0000 1.3 *************** *** 12,16 **** use strict; ! use Test::More tests => 16; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 12,30 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 16; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); Index: 15create.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/15create.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 15create.t 27 Apr 2007 06:01:57 -0000 1.3 --- 15create.t 6 May 2007 09:56:40 -0000 1.4 *************** *** 9,13 **** use strict; ! use Test::More tests => 10; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 9,27 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 10; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); Index: 31nsmultiple.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/31nsmultiple.t,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 31nsmultiple.t 27 Apr 2007 06:01:57 -0000 1.2 --- 31nsmultiple.t 6 May 2007 09:56:40 -0000 1.3 *************** *** 9,13 **** use strict; ! use Test::More tests => 26; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr listfattrns); --- 9,27 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 26; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr listfattrns); Index: 30nsbasic.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/30nsbasic.t,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** 30nsbasic.t 27 Apr 2007 06:01:57 -0000 1.4 --- 30nsbasic.t 6 May 2007 09:56:40 -0000 1.5 *************** *** 9,13 **** use strict; ! use Test::More tests => 12; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr listfattrns); --- 9,27 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 12; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr listfattrns); Index: 13long.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/13long.t,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** 13long.t 27 Apr 2007 06:01:57 -0000 1.5 --- 13long.t 6 May 2007 09:56:40 -0000 1.6 *************** *** 12,16 **** use strict; ! use Test::More tests => 16; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 12,30 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 16; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); Index: 20tie-basic.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/20tie-basic.t,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** 20tie-basic.t 27 Apr 2007 06:01:57 -0000 1.7 --- 20tie-basic.t 6 May 2007 09:56:40 -0000 1.8 *************** *** 2,6 **** use strict; ! use Test::More tests => 12; use File::Temp qw(tempfile); use File::ExtAttr::Tie; --- 2,20 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 12; ! } ! use File::Temp qw(tempfile); use File::ExtAttr::Tie; Index: 39nsempty.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/39nsempty.t,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 39nsempty.t 27 Apr 2007 06:01:57 -0000 1.2 --- 39nsempty.t 6 May 2007 09:56:40 -0000 1.3 *************** *** 9,13 **** use strict; ! use Test::More tests => 8; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 9,27 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 8; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); Index: 22tie-nonuser.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/22tie-nonuser.t,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 22tie-nonuser.t 27 Apr 2007 06:01:57 -0000 1.2 --- 22tie-nonuser.t 6 May 2007 09:56:40 -0000 1.3 *************** *** 2,6 **** use strict; ! use Test::More tests => 20; use File::Temp qw(tempfile); use File::ExtAttr::Tie; --- 2,20 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 20; ! } ! use File::Temp qw(tempfile); use File::ExtAttr::Tie; Index: 11basic.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/11basic.t,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** 11basic.t 27 Apr 2007 06:01:57 -0000 1.5 --- 11basic.t 6 May 2007 09:56:40 -0000 1.6 *************** *** 9,13 **** use strict; ! use Test::More tests => 8; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 9,27 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 8; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); Index: 16replace.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/16replace.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 16replace.t 27 Apr 2007 06:01:57 -0000 1.3 --- 16replace.t 6 May 2007 09:56:40 -0000 1.4 *************** *** 9,13 **** use strict; ! use Test::More tests => 10; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 9,27 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 10; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); Index: 17createreplace.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/17createreplace.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 17createreplace.t 27 Apr 2007 06:01:57 -0000 1.3 --- 17createreplace.t 6 May 2007 09:56:40 -0000 1.4 *************** *** 9,13 **** use strict; ! use Test::More tests => 4; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 9,27 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 4; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); Index: 32nsnonuser.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/32nsnonuser.t,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** 32nsnonuser.t 27 Apr 2007 06:01:57 -0000 1.4 --- 32nsnonuser.t 6 May 2007 09:56:40 -0000 1.5 *************** *** 6,10 **** use strict; ! use Test::More tests => 4; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); --- 6,24 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 4; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr); Index: 18list.t =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/t/18list.t,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 18list.t 27 Apr 2007 06:01:57 -0000 1.2 --- 18list.t 6 May 2007 09:56:40 -0000 1.3 *************** *** 2,6 **** use strict; ! use Test::More tests => 122; use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr listfattr); --- 2,20 ---- use strict; ! use Test::More; ! ! BEGIN { ! my $tlib = $0; ! $tlib =~ s|/[^/]*$|/lib|; ! push(@INC, $tlib); ! } ! use t::Support; ! ! if (t::Support::should_skip()) { ! plan skip_all => 'Tests unsupported on this OS/filesystem'; ! } else { ! plan tests => 122; ! } ! use File::Temp qw(tempfile); use File::ExtAttr qw(setfattr getfattr delfattr listfattr); |
From: Richard D. <ric...@us...> - 2007-05-06 09:56:41
|
Update of /cvsroot/file-extattr/File-ExtAttr/t/lib/t In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv27849/t/lib/t Added Files: Support.pm Log Message: Really fix build on NetBSD 3.1; update test suite to skip tests on NetBSD < 4.0 --- NEW FILE: Support.pm --- package t::Support; use strict; use Config; sub should_skip { # NetBSD 3.1 and earlier don't support xattrs. # See <http://www.netbsd.org/Changes/changes-4.0.html#ufs>. if ($^O eq 'netbsd') { my @t = split(/\./, $Config{osvers}); return 1 if ($t[0] <= 3); } return 0; } 1; |
From: Richard D. <ric...@us...> - 2007-05-06 09:56:41
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv27849 Modified Files: Changes ExtAttr.xs MANIFEST Log Message: Really fix build on NetBSD 3.1; update test suite to skip tests on NetBSD < 4.0 Index: ExtAttr.xs =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/ExtAttr.xs,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** ExtAttr.xs 1 Oct 2006 11:18:54 -0000 1.20 --- ExtAttr.xs 6 May 2007 09:56:40 -0000 1.21 *************** *** 88,95 **** //print warning and return undef }else{ ! char * errstr; ! New(1, errstr, 1000, char); ! warn("getxattr failed: %s",strerror_r(errno,errstr,1000)); ! Safefree(errstr); XSRETURN_UNDEF; } --- 88,92 ---- //print warning and return undef }else{ ! setattr_warn("getxattr", attrname, errno); XSRETURN_UNDEF; } *************** *** 129,136 **** //print warning and return undef }else{ ! char * errstr; ! New(1, errstr, 1000, char); ! warn("fgetxattr failed: %s",strerror_r(errno,errstr,1000)); ! Safefree(errstr); XSRETURN_UNDEF; } --- 126,130 ---- //print warning and return undef }else{ ! setattr_warn("fgetxattr", attrname, errno); XSRETURN_UNDEF; } Index: Changes =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/Changes,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** Changes 6 May 2007 08:35:06 -0000 1.27 --- Changes 6 May 2007 09:56:40 -0000 1.28 *************** *** 6,9 **** --- 6,14 ---- fail the build on OpenBSD; documentation updates. + - (richdawe) Really fix build for NetBSD 3.x. Update the test suite + to skip tests on NetBSD 3.1 or earlier, + since NetBSD 4.0 is the first version to actually have + filesystem support for extended attributes. + 1.03 2007-04-27 Index: MANIFEST =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/MANIFEST,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** MANIFEST 6 Apr 2007 11:35:50 -0000 1.15 --- MANIFEST 6 May 2007 09:56:40 -0000 1.16 *************** *** 21,24 **** --- 21,25 ---- extattr_solaris.h extattr_solaris.c + t/lib/t/Support.pm t/00load.t t/01distribution.t |
From: Richard D. <ric...@us...> - 2007-05-06 09:49:34
|
Update of /cvsroot/file-extattr/File-ExtAttr/t/lib/t In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv24842/t Log Message: Directory /cvsroot/file-extattr/File-ExtAttr/t/lib/t added to the repository |
From: Richard D. <ric...@us...> - 2007-05-06 09:49:34
|
Update of /cvsroot/file-extattr/File-ExtAttr/t/lib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv24831/lib Log Message: Directory /cvsroot/file-extattr/File-ExtAttr/t/lib added to the repository |
From: Richard D. <ric...@us...> - 2007-05-06 08:35:09
|
Update of /cvsroot/file-extattr/File-ExtAttr/lib/File In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30825/lib/File Modified Files: ExtAttr.pm Log Message: Explicitly note that OpenBSD isn't supported Index: ExtAttr.pm =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/lib/File/ExtAttr.pm,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** ExtAttr.pm 27 Apr 2007 06:11:37 -0000 1.21 --- ExtAttr.pm 6 May 2007 08:35:07 -0000 1.22 *************** *** 59,63 **** Extended attributes may not be supported by your operating system. This module is aimed at Linux, Unix or Unix-like operating systems ! (e.g.: Mac OS X, FreeBSD, NetBSD, OpenBSD). Extended attributes may also not be supported by your filesystem --- 59,63 ---- Extended attributes may not be supported by your operating system. This module is aimed at Linux, Unix or Unix-like operating systems ! (e.g.: Mac OS X, FreeBSD, NetBSD, Solaris). Extended attributes may also not be supported by your filesystem *************** *** 67,70 **** --- 67,94 ---- mount -o user_xattr /dev/hda1 /some/path + =head2 Supported OSes + + =over 4 + + =item Linux + + =item Mac OS X + + =item FreeBSD 5.0 and later + + =item NetBSD 3.0 and later + + =item Solaris 10 and later + + =back + + =head2 Unsupported OSes + + =over 4 + + =item OpenBSD + + =back + =head2 Namespaces *************** *** 87,91 **** e.g.: C<os2> on JFS. File::Extattr will be able to access any of these. ! =item FreeBSD, NetBSD, OpenBSD *BSD have two namespaces: C<user> and C<system>. --- 111,115 ---- e.g.: C<os2> on JFS. File::Extattr will be able to access any of these. ! =item FreeBSD, NetBSD *BSD have two namespaces: C<user> and C<system>. *************** *** 347,354 **** =item OpenBSD ! OpenBSD > 3.8 supports extended attributes. L<http://www.openbsd.org/cgi-bin/man.cgi?query=extattr_get_file&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html> =item FreeBSD --- 371,385 ---- =item OpenBSD ! OpenBSD 3.7 supported extended attributes, although support was never ! built into the default GENERIC kernel. Its support was documented ! in the C<extattr> man page: L<http://www.openbsd.org/cgi-bin/man.cgi?query=extattr_get_file&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html> + Support was removed in OpenBSD 3.8 -- see the CVS history + for the include file C<sys/extattr.h>. + + L<http://www.openbsd.org/cgi-bin/cvsweb/src/sys/sys/Attic/extattr.h> + =item FreeBSD |
From: Richard D. <ric...@us...> - 2007-05-06 08:35:09
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30825 Modified Files: Changes Makefile.PL Log Message: Explicitly note that OpenBSD isn't supported Index: Changes =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/Changes,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** Changes 27 Apr 2007 06:45:21 -0000 1.26 --- Changes 6 May 2007 08:35:06 -0000 1.27 *************** *** 1,4 **** --- 1,9 ---- Revision history for Perl extension File::ExtAttr. + 1.04 2007-05-06 + + - (richdawe) OpenBSD does not support extended attributes -- + fail the build on OpenBSD; documentation updates. + 1.03 2007-04-27 Index: Makefile.PL =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/Makefile.PL,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Makefile.PL 19 Aug 2006 18:34:42 -0000 1.6 --- Makefile.PL 6 May 2007 08:35:06 -0000 1.7 *************** *** 27,30 **** --- 27,33 ---- } + # OpenBSD does not support extended attributes. + die 'OpenBSD does not support extended attributes' if ($^O eq 'openbsd'); + # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. |
From: Richard D. <ric...@us...> - 2007-04-27 20:56:04
|
Update of /cvsroot/file-extattr/File-ExtAttr In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv3766 Modified Files: helpers.c Log Message: Clarify #ifdef/#else/#endif conditions Index: helpers.c =================================================================== RCS file: /cvsroot/file-extattr/File-ExtAttr/helpers.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** helpers.c 27 Apr 2007 06:45:21 -0000 1.4 --- helpers.c 27 Apr 2007 20:56:04 -0000 1.5 *************** *** 21,25 **** } ! #else static inline char * --- 21,25 ---- } ! #else /* !__GLIBC__ */ static inline char * *************** *** 32,38 **** } ! #endif ! #else /* __GLIBC__ */ /* --- 32,38 ---- } ! #endif /* __GLIBC__ */ ! #else /* !HAS_STRERROR_R */ /* |