Apologies for not including this at first. The proper
fix is not to delete the { }, although this originally
worked in my case. The { } should actually be escaped
as follows:
if (match($0, "\{.*\}"))
This works regardless of whether gawk is operating in
POSIX mode.
The reason for this is that gawk by default decides
based on context whether { } are metacharacters. In
this context it determined that they were not, and so
the { } matched literal braces. In POSIX mode, since
{ } are metacharacters sometimes, they are always
metacharacters; thus to match literal braces they must
be escaped.
--- Shawn Smout <[EMAIL PROTECTED]> wrote:
> I have discovered a bug in
> alsa-driver-0.9.7/utils/convert_isapnp_ids line 84.
> Ordinarilly in GNU gawk, the line
>
> if (match($0, "{.*}"))
>
> works fine. However, if the environment
> POSIXLY_CORRECT is set (it is on my system, since I
> like things to be standards-compliant, although it
> probably is not on most Linux systems), gawk has an
> error on this line and compiling the drivers fails.
> It gives this error message when making
> alsa-drivers:
>
> awk:
>
/usr/src/alsa-driver-0.9.7/utils/convert_isapnp_ids:89:
> (FILENAME=- FNR=27056) fatal: Invalid preceding
> regular expression: /{.*}/
>
> I don't know much about awk; I have used some
> regexes
> though, and since I hadn't yet figured out why I was
> getting this error message, I tried simply removing
> the {}. The driver compiled correctly and works
> correctly.
>
> This problem is not, as far as I can tell, listed in
> gawk's documentation as something that changes when
> gawk runs in POSIX compatibilty mode. However, I
> tried compiling the unmodified source without
> POSIXLY_CORRECT set, which worked. I then
> immediately
> did 'make clean ; setenv POSIXLY_CORRECT ; make'
> (csh)
> and the problem occurred again, so I am quite
> certain
> the bug is entirely because of POSIXLY_CORRECT being
> set.
>
> On a side note, since gawk doesn't even document
> this
> discrepancy between POSIX and normal modes (though
> it
> does have a long list of differences from POSIX,
> which
> doesn't include this one), I also intend to file a
> gawk bug, so that we can actually know when gawk is
> going to break instead of spending a half hour
> trying
> to get drivers to compile when the problem is just a
> single environment variable.
>
> __________________________________
> Do you Yahoo!?
> The New Yahoo! Shopping - with improved product
> search
> http://shopping.yahoo.com
>
>
>
-------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Alsa-devel mailing list
> [EMAIL PROTECTED]
>
https://lists.sourceforge.net/lists/listinfo/alsa-devel
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel