diff options
Diffstat (limited to 'pc')
-rw-r--r-- | pc/ChangeLog | 50 | ||||
-rw-r--r-- | pc/Makefile | 11 | ||||
-rw-r--r-- | pc/Makefile.tst | 116 | ||||
-rw-r--r-- | pc/config.h | 8 | ||||
-rw-r--r-- | pc/config.sed | 2 | ||||
-rw-r--r-- | pc/gawkmisc.pc | 23 | ||||
-rw-r--r-- | pc/testoutcmp.awk | 19 |
7 files changed, 179 insertions, 50 deletions
diff --git a/pc/ChangeLog b/pc/ChangeLog index 5f287dd8..5076d0ca 100644 --- a/pc/ChangeLog +++ b/pc/ChangeLog @@ -1,3 +1,53 @@ +2012-03-20 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.tst (printfbad3): New test. + +2012-03-14 Eli Zaretskii <eliz@gnu.org> + + * gawkmisc.pc (btowc): New version for DJGPP. + +2012-03-01 Scott Deifik <scottd.mail@sbcglobal.net> + + * Makefile.tst: Sync with mainline version. + +2012-03-01 Eli Zaretskii <eliz@gnu.org> + + * Makefile: Quiet confusing info messages from the linker when + gawk is linked against readline as a shared library. + +2012-02-22 Eli Zaretskii <eliz@gnu.org> + + * Makefile.tst: Update CMP and CP definitions, add "Expect xxxx to + fail with MinGW" messages as needed. + +2012-02-15 Arnold D. Robbins <arnold@skeeve.com> + + * gawkmisc.pc (execvp): Modify signature, return -1 + on error. + +2012-02-11 Eli Zaretskii <eliz@gnu.org> + + Fix dependencies in pc/Makefile. + * Makefile ($(ALLOBJS) $(LIBOBJS) eval_p$O profile_p$O): Add eval_d$O, + debug$O, and command$O. + + Support MinGW build with the readline library. + * Makefile (default): Add a line for the mingw32-readline target. + (mingw32-readline): New target, passes -DHAVE_LIBREADLINE to the + compiler and adds -lreadline to the linker command line. + + * config.sed: Comment out "#undef HAVE_LIBREADLINE", so that it + could be #define'd on the compiler command line. + +2012-02-10 Arnold D. Robbins <arnold@skeeve.com> + + * gawkmisc.pc (execvp): New function based on code from Eli + Zaretskii to make dgawk's restarting the debugger work. + +2012-01-27 Scott Deifik <scottd.mail@sbcglobal.net> + + * Makefile.tst: Sync with mainline version. + 2011-12-12 Scott Deifik <scottd.mail@sbcglobal.net> * Makefile.tst: Sync with mainline version. diff --git a/pc/Makefile b/pc/Makefile index 6156ce96..af3044d3 100644 --- a/pc/Makefile +++ b/pc/Makefile @@ -14,6 +14,8 @@ default: @echo " emxnt ... NT exe [emx/gcc with RSXNT] " @echo " emxbnd .. OS/2 and DOS 32-bit exe [emx/gcc] " @echo " mingw32 . Windows32 exe [Mingw32 GNU C] " + @echo " mingw32-readline . Like mingw32, but with readline " + @echo " [You will need to have GNU readline library installed.] " @echo " ----------------------------------------------------- " @echo " test .... Perform tests (see README_d/README.pc) " @echo " install . Install gawk under $(prefix)/ " @@ -167,6 +169,13 @@ mingw32: LNK=LMINGW32 PLNK=PLMINGW32 DLNK=DLMINGW32 \ LF="-gdwarf-2 -g3" LF2=-lmsvcp60 RSP= +mingw32-readline: + $(MAK) all \ + CC=gcc O=.o CF="-DHAVE_LIBREADLINE -O2 -gdwarf-2 -g3" OBJ=popen.o \ + LNK=LMINGW32 PLNK=PLMINGW32 DLNK=DLMINGW32 \ + LF="-gdwarf-2 -g3" \ + LF2="-lreadline -lmsvcp60 -Wl,--enable-auto-import" RSP= + # Define BIND for BINDless compiles, otherwise $($(BIND)) may break. BIND = EMPTY PBIND = EMPTY @@ -237,7 +246,7 @@ $(DRSPFILE) : $(DGAWKOBJS) # and we have -I. on the compiler command line. unistd.h is # included by awk.h. # 2. custom.h is not mentioned because pc ports don't use it. -$(ALLOBJS) $(LIBOBJS) eval_p$O profile_p$O: \ +$(ALLOBJS) $(LIBOBJS) eval_p$O profile_p$O eval_d$O debug$O command$O: \ awk.h regex.h config.h gettext.h mbsupport.h protos.h dfa.h getopt.h builtin$O: floatmagic.h random.h popen.h diff --git a/pc/Makefile.tst b/pc/Makefile.tst index f14341c8..c10430a7 100644 --- a/pc/Makefile.tst +++ b/pc/Makefile.tst @@ -1,6 +1,6 @@ # Makefile for GNU Awk test suite. # -# Copyright (C) 1988-2011 the Free Software Foundation, Inc. +# Copyright (C) 1988-2012 the Free Software Foundation, Inc. # # This file is part of GAWK, the GNU implementation of the # AWK Programming Language. @@ -86,8 +86,8 @@ PGAWK = ../pgawk.exe #CMP = cmp # See the comment above for why you might want to set CMP to "env LFN=n diff" #CMP = env LFN=n diff -CMP = diff -#CMP = diff -c +#CMP = diff +CMP = diff -u #CMP = gcmp # cmp replacement program for PC where the error messages aren't @@ -96,9 +96,9 @@ TESTOUTCMP = $(AWK) -f ../testoutcmp.awk # Set your "cp," "mv," and "mkdir" commands here. Note: DOS's copy must take # forward slashes. -#CP = cp +CP = cp #CP = : && command -c copy -CP = command.com /c copy +#CP = command.com /c copy MV = cmd.exe /c ren @@ -124,37 +124,43 @@ abs_builddir = . # Get rid of core files when cleaning and generated .ok file CLEANFILES = core core.* fmtspcl.ok -# try to keep these sorted +# try to keep these sorted. each letter starts a new line BASIC_TESTS = \ addcomma anchgsub argarray arrayparm arrayprm2 arrayprm3 \ arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \ arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \ - aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \ - closebad clsflnam compare compare2 concat1 concat2 concat3 \ - concat4 convfmt datanonl defref delargv delarpm2 delarprm delfunc \ - dfastress dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 \ - fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc \ - fordel forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \ - funstack getline getline2 getline3 getline4 \ - getlnbuf getnr2tb getnr2tm \ + aryprm8 arysubnm asgext awkpath \ + back89 backgsub \ + childin clobber closebad clsflnam compare compare2 concat1 concat2 \ + concat3 concat4 convfmt \ + datanonl defref delargv delarpm2 delarprm delfunc dfastress dynlj \ + eofsplit exitval1 exitval2 \ + fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \ + fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \ + fstabplus funsemnl funsmnam funstack \ + getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \ gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \ gsubtst7 gsubtst8 \ - hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \ - longsub longwrds manglprm math membug1 messages minusstr mmap8k \ - mtchi18n nasty nasty2 negexp negrange nested nfldstr nfneg \ - nfset nlfldsep nlinstr nlstrina noeffect nofile nofmtch noloop1 \ - noloop2 nonl noparms nors nulrsend numindex numsubstr octsub ofmt \ - ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf paramdup \ - paramres paramtyp parse1 parsefld parseme pcntplus posix2008sub \ - prdupval prec printf0 printf1 prmarscl prmreuse prt1eval prtoeval \ - rand range1 rebt8b1 redfilnm regeq regrange reindops reparse resplit \ - rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 rstest3 rstest4 \ - rstest5 rswhite scalar sclforin sclifin sortempty splitargv \ - splitarr splitdef splitvar splitwht strcat1 strnum1 strtod subamp \ - subi18n subsepnm subslash substr swaplns synerr1 synerr2 tradanch \ - tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized unterm \ - uparrfs wideidx wideidx2 widesub widesub2 widesub3 widesub4 \ - wjposer1 zero2 zeroe0 zeroflag + hex hsprint \ + inputred intest intprec iobug1 \ + leaddig leadnl litoct longsub longwrds \ + manglprm math membug1 messages minusstr mmap8k mtchi18n \ + nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \ + nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \ + noparms nors nulrsend numindex numsubstr \ + octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \ + paramdup paramres paramtyp parse1 parsefld parseme pcntplus \ + posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ + prt1eval prtoeval \ + rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \ + resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \ + rstest3 rstest4 rstest5 rswhite \ + scalar sclforin sclifin sortempty splitargv splitarr splitdef \ + splitvar splitwht strcat1 strnum1 strtod subamp subi18n \ + subsepnm subslash substr swaplns synerr1 synerr2 tradanch tweakfld \ + uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs \ + wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \ + zero2 zeroe0 zeroflag UNIX_TESTS = \ fflush getlnhd localenl pid pipeio1 pipeio2 poundbang rtlen rtlen01 \ @@ -162,15 +168,16 @@ UNIX_TESTS = \ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \ - backw badargs beginfile1 beginfile2 \ - binmode1 clos1way delsub devfd devfd1 \ - devfd2 dumpvars exit fieldwdth fpat1 fpat2 fpat3 \ - fpatnull fsfwfs funlen \ + backw badargs beginfile1 beginfile2 binmode1 \ + clos1way delsub devfd devfd1 devfd2 dumpvars exit \ + fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \ fwtest fwtest2 fwtest3 \ gensub gensub2 getlndir gnuops2 gnuops3 gnureops \ - icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall lint \ - lintold lintwarn manyfiles match1 match2 match3 mbstr1 nastyparm \ - next nondec nondec2 patsplit posix printfbad1 printfbad2 procinfs \ + icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall \ + lint lintold lintwarn \ + manyfiles match1 match2 match3 mbstr1 \ + nastyparm next nondec nondec2 \ + patsplit posix printfbad1 printfbad2 printfbad3 procinfs \ profile1 profile2 profile3 pty1 \ rebuf regx8bit reint reint2 rsstart1 \ rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \ @@ -448,6 +455,7 @@ pipeio1:: pipeio2:: @echo $@ + @echo Expect pipeio2 to fail with MinGW @$(AWK) -v SRCDIR=$(srcdir) -f $(srcdir)/pipeio2.awk >_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -671,6 +679,7 @@ devfd1:: # The program text is the '1' which will print each record. How compact can you get? devfd2:: @echo $@ + @echo Expect devfd2 to fail in MinGW @$(AWK) 1 /dev/fd/4 /dev/fd/5 4< $(srcdir)/devfd.in1 5< $(srcdir)/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -698,7 +707,7 @@ localenl:: mbprintf1:: @echo $@ - @echo Expect mbprintf1 to fail with DJGPP. + @echo Expect mbprintf1 to fail with DJGPP and MinGW. @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -717,7 +726,7 @@ mbprintf3:: mbfw1:: @echo $@ - @echo Expect mbfw1 to fail with DJGPP. + @echo Expect mbfw1 to fail with DJGPP and MinGW. @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -740,13 +749,13 @@ printfbad2: printfbad2.ok beginfile1:: @echo $@ - @echo Expect beginfile1 to fail with DJGPP + @echo Expect beginfile1 to fail with DJGPP and MinGW @AWKPATH=$(srcdir) $(AWK) -f $@.awk $(srcdir)/$@.awk . ./no/such/file Makefile >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ beginfile2: @echo $@ - @-( cd $(srcdir) && AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1 + @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1 # @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @-$(TESTOUTCMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -783,12 +792,19 @@ posix2008sub: next: @echo $@ @-AWK="$(AWKPROG)" $(srcdir)/$@.sh > _$@ 2>&1 - @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + @-LC_ALL=C $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ exit: @echo $@ + @echo Expect exit to fail with MinGW @-AWK="$(AWKPROG)" $(srcdir)/$@.sh > _$@ 2>&1 @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rri1:: + @echo $@ + @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ + AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ Gt-dummy: # file Maketests, generated from Makefile.am by the Gentests program addcomma: @@ -998,6 +1014,7 @@ eofsplit: exitval2: @echo exitval2 + @echo Expect exitval2 to fail with MinGW @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -1163,6 +1180,7 @@ hex: hsprint: @echo hsprint + @echo Expect hsprint to fail with MinGW due to 3 digits in %e output @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -1499,11 +1517,13 @@ rstest3: rstest4: @echo rstest4 + @echo Expect rstest4 to fail with MinGW @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ rstest5: @echo rstest5 + @echo Expect rstest5 to fail with MinGW @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -1772,7 +1792,7 @@ gensub2: getlndir: @echo getlndir - @echo Expect getlndir to fail with DJGPP. + @echo Expect getlndir to fail with DJGPP and MinGW. @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -1868,6 +1888,7 @@ patsplit: posix: @echo posix + @echo Expect posix to fail with MinGW due to 3 digits in e+NNN exponent @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -1876,6 +1897,11 @@ printfbad1: @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +printfbad3: + @echo printfbad3 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + procinfs: @echo procinfs @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -1883,7 +1909,7 @@ procinfs: pty1: @echo pty1 - @echo Expect pty1 to fail with DJGPP. + @echo Expect pty1 to fail with DJGPP and MinGW. @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -1939,6 +1965,7 @@ double1: double2: @echo double2 + @echo Expect double2 to fail with MinGW due to 3 digits in e+NNN exponents @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -1959,6 +1986,7 @@ asorti: fmttest: @echo fmttest + @echo Expect fmttest to fail with MinGW due to 3 digits in e+NNN exponents @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ diff --git a/pc/config.h b/pc/config.h index a9dac512..8e6bb265 100644 --- a/pc/config.h +++ b/pc/config.h @@ -123,7 +123,7 @@ #define HAVE_LIBM 1 /* Define to 1 if you have a fully functional readline library. */ -#undef HAVE_LIBREADLINE +/* #undef HAVE_LIBREADLINE */ /* Define if you have the libsigsegv library. */ #undef HAVE_LIBSIGSEGV @@ -425,7 +425,7 @@ #define PACKAGE_NAME "GNU Awk" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU Awk 4.0.0f" +#define PACKAGE_STRING "GNU Awk 4.0.0l" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gawk" @@ -434,7 +434,7 @@ #define PACKAGE_URL "http://www.gnu.org/software/gawk/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.0.0f" +#define PACKAGE_VERSION "4.0.0l" /* Define to 1 if *printf supports %F format */ #undef PRINTF_HAS_F_FORMAT @@ -496,7 +496,7 @@ /* Version number of package */ -#define VERSION "4.0.0f" +#define VERSION "4.0.0l" /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS diff --git a/pc/config.sed b/pc/config.sed index 7fe0f922..96b2c2d7 100644 --- a/pc/config.sed +++ b/pc/config.sed @@ -73,6 +73,8 @@ s/^#undef HAVE_FMOD *$/#define HAVE_FMOD 1/ #define HAVE_ISWUPPER 1\ #endif s/^#undef HAVE_LIBM *$/#define HAVE_LIBM 1/ +/^#undef HAVE_LIBREADLINE *$/c\ +/* #undef HAVE_LIBREADLINE */ s/^#undef HAVE_LIMITS_H *$/#define HAVE_LIMITS_H 1/ /^#undef HAVE_LOCALE_H *$/c\ #ifdef __MINGW32__\ diff --git a/pc/gawkmisc.pc b/pc/gawkmisc.pc index 64b42396..b2a67a50 100644 --- a/pc/gawkmisc.pc +++ b/pc/gawkmisc.pc @@ -3,7 +3,7 @@ */ /* - * Copyright (C) 1986, 1988, 1989, 1991 - 2003 the Free Software Foundation, Inc. + * Copyright (C) 1986, 1988, 1989, 1991 - 2003, 2012 the Free Software Foundation, Inc. * * This file is part of GAWK, the GNU implementation of the * AWK Progamming Language. @@ -569,6 +569,19 @@ wctob (wint_t wc) return EOF; } +/* + * On MS-Windows with MinGW, execvp causes the shell and the re-exec'ed + * dgawk to compete for the keyboard input. + * + * This will need work if we ever need a real version of execvp. + */ +int execvp(const char *file, const char *const *argv) +{ + if (_spawnvp(_P_WAIT, file, (const char * const *)argv) != -1) + exit(EXIT_SUCCESS); + + return -1; +} #endif /* __MINGW32__ */ #ifdef __DJGPP__ @@ -582,4 +595,12 @@ unsetenv (const char *name) return putenv (name); } +/* This is needed to defeat too-clever GCC warnings in dfa.c about + comparison being always false due to limited range of data type. */ +wint_t +btowc (int c) +{ + return c; +} + #endif /* __DJGPP__ */ diff --git a/pc/testoutcmp.awk b/pc/testoutcmp.awk index ff190155..33dcaa3f 100644 --- a/pc/testoutcmp.awk +++ b/pc/testoutcmp.awk @@ -1,5 +1,24 @@ # cmp replacement program for PC where the error messages aren't # exactly the same. should run even on old awk +# +# Copyright (C) 2011 the Free Software Foundation, Inc. +# +# This file is part of GAWK, the GNU implementation of the +# AWK Programming Language. +# +# GAWK is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# GAWK is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA { if (FNR == NR) |