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