#9 closed defect (fixed)
@eawrite[] does not remove EA
Reported by: | Anton Monroe | Owned by: | Gregg Young |
---|---|---|---|
Priority: | major | Milestone: | Version-3.10 |
Component: | Base | Version: | |
Keywords: | Cc: | akm@… |
Description
Passing a null string to @eawrite is supposed to remove the EA. Instead, it keeps the EA and sets the length to 0.
set ret=%@eawrite[file,.SUBJECT,the subject]
set ret=%@eawrite[file,.SUBJECT,] <--4OS2 thinks the EA is gone
Rexx shows the whole EA--
set ret=%@rexx[call SysGetEA 'file','.SUBJECT','EAval' ; parse var EAVal EAhdr +2 EAlen +2 EAstr ; say ' [REXX] EA == "'c2x(EAhdr)'" "'c2x(reverse(EAlen))'" "'EAstr'"']
I noticed it because I was getting error messages from FC/2 about invalid EAs when copying files from an NDFS drive. I don't know the 4OS2 EAs were the cause, but FC/2 has not complained since I cleaned out all the empty EAs.
I suspect the fix would be just a matter of passing 0 to DosSetPathInfo instead of the length of the empty EA header.
A workaround is to use Rexx to delete the EA--
set ret=%@rexx[call SysPutEA "%filename", %EAname,]
Change History (5)
comment:1 by , 15 years ago
Cc: | added |
---|
comment:2 by , 3 years ago
Owner: | removed |
---|---|
Status: | new → assigned |
comment:3 by , 3 years ago
Owner: | set to |
---|---|
Status: | assigned → accepted |
comment:4 by , 3 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:5 by , 3 years ago
Milestone: | → Version-3.10 |
---|
Rev 38305