Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

bug in zsh/system : `syserror ENOENT` doesn't work



Hi,

In module, zsh/system, some symbolic names are not recognized, but are 
recognized otherwise by my system (Debian testing)

? zmodload zsh/system                                                                                              
? syserror ENOENT
? echo $?                                                                                           
2                                             

So, I have to refer to them with their number

? syserror E2   
No such file or directory
? syserror 2   
No such file or directory

errnos are defined on my system in /usr/include/asm-generic/errno.h
and that file contains the line :
#include <asm-generic/errno-base.h>

/usr/include/asm-generic/errno-base contains a few (about 30) errnos 
definitions (for example, ENOENT is among them)

At compile time, /usr/include/asm-generic/errno.h is recognized as ERRNO_H
When Src/Modules/errnames1.awk parses it, it outputs errnames only from that file.
If I modify Src/Modules/Makefile by hand 

$(AWK) -f $(sdir)/errnames1.awk /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h >errtmp.c; \

instead of

$(AWK) -f $(sdir)/errnames1.awk /usr/include/asm-generic/errno.h >errtmp.c; \

that works, ENOENT and others are recognized

I don't known awk scripting, but may be it is possible to make 
errnames1.awk recognize include directives and parse also the second 
file ?
Hope that helps

arno

Attachment: signature.asc
Description: Digital signature



Messages sorted by: Reverse Date, Date, Thread, Author