diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2010-11-12 12:23:33 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2010-11-12 12:23:33 +0200 |
commit | 40b3741f63c19e38077d57f4ce4737916ec5073e (patch) | |
tree | 89e086fabdfc738b379901d86733e6c260c22f35 | |
parent | 00ef0423acd97cb964a2bae54c93a03a8ab50e5e (diff) | |
download | egawk-40b3741f63c19e38077d57f4ce4737916ec5073e.tar.gz egawk-40b3741f63c19e38077d57f4ce4737916ec5073e.tar.bz2 egawk-40b3741f63c19e38077d57f4ce4737916ec5073e.zip |
Bring in development gawk changes.
-rw-r--r-- | ChangeLog | 265 | ||||
-rw-r--r-- | FUTURES | 38 | ||||
-rw-r--r-- | Makefile.in | 19 | ||||
-rw-r--r-- | NEWS | 44 | ||||
-rw-r--r-- | README | 8 | ||||
-rw-r--r-- | aclocal.m4 | 53 | ||||
-rw-r--r-- | awk.h | 42 | ||||
-rw-r--r-- | awkgram.c | 2078 | ||||
-rw-r--r-- | awkgram.y | 120 | ||||
-rw-r--r-- | awklib/Makefile.in | 19 | ||||
-rw-r--r-- | awklib/eg/lib/ctime.awk | 2 | ||||
-rw-r--r-- | awklib/eg/lib/groupawk.in | 3 | ||||
-rw-r--r-- | awklib/eg/lib/passwdawk.in | 3 | ||||
-rw-r--r-- | awklib/eg/prog/wc.awk | 4 | ||||
-rw-r--r-- | builtin.c | 10 | ||||
-rw-r--r-- | configh.in | 6 | ||||
-rwxr-xr-x | configure | 46 | ||||
-rw-r--r-- | configure.ac | 14 | ||||
-rw-r--r-- | dfa.c | 2 | ||||
-rw-r--r-- | doc/ChangeLog | 82 | ||||
-rw-r--r-- | doc/Makefile.in | 19 | ||||
-rw-r--r-- | doc/awkcard.in | 298 | ||||
-rw-r--r-- | doc/gawk.1 | 547 | ||||
-rw-r--r-- | doc/gawk.info | 3047 | ||||
-rw-r--r-- | doc/gawk.texi | 1678 | ||||
-rw-r--r-- | doc/gawkinet.info | 218 | ||||
-rw-r--r-- | doc/gawkinet.texi | 55 | ||||
-rw-r--r-- | doc/lflashlight.eps | 2 | ||||
-rw-r--r-- | doc/rflashlight.eps | 2 | ||||
-rw-r--r-- | eval.c | 153 | ||||
-rw-r--r-- | ext.c | 3 | ||||
-rwxr-xr-x[-rw-r--r--] | field.c | 569 | ||||
-rw-r--r-- | io.c | 556 | ||||
-rw-r--r-- | main.c | 188 | ||||
-rw-r--r-- | po/ChangeLog | 13 | ||||
-rw-r--r-- | po/ast.gmo | bin | 45519 -> 43395 bytes | |||
-rw-r--r-- | po/ast.po | 870 | ||||
-rw-r--r-- | po/ca.gmo | bin | 32332 -> 31098 bytes | |||
-rw-r--r-- | po/ca.po | 939 | ||||
-rw-r--r-- | po/da.gmo | bin | 30845 -> 29608 bytes | |||
-rw-r--r-- | po/da.po | 966 | ||||
-rw-r--r-- | po/de.gmo | bin | 30921 -> 29064 bytes | |||
-rw-r--r-- | po/de.po | 959 | ||||
-rw-r--r-- | po/es.gmo | bin | 46454 -> 42063 bytes | |||
-rw-r--r-- | po/es.po | 974 | ||||
-rw-r--r-- | po/fr.gmo | bin | 48757 -> 40055 bytes | |||
-rw-r--r-- | po/fr.po | 1835 | ||||
-rw-r--r-- | po/ga.gmo | bin | 41518 -> 39360 bytes | |||
-rw-r--r-- | po/ga.po | 884 | ||||
-rw-r--r-- | po/gawk.pot | 792 | ||||
-rw-r--r-- | po/he.gmo | bin | 30827 -> 29589 bytes | |||
-rw-r--r-- | po/he.po | 951 | ||||
-rw-r--r-- | po/id.gmo | bin | 44341 -> 42200 bytes | |||
-rw-r--r-- | po/id.po | 866 | ||||
-rw-r--r-- | po/it.gmo | bin | 44855 -> 40952 bytes | |||
-rw-r--r-- | po/it.po | 984 | ||||
-rw-r--r-- | po/ja.gmo | bin | 39443 -> 37957 bytes | |||
-rw-r--r-- | po/ja.po | 885 | ||||
-rw-r--r-- | po/nl.gmo | bin | 44795 -> 39461 bytes | |||
-rw-r--r-- | po/nl.po | 1007 | ||||
-rw-r--r-- | po/pl.gmo | bin | 46398 -> 40684 bytes | |||
-rw-r--r-- | po/pl.po | 1601 | ||||
-rw-r--r-- | po/pt_BR.gmo | bin | 36097 -> 34920 bytes | |||
-rw-r--r-- | po/pt_BR.po | 901 | ||||
-rw-r--r-- | po/ro.gmo | bin | 31840 -> 30466 bytes | |||
-rw-r--r-- | po/ro.po | 920 | ||||
-rw-r--r-- | po/rw.gmo | bin | 474 -> 474 bytes | |||
-rw-r--r-- | po/rw.po | 845 | ||||
-rw-r--r-- | po/sv.gmo | bin | 41211 -> 34436 bytes | |||
-rw-r--r-- | po/sv.po | 1050 | ||||
-rw-r--r-- | po/tr.gmo | bin | 41673 -> 40036 bytes | |||
-rw-r--r-- | po/tr.po | 884 | ||||
-rw-r--r-- | po/vi.gmo | bin | 53277 -> 48377 bytes | |||
-rw-r--r-- | po/vi.po | 1188 | ||||
-rw-r--r-- | po/zh_CN.gmo | bin | 41669 -> 37299 bytes | |||
-rw-r--r-- | po/zh_CN.po | 950 | ||||
-rw-r--r-- | profile.c | 36 | ||||
-rw-r--r-- | re.c | 95 | ||||
-rw-r--r-- | regcomp.c | 2 | ||||
-rw-r--r-- | regex.h | 20 | ||||
-rw-r--r-- | test/ChangeLog | 32 | ||||
-rw-r--r-- | test/Makefile.am | 78 | ||||
-rw-r--r-- | test/Makefile.in | 121 | ||||
-rw-r--r-- | test/Maketests | 24 | ||||
-rw-r--r-- | test/badargs.ok | 38 | ||||
-rw-r--r-- | test/fnasgnm.awk | 2 | ||||
-rw-r--r-- | test/funstack.awk | 110 | ||||
-rw-r--r-- | test/gsubtst4.ok | 16 | ||||
-rw-r--r-- | test/pid.awk | 11 | ||||
-rw-r--r-- | version.c | 2 |
90 files changed, 19506 insertions, 12538 deletions
@@ -1,3 +1,268 @@ +Sun Sep 5 12:44:24 2010 Arnold D. Robbins <arnold@skeeve.com> + + * re.c (check_bracket_exp): Add `warned' flag to table and adjust + code to only warn once about each candidate. + (make_regexp): Always call check_bracket_exp, per discussion + on comp.lang.awk. + +Fri Aug 6 16:29:55 2010 Arnold D. Robbins <arnold@skeeve.com> + + * re.c (check_bracket_exp): Improved the code, again. + +Thu Aug 5 18:41:27 2010 Arnold D. Robbins <arnold@skeeve.com> + + * re.c (check_bracket_exp): Improved the code. + +Tue Aug 3 11:35:11 2010 Arnold D. Robbins <arnold@skeeve.com> + + * re.c (check_bracket_exp): New function. + (make_regexp): Call it if do_lint. + +Thu Jul 1 19:22:33 2010 Arnold D. Robbins <arnold@skeeve.com> + + Add support for /inet4/... and /inet6/... files. + + * io.c (socketopen): New parameter `family' for address family. + (inetfile): New function. Changed everywhere to use it and + the values it sets. + +Fri Jun 25 01:01:39 2010 Arnold D. Robbins <arnold@skeeve.com> + + * main.c (main): Added short option letters for all long options + that didn't have them so that they can be used in #!. This + reinstates -r, FWIW. + (usage): Revised message to list standard options first, then + options for extensions, sorted by short letter. + +Mon Jun 21 23:05:20 2010 Arnold D. Robbins <arnold@skeeve.com> + + New FPAT variable and patsplit built-in function. + + * awk.h (NODETYPE): Add Node_FPAT. + (FPAT_node, do_patsplit, set_FPAT): Declare. + (set_FPAT, update_PROCINFO_str, update_PROCINFO_num, + current_field_sep): New functions. + * awkgram.y (tokentab): Add patsplit. + (snode): Add code for do_patsplit to default third arg to FPAT. + (isnoeffect, isassignable): Add cases for Node_FPAT. + * eval.c (nodetypes): Add FPAT. + (r_tree_eval, r_get_lhs): Add cases for Node_FPAT. + * field.c (fpat_parse_field, update_PROCINFO_num, set_FPAT, + do_patsplit): New functions. + (update_PROCINFO): Renamed to update_PROCINFO_str. + (FPAT_re_yes_case, FPAT_re_no_case, FPAT_regexp): New variables. + (using_FIELDWIDTHS): Replaced with current_field_sep and all calls. + * io.c (set_RS): Call current_field_sep insead of using_fieldwidths. + * main.c (main): Use update_PROCINFO_str and update_PROCINFO_num + instead of manually updating the array. + (varinit): Add FPAT. + * profile.c (tree_eval, pp_lhs, is_scalar, pp_var): Add case for + Node_FPAT. + +Fri Jun 12 13:25:32 2009 Arnold D. Robbins <arnold@skeeve.com> + + Make command line arguments that are directories a warning. + They remain a fatal error if --posix or --traditional. + + * configure.ac: Remove the --disable-directories-fatal option. + * io.c (nextfile): Rationalize the code that handles directories, + including setting ERRNO correctly. + +Thu Feb 26 20:57:52 2009 Arnold D. Robbins <arnold@skeeve.com> + + Changes from August 2008 through February 2009 to add + BEGINFILE and ENDFILE, originally against 3.1.6, merged into + development version. + + * awk.h (in_beginfile_rule, in_endfile_rule): Add declarations. + * awkgram.y (beginfile_block, endfile_block): Add declarations. + (beginfile_or_endfile_rule, parsing_endfile_rule): New variables. + (LEX_BEGINFILE, LEX_ENDFILE): New tokens, new rules for those tokens. + (tokentab): Add new entries for BEGINFILE, ENDFILE. + (LEX_NEXTFILE): Allow nextfile in BEGINFILE rule. + (LEX_GETLINE): Allow only `getline var < file' inside BEGINFILE or + ENDFILE. + * eval.c (interpret): Check in_beginfile_rule and in_endfile_rule for + errors for next and nextfile. + (update_ERRNO_saved): When errno == 0, set to ERRNO to + null string. + (interpret): Allow nextfile in BEGINFILE rule. + (update_ERRNO_saved): Check errcode paramater, not global errno. + * io.c (beginfile_block, endfile_block, in_beginfile_rule, + in_endfile_rule): New variables. + (do_input): Set them. Update ERRNO only if not do_traditional. + Propogate error code down to fatal message. + (run_beginfile_rule, run_endfile_rule): New functions. + (iop_alloc): Use it instead of inline code. Add fourth argument + indicating that the open hooks should run. Adjust calls. Point is + to not call open hooks twice inside `nextfile'. + (do_nextfile): Check it and also in_beginfile_rule and only longjump + when both filebuf valid and not in a BEGINFILE rule. + (nextfile): Call run_beginfile_rule and run_endfile_rule as + appropriate. Reorder the logic to set ERRNO and allow BEGINFILE + to call nextfile to skip a bad data file. Adjust calls to + iop_open and find_open_hook. + (nextfile): Call iop_alloc if there's a BEGINFILE block in case + the hooks changed. + (find_open_hook): New function. + (get_a_record): On read error, just set *errcode and return. Let + higher level logic decide if it's fatal. + (inrec): Have error be fatal if traditional or if there isn't + an ENDFILE rule. + * profile.c (dump_prog): Add code for BEGINFILE / ENDFILE. + * awk.h (dump_prog): Adjust declaration. + * main.c (main): Adjust call to `dump_prog'. Check beginfile_block and + endfile_block also to be not NULL in order to call do_input. Thanks to + Steffen Schuler for pointing out the bug. + +Thu Feb 26 07:54:51 2009 Arnold D. Robbins <arnold@skeeve.com> + + Per advice from BWK and my own feelings, nuke additions from 2001 + of seek and tell functions. They were never documented anyway. + + * awk.h (do_seek, do_tell): Remove declarations. + (IOBUF): Remove save_start and rec_size members. + * awkgram.y (tokentab): Remove "seek" and "tell" entries. + * io.c (do_getline): Remove code setting save_start and rec_size. + (iop_alloc): Remove code initializing save_start and rec_size. + (do_seek, do_tell): Removed. + * configure.ac: Remove --enable-seektell option. + +Mon Feb 16 21:54:13 2009 Arnold D. Robbins <arnold@skeeve.com> + + * awkgram.y (tokentab): Enable switch / case by default. + * configure.ac: Remove test for --enable-switch. + +Thu Feb 12 22:06:17 2009 Arnold D. Robbins <arnold@skeeve.com> + + * main.c (optab): --gen-po becomes --gen-pot. -r goes away since it's + now on by default. + (usage): Similar changes. + * regex.h [RE_SYNTAX_GNU_AWK, RE_SYNTAX_POSIX_AWK]: Adjust to support + interval expressions. + [RE_DEBUG]: Nuke: it is no longer used. + * re.c (resetup): Adjust comment for do_intervals. + (reflags2str): Remove RE_DEBUG. + +Sat Jan 17 20:41:54 2009 Arnold D. Robbins <arnold@skeeve.com> + + * awk.h (WSTRCUR): Always define, no real need for ifdef. + * eval.c (flags2str): Similar. + * field.c (rebuild_record): Similar. + +Sat Jan 17 19:59:39 2009 Arnold D. Robbins <arnold@skeeve.com> + + Add indirect function calls. They require a special + syntax, which is an `@' in front of a function call. + + * awk.h (NODETYPE): New Node_indirect_function_call value. + (ASSIGNED): New flag value. + * eval.c (nodetype2str): Add new node type. + (flags2str): Add ASSIGNED. + (func_call): Test the node type to determine + what kind of call. Cache the function body if a real function + is called indirectly. Also get scoping right if called from a function. + LOTS of work here to get this code right! + (op_assign): Add ASSIGNED to flags. + * awkgram.y (function_call, direct_function_call): New productions for + creating indirect function calls. Only call func_use for direct call. + (yylex): Add case for '@'. Only return it if not posix or traditional. + * profile.c (tree_eval): Add case for Node_indirect_func_call. + (pp_func_call): Check type and print '@' for indirect call. + +Tue Dec 30 22:25:04 2008 Assaf Gordon <gordon@cshl.edu> + + * awk.h (do_sandbox): New variable declaration. + * main.c (do_sandbox): Variable definition. + (opttab): Add new option --sandbox. + (usage): Add to usage message. + * builtin.c (do_system): Disallow if sandboxed. + * io.c (redirect): Disallow redirections if sandboxed. + +Tue Dec 30 22:22:04 2008 Arnold D. Robbins <arnold@skeeve.com> + + * builtin.c (usage): Change --binary to --characters-as-bytes, + per Karl Berry. + +Thu Dec 18 05:29:46 2008 Steffen Schuler <schuler.steffen@googlemail.com> + + * field.c (*_parse_field): Add `sep_arr' argument and fill it. + * field.c (do_split): Add handling of fourth argument of awk + builtin `split'. + * field.c (get_field): Extend parse_field by default argument. + * awkgram.y (tokentab): Extend `split' entry with fourth argument. + +Wed Dec 17 09:54:00 2008 Arnold D. Robbins <arnold@skeeve.com> + + * main.c (do_binary): New variable for new option -b which + makes gawk not mess with multibyte strings. + (opttab): Add option entry for -b / --binary. + (main): If do_binary, set gawk_mb_cur_max to 1. + +Sat Oct 27 22:43:50 2007 Arnold D. Robbins <arnold@skeeve.com> + + * re.c (resetup): Add RE_INVALID_INTERVAL_ORD to syntax bits if + doing interval expressions. + +Thu Oct 25 23:11:10 2007 Arnold D. Robbins <arnold@skeeve.com> + + * awk.h (devopen): Add `isdir' pointer argument. + * io.c (devopen): Ditto. Adjust logic that checks for directory. + Adjust all calls. + * main.c (main): Adjust call to devopen. + +Sun Oct 3 23:18:44 2004 Arnold D. Robbins <arnold@skeeve.com> + + * dfa.c (lex): Enabled \s and \S escape sequences. + * regcomp.c (peek_token): Ditto. + +Tue Aug 3 13:29:53 2004 Arnold D. Robbins <arnold@skeeve.com> + + * builtin.c (sub_common): Make POSIX 2001 behavior the + default for `sub' and `gsub'. + +Wed Aug 21 13:39:08 2002 Dean Wakerly <dean@wakerly.com> + + * main.c (main): Add short option letter 'r' for --re-interval. + Mainly for use in #! scripts. + +Wed Dec 26 22:03:48 2001 Arnold D. Robbins <arnold@skeeve.com> + + Nuke /dev/pid etc. special files! + + * awk.h (IOP_IS_INTERNAL, IOP_NO_FREE): Removed. Other defines + renumbered. + * io.c (iop_open, spec_setup, specfdopen, pidopen, useropen): Removed. + (do_input, redirect): Change uses of iop_open() to devopen() + + iop_alloc(). + (iop_close, get_a_record): Remove special handling for IOP_INTERNAL, + IOP_NO_FREE. + (devopen): Remove comment relating to iop_open. + Add fstat check for valid fd for /dev/fd/N. + +Sun Nov 4 10:27:58 2001 Arnold D. Robbins <arnold@skeeve.com> + + * awk.h, builtin.c, awkgram.y: Renamed mark/reset to tell/seek. + * acconfig.h: Add `#undef SEEK_TELL'. + * configure.in: Add `--enable-seektell' configure-time option. + * io.c (do_seek, do_tell): renamed from do_reset, do_mark. + +Thu Aug 16 12:21:28 2001 Arnold D. Robbins <arnold@skeeve.com> + + New feature, undocumented for now, use #define MARK_RESET to + to turn it on. New function val = mark("/some/file") to + save start position of current record. Use + reset("/some/file", pos) to go back to it. ONLY works + with getline. + + * awk.h (IOBUF): New members save_start and rec_size. + (do_mark, do_reset): Add declarations. + * awkgram.y (tokentab): Add entries for mark and reset. + * io.c (specsetup): Initialize save_start and rec_size. + (iop_alloc): Ditto. + (do_getline): Update them as appropriate. + (do_mark, do_reset): New functions. + Thu May 6 20:55:14 2010 Arnold D. Robbins <arnold@skeeve.com> * Release 3.1.8: Release tar file made. @@ -19,32 +19,13 @@ enhancements, with only minor plans for significant new features. (OK, so 3.1 had a bad case of feature-itis. I think I'm mostly over it now, though. :-) -In 3.1 -====== - DONE: A PROCINFO array to replace /dev/pid, /dev/user, et al. - - DONE: Provide awk profiling. - - DONE: Integrate GNU NLS support. - - DONE: Bring out hooks for NLS support into gawk itself. - - DONE: Do a reference card. - - DONE: Switch to full ANSI C and use ansi2kr. - - Additional manual features: - DONE: Document NLS support - - DONE: Add %'d for putting in commas in formatting. - - DONE: Multibyte support for index, length, substr, match. - For 3.1.8 + bytecode ==================== Performance fixes / improvements - Change @sourcefile to @include per awk.info poll and document it + DONE: Change @sourcefile to @include per awk.info poll + + Document @include Update copyrights @@ -52,13 +33,18 @@ For 3.1.8 + bytecode For 4.0 ======= - Add a single letter option for all long options & document them. + DONE: Add a single letter option for all long options & document them. + + DONE: Add an FPAT variable and patsplit function where the regex + describes the fields, not the separators. Remove support for all unsupported systems. Remove all old README* files. - Enable \s, \S in regexes (regcomp.c and dfa.c) and document them. + ? Remove --copyleft, leaving just --copyright. + + DONE: Enable \s, \S in regexes (regcomp.c and dfa.c) and document them. Integrate byte code changes and dgawk Indirect functions @@ -71,9 +57,9 @@ For 4.0 Consider removing use of and/or need for the protos.h file. - Make POSIX 2001 behavior the default for sub/gsub. + DONE: Make POSIX 2001 behavior the default for sub/gsub. - Add IPv6 support. + DONE: Add IPv6 support. Gnulib? diff --git a/Makefile.in b/Makefile.in index f946ee1b..3a75f199 100644 --- a/Makefile.in +++ b/Makefile.in @@ -66,15 +66,16 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intmax_t.m4 \ - $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isc-posix.m4 \ - $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/socket.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \ - $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes_h.m4 \ + $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -5,6 +5,50 @@ are permitted in any medium without royalty provided the copyright notice and this notice are preserved. +Changes from xxxx to 4.0.0 +-------------------------- + +1. The special files /dev/pid, /dev/ppid, /dev/pgrpid and /dev/user are + now completely gone. Use PROCINFO instead. + +2. The POSIX 2001 behavior for `sub' and `gsub' are now the default. + +3. The \s and \S escape sequences are now recognized in regular expressions. + +4. The split function accepts an optional fourth argument which is an array + to hold the values of the separators. + +5. New -b / --characters-as-bytes option that means "hands off my data"; gawk + won't try to treat input as a multibyte string. + +6. New --sandbox option; see the doc. + +7. Indirect function calls are now available. + +8. Interval expressions are now part of default regular expressions for + GNU Awk syntax. + +9. --gen-po is now correctly named --gen-pot. + +10. switch / case is now enabled by default. There's no longer a need + for a configure-time option. + +11. Gawk now supports BEGINFILE and ENDFILE. See the doc for details. + +12. Directories named on the command line now produce a warning, not + a fatal error, unless --posix or --traditional. + +13. The new FPAT variable allows you to specify a regexp that matches + the fields, instead of matching the field separator. The new patsplit() + function gives the same capability for splitting. + +14. All long options now have short options, for use in `#!' scripts. + +15. Support for IPv6 added via /inet6/... special file. /inet4/... forces + IPv4 and /inet chooses the system default (probably IPv4). + +16. Added a warning for /[:space:]/ that should be /[[:space:]]/. + Changes from 3.1.7 to 3.1.8 --------------------------- 1. The zero flag no longer applies to %c and %s; apparently the standards @@ -97,13 +97,7 @@ OS/2: andreas.buening@nexgo.de Tandem: - Stephen Davies - scldad@sdc.com.au - (Original Tandem port) - - Ralf Wildenhues - <Ralf.Wildenhues@gmx.de> - POSIX-compliant Tandem systems + Unsupported. VMS: Pat Rankin @@ -19,58 +19,6 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) -# intlmacosx.m4 serial 1 (gettext-0.17) -dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Checks for special options needed on MacOS X. -dnl Defines INTL_MACOSX_LIBS. -AC_DEFUN([gt_INTL_MACOSX], -[ - dnl Check for API introduced in MacOS X 10.2. - AC_CACHE_CHECK([for CFPreferencesCopyAppValue], - gt_cv_func_CFPreferencesCopyAppValue, - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>], - [CFPreferencesCopyAppValue(NULL, NULL)], - [gt_cv_func_CFPreferencesCopyAppValue=yes], - [gt_cv_func_CFPreferencesCopyAppValue=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, - [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) - fi - dnl Check for API introduced in MacOS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();], - [gt_cv_func_CFLocaleCopyCurrent=yes], - [gt_cv_func_CFLocaleCopyCurrent=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, - [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - AC_SUBST([INTL_MACOSX_LIBS]) -]) - # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation @@ -1031,6 +979,7 @@ m4_include([m4/arch.m4]) m4_include([m4/codeset.m4]) m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) +m4_include([m4/intlmacosx.m4]) m4_include([m4/intmax_t.m4]) m4_include([m4/inttypes_h.m4]) m4_include([m4/isc-posix.m4]) @@ -424,6 +424,7 @@ typedef enum nodevals { Node_func, /* lnode is param. list, rnode is body */ Node_func_call, /* lnode is name, rnode is argument list */ + Node_indirect_func_call, /* lnode is name, rnode is argument list */ Node_cond_exp, /* lnode is conditonal, rnode is if_branches */ Node_regex, /* a regexp, text, compiled, flags, etc */ @@ -436,6 +437,7 @@ typedef enum nodevals { Node_CONVFMT, Node_FIELDWIDTHS, Node_FNR, + Node_FPAT, Node_FS, Node_IGNORECASE, Node_LINT, @@ -531,9 +533,8 @@ typedef struct exp_node { * function name; see awkgram.y */ # define FIELD 1024 /* this is a field */ # define INTLSTR 2048 /* use localized version */ -#ifdef MBS_SUPPORT # define WSTRCUR 4096 /* wide str value is current */ -#endif +# define ASSIGNED 8192 /* value assigned, used for function pointer caching */ } NODE; #define vname sub.nodep.name @@ -610,18 +611,16 @@ typedef struct iobuf { size_t scanoff; /* where we were in the buffer when we had to regrow/refill */ - void *opaque; /* private data for open hooks */ + void *opaque; /* private data for open hooks */ int (*get_record) P((char **out, struct iobuf *, int *errcode)); void (*close_func) P((struct iobuf *)); /* open and close hooks */ - int flag; + int flag; # define IOP_IS_TTY 1 -# define IOP_IS_INTERNAL 2 -# define IOP_NO_FREE 4 -# define IOP_NOFREE_OBJ 8 -# define IOP_AT_EOF 16 -# define IOP_CLOSED 32 -# define IOP_AT_START 64 +# define IOP_NOFREE_OBJ 2 +# define IOP_AT_EOF 4 +# define IOP_CLOSED 8 +# define IOP_AT_START 16 } IOBUF; typedef void (*Func_ptr) P((void)); @@ -708,7 +707,7 @@ extern NODE *BINMODE_node, *CONVFMT_node, *FIELDWIDTHS_node, *FILENAME_node; extern NODE *FNR_node, *FS_node, *IGNORECASE_node, *NF_node; extern NODE *NR_node, *OFMT_node, *OFS_node, *ORS_node, *RLENGTH_node; extern NODE *RSTART_node, *RS_node, *RT_node, *SUBSEP_node, *PROCINFO_node; -extern NODE *LINT_node, *ERRNO_node, *TEXTDOMAIN_node; +extern NODE *LINT_node, *ERRNO_node, *TEXTDOMAIN_node, *FPAT_node; ATTRIBUTE_EXPORTED extern NODE **stack_ptr; extern NODE *Nnull_string; extern NODE *Null_field; @@ -735,10 +734,13 @@ extern int do_intl; extern int do_non_decimal_data; extern int do_dump_vars; extern int do_tidy_mem; +extern int do_sandbox; extern int do_optimize; extern int use_lc_numeric; extern int in_begin_rule; extern int in_end_rule; +extern int in_beginfile_rule; +extern int in_endfile_rule; extern int whiny_users; #ifdef NO_LINT #define do_lint 0 @@ -1064,10 +1066,20 @@ extern void reset_record P((void)); extern void set_NF P((void)); extern NODE **get_field P((long num, Func_ptr *assign)); extern NODE *do_split P((NODE *tree)); +extern NODE *do_patsplit P((NODE *tree)); extern void set_FS P((void)); extern void set_RS P((void)); extern void set_FIELDWIDTHS P((void)); -extern int using_fieldwidths P((void)); +extern void set_FPAT P((void)); +extern void update_PROCINFO_str P((char *subscript, char *str)); +extern void update_PROCINFO_num P((char *subscript, AWKNUM val)); + +typedef enum { + Using_FS, + Using_FIELDWIDTHS, + Using_FPAT, +} field_sep_type; +extern field_sep_type current_field_sep P((void)); /* gawkmisc.c */ extern char *gawk_name P((const char *filespec)); extern void os_arg_fixup P((int *argcp, char ***argvp)); @@ -1100,10 +1112,10 @@ extern struct redirect *redirect P((NODE *tree, int *errflg)); extern NODE *do_close P((NODE *tree)); extern int flush_io P((void)); extern int close_io P((int *stdio_problem)); -extern int devopen P((const char *name, const char *mode)); +extern int devopen P((const char *name, const char *mode, int *isdir)); extern int pathopen P((const char *file)); extern NODE *do_getline P((NODE *tree)); -extern void do_nextfile P((void)) ATTRIBUTE_NORETURN; +extern void do_nextfile P((void)); extern struct redirect *getredirect P((const char *str, int len)); /* main.c */ extern int main P((int argc, char **argv)); @@ -1144,7 +1156,7 @@ extern void (*lintfunc) (); extern void init_profiling P((int *flag, const char *def_file)); extern void init_profiling_signals P((void)); extern void set_prof_file P((const char *filename)); -extern void dump_prog P((NODE *begin, NODE *prog, NODE *end)); +extern void dump_prog P((NODE *begin, NODE *beginfile, NODE *prog, NODE *endfile, NODE *end)); extern void pp_func P((const char *name, size_t namelen, NODE *f)); extern void pp_string_fp P((FILE *fp, const char *str, size_t namelen, int delim, int breaklines)); @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ + +/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.2" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -123,6 +124,8 @@ static int want_regexp; /* lexical scanning kludge */ static int can_return; /* parsing kludge */ static int begin_or_end_rule = FALSE; /* parsing kludge */ static int parsing_end_rule = FALSE; /* for warnings */ +static int beginfile_or_endfile_rule = FALSE; /* parsing kludge */ +static int parsing_endfile_rule = FALSE; /* for warnings */ static int in_print = FALSE; /* lexical scanning kludge for print */ static int in_parens = 0; /* lexical scanning kludge for print */ static char *lexptr; /* pointer to next char during parsing */ @@ -149,6 +152,8 @@ extern long numfiles; extern int errcount; extern NODE *begin_block; extern NODE *end_block; +extern NODE *beginfile_block; +extern NODE *endfile_block; /* * This string cannot occur as a real awk identifier. @@ -163,7 +168,7 @@ static char builtin_func[] = "@builtin"; /* Line 189 of yacc.c */ -#line 167 "awkgram.c" +#line 172 "awkgram.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -209,31 +214,33 @@ static char builtin_func[] = "@builtin"; LEX_ELSE = 274, LEX_RETURN = 275, LEX_DELETE = 276, - LEX_SWITCH = 277, - LEX_CASE = 278, - LEX_DEFAULT = 279, - LEX_WHILE = 280, - LEX_DO = 281, - LEX_FOR = 282, - LEX_BREAK = 283, - LEX_CONTINUE = 284, - LEX_PRINT = 285, - LEX_PRINTF = 286, - LEX_NEXT = 287, - LEX_EXIT = 288, - LEX_FUNCTION = 289, - LEX_GETLINE = 290, - LEX_NEXTFILE = 291, - LEX_IN = 292, - LEX_AND = 293, - LEX_OR = 294, - INCREMENT = 295, - DECREMENT = 296, - LEX_BUILTIN = 297, - LEX_LENGTH = 298, - NEWLINE = 299, - SLASH_BEFORE_EQUAL = 300, - UNARY = 301 + LEX_BEGINFILE = 277, + LEX_ENDFILE = 278, + LEX_SWITCH = 279, + LEX_CASE = 280, + LEX_DEFAULT = 281, + LEX_WHILE = 282, + LEX_DO = 283, + LEX_FOR = 284, + LEX_BREAK = 285, + LEX_CONTINUE = 286, + LEX_PRINT = 287, + LEX_PRINTF = 288, + LEX_NEXT = 289, + LEX_EXIT = 290, + LEX_FUNCTION = 291, + LEX_GETLINE = 292, + LEX_NEXTFILE = 293, + LEX_IN = 294, + LEX_AND = 295, + LEX_OR = 296, + INCREMENT = 297, + DECREMENT = 298, + LEX_BUILTIN = 299, + LEX_LENGTH = 300, + NEWLINE = 301, + SLASH_BEFORE_EQUAL = 302, + UNARY = 303 }; #endif /* Tokens. */ @@ -256,31 +263,33 @@ static char builtin_func[] = "@builtin"; #define LEX_ELSE 274 #define LEX_RETURN 275 #define LEX_DELETE 276 -#define LEX_SWITCH 277 -#define LEX_CASE 278 -#define LEX_DEFAULT 279 -#define LEX_WHILE 280 -#define LEX_DO 281 -#define LEX_FOR 282 -#define LEX_BREAK 283 -#define LEX_CONTINUE 284 -#define LEX_PRINT 285 -#define LEX_PRINTF 286 -#define LEX_NEXT 287 -#define LEX_EXIT 288 -#define LEX_FUNCTION 289 -#define LEX_GETLINE 290 -#define LEX_NEXTFILE 291 -#define LEX_IN 292 -#define LEX_AND 293 -#define LEX_OR 294 -#define INCREMENT 295 -#define DECREMENT 296 -#define LEX_BUILTIN 297 -#define LEX_LENGTH 298 -#define NEWLINE 299 -#define SLASH_BEFORE_EQUAL 300 -#define UNARY 301 +#define LEX_BEGINFILE 277 +#define LEX_ENDFILE 278 +#define LEX_SWITCH 279 +#define LEX_CASE 280 +#define LEX_DEFAULT 281 +#define LEX_WHILE 282 +#define LEX_DO 283 +#define LEX_FOR 284 +#define LEX_BREAK 285 +#define LEX_CONTINUE 286 +#define LEX_PRINT 287 +#define LEX_PRINTF 288 +#define LEX_NEXT 289 +#define LEX_EXIT 290 +#define LEX_FUNCTION 291 +#define LEX_GETLINE 292 +#define LEX_NEXTFILE 293 +#define LEX_IN 294 +#define LEX_AND 295 +#define LEX_OR 296 +#define INCREMENT 297 +#define DECREMENT 298 +#define LEX_BUILTIN 299 +#define LEX_LENGTH 300 +#define NEWLINE 301 +#define SLASH_BEFORE_EQUAL 302 +#define UNARY 303 @@ -290,7 +299,7 @@ typedef union YYSTYPE { /* Line 214 of yacc.c */ -#line 120 "awkgram.y" +#line 124 "awkgram.y" long lval; AWKNUM fval; @@ -302,7 +311,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 306 "awkgram.c" +#line 315 "awkgram.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -314,7 +323,7 @@ typedef union YYSTYPE /* Line 264 of yacc.c */ -#line 318 "awkgram.c" +#line 327 "awkgram.c" #ifdef short # undef short @@ -364,7 +373,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -529,20 +538,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1088 +#define YYLAST 1105 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 67 +#define YYNTOKENS 70 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 56 +#define YYNNTS 58 /* YYNRULES -- Number of rules. */ -#define YYNRULES 165 +#define YYNRULES 170 /* YYNRULES -- Number of states. */ -#define YYNSTATES 308 +#define YYNSTATES 314 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 301 +#define YYMAXUTOK 303 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -553,16 +562,16 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 56, 2, 2, 59, 55, 2, 2, - 60, 61, 53, 51, 48, 52, 2, 54, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 47, 66, - 49, 2, 50, 46, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 58, 2, 2, 61, 57, 2, 2, + 62, 63, 55, 53, 50, 54, 2, 56, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 49, 69, + 51, 2, 52, 48, 66, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 62, 2, 63, 58, 2, 2, 2, 2, 2, + 2, 64, 2, 65, 60, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 64, 2, 65, 2, 2, 2, 2, + 2, 2, 2, 67, 2, 68, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -580,7 +589,7 @@ static const yytype_uint8 yytranslate[] = 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 57 + 45, 46, 47, 59 }; #if YYDEBUG @@ -589,102 +598,105 @@ static const yytype_uint8 yytranslate[] = static const yytype_uint16 yyprhs[] = { 0, 0, 3, 7, 8, 11, 14, 17, 20, 23, - 24, 26, 30, 32, 34, 40, 42, 44, 46, 48, - 50, 51, 59, 60, 64, 66, 68, 69, 72, 75, - 77, 80, 83, 87, 89, 99, 106, 115, 124, 137, - 149, 152, 155, 158, 161, 165, 166, 171, 174, 175, - 180, 186, 189, 194, 196, 197, 199, 201, 202, 205, - 208, 214, 219, 221, 224, 227, 229, 231, 233, 235, - 237, 243, 244, 245, 249, 256, 266, 268, 271, 272, - 274, 275, 278, 279, 281, 283, 287, 289, 292, 296, - 297, 299, 300, 302, 304, 308, 310, 313, 317, 321, - 325, 329, 333, 337, 341, 345, 351, 353, 355, 357, - 360, 362, 364, 366, 368, 370, 372, 375, 377, 381, - 385, 389, 393, 397, 401, 405, 408, 411, 417, 422, - 426, 430, 434, 438, 442, 446, 448, 451, 455, 460, - 465, 467, 472, 474, 477, 480, 482, 484, 487, 490, - 491, 493, 495, 500, 502, 506, 508, 510, 511, 514, - 517, 519, 520, 522, 524, 526 + 24, 26, 30, 32, 34, 36, 38, 44, 46, 48, + 50, 52, 54, 55, 63, 64, 68, 70, 72, 73, + 76, 79, 81, 84, 87, 91, 93, 103, 110, 119, + 128, 141, 153, 156, 159, 162, 165, 169, 170, 175, + 178, 179, 184, 190, 193, 198, 200, 201, 203, 205, + 206, 209, 212, 218, 223, 225, 228, 231, 233, 235, + 237, 239, 241, 247, 248, 249, 253, 260, 270, 272, + 275, 276, 278, 279, 282, 283, 285, 287, 291, 293, + 296, 300, 301, 303, 304, 306, 308, 312, 314, 317, + 321, 325, 329, 333, 337, 341, 345, 349, 355, 357, + 359, 361, 364, 366, 368, 370, 372, 374, 376, 379, + 381, 385, 389, 393, 397, 401, 405, 409, 412, 415, + 421, 426, 430, 434, 438, 442, 446, 450, 452, 455, + 459, 464, 469, 471, 473, 475, 478, 481, 483, 485, + 488, 491, 493, 496, 501, 502, 504, 506, 511, 513, + 517, 519, 521, 522, 525, 528, 530, 531, 533, 535, + 537 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 68, 0, -1, 97, 69, 97, -1, -1, 69, 70, - -1, 69, 1, -1, 71, 72, -1, 71, 81, -1, - 75, 72, -1, -1, 104, -1, 104, 48, 104, -1, - 16, -1, 17, -1, 116, 80, 117, 119, 97, -1, - 4, -1, 3, -1, 74, -1, 42, -1, 43, -1, - -1, 34, 76, 73, 60, 99, 118, 97, -1, -1, - 79, 78, 5, -1, 54, -1, 45, -1, -1, 80, - 82, -1, 80, 1, -1, 96, -1, 120, 97, -1, - 120, 97, -1, 116, 80, 117, -1, 95, -1, 22, - 60, 104, 118, 97, 116, 87, 97, 117, -1, 25, - 60, 104, 118, 97, 82, -1, 26, 97, 82, 25, - 60, 104, 118, 97, -1, 27, 60, 4, 37, 4, - 118, 97, 82, -1, 27, 60, 86, 120, 97, 104, - 120, 97, 86, 118, 97, 82, -1, 27, 60, 86, - 120, 97, 120, 97, 86, 118, 97, 82, -1, 28, - 81, -1, 29, 81, -1, 32, 81, -1, 36, 81, - -1, 33, 101, 81, -1, -1, 20, 83, 101, 81, - -1, 84, 81, -1, -1, 91, 85, 92, 93, -1, - 21, 4, 62, 103, 63, -1, 21, 4, -1, 21, - 60, 4, 61, -1, 104, -1, -1, 84, -1, 88, - -1, -1, 88, 89, -1, 88, 1, -1, 23, 90, - 121, 97, 80, -1, 24, 121, 97, 80, -1, 7, - -1, 52, 7, -1, 51, 7, -1, 8, -1, 77, - -1, 30, -1, 31, -1, 102, -1, 60, 104, 122, - 103, 118, -1, -1, -1, 10, 94, 108, -1, 18, - 60, 104, 118, 97, 82, -1, 18, 60, 104, 118, - 97, 82, 19, 97, 82, -1, 44, -1, 96, 44, - -1, -1, 96, -1, -1, 49, 109, -1, -1, 100, - -1, 4, -1, 100, 122, 4, -1, 1, -1, 100, - 1, -1, 100, 122, 1, -1, -1, 104, -1, -1, - 103, -1, 104, -1, 103, 122, 104, -1, 1, -1, - 103, 1, -1, 103, 1, 104, -1, 103, 122, 1, - -1, 113, 105, 104, -1, 104, 38, 104, -1, 104, - 39, 104, -1, 104, 14, 104, -1, 104, 37, 4, - -1, 104, 107, 104, -1, 104, 46, 104, 47, 104, - -1, 108, -1, 13, -1, 12, -1, 45, 13, -1, - 9, -1, 49, -1, 106, -1, 50, -1, 109, -1, - 110, -1, 108, 109, -1, 111, -1, 109, 58, 109, - -1, 109, 53, 109, -1, 109, 54, 109, -1, 109, - 55, 109, -1, 109, 51, 109, -1, 109, 52, 109, - -1, 35, 112, 98, -1, 113, 40, -1, 113, 41, - -1, 60, 103, 118, 37, 4, -1, 108, 11, 35, - 112, -1, 110, 58, 109, -1, 110, 53, 109, -1, - 110, 54, 109, -1, 110, 55, 109, -1, 110, 51, - 109, -1, 110, 52, 109, -1, 77, -1, 56, 109, - -1, 60, 104, 118, -1, 42, 60, 102, 118, -1, - 43, 60, 102, 118, -1, 43, -1, 3, 60, 102, - 118, -1, 113, -1, 40, 113, -1, 41, 113, -1, - 7, -1, 8, -1, 52, 109, -1, 51, 109, -1, - -1, 113, -1, 4, -1, 4, 62, 103, 63, -1, - 114, -1, 59, 111, 115, -1, 40, -1, 41, -1, - -1, 64, 97, -1, 65, 97, -1, 61, -1, -1, - 120, -1, 66, -1, 47, -1, 48, 97, -1 + 71, 0, -1, 100, 72, 100, -1, -1, 72, 73, + -1, 72, 1, -1, 74, 75, -1, 74, 84, -1, + 78, 75, -1, -1, 107, -1, 107, 50, 107, -1, + 16, -1, 17, -1, 22, -1, 23, -1, 121, 83, + 122, 124, 100, -1, 4, -1, 3, -1, 77, -1, + 44, -1, 45, -1, -1, 36, 79, 76, 62, 102, + 123, 100, -1, -1, 82, 81, 5, -1, 56, -1, + 47, -1, -1, 83, 85, -1, 83, 1, -1, 99, + -1, 125, 100, -1, 125, 100, -1, 121, 83, 122, + -1, 98, -1, 24, 62, 107, 123, 100, 121, 90, + 100, 122, -1, 27, 62, 107, 123, 100, 85, -1, + 28, 100, 85, 27, 62, 107, 123, 100, -1, 29, + 62, 4, 39, 4, 123, 100, 85, -1, 29, 62, + 89, 125, 100, 107, 125, 100, 89, 123, 100, 85, + -1, 29, 62, 89, 125, 100, 125, 100, 89, 123, + 100, 85, -1, 30, 84, -1, 31, 84, -1, 34, + 84, -1, 38, 84, -1, 35, 104, 84, -1, -1, + 20, 86, 104, 84, -1, 87, 84, -1, -1, 94, + 88, 95, 96, -1, 21, 4, 64, 106, 65, -1, + 21, 4, -1, 21, 62, 4, 63, -1, 107, -1, + -1, 87, -1, 91, -1, -1, 91, 92, -1, 91, + 1, -1, 25, 93, 126, 100, 83, -1, 26, 126, + 100, 83, -1, 7, -1, 54, 7, -1, 53, 7, + -1, 8, -1, 80, -1, 32, -1, 33, -1, 105, + -1, 62, 107, 127, 106, 123, -1, -1, -1, 10, + 97, 111, -1, 18, 62, 107, 123, 100, 85, -1, + 18, 62, 107, 123, 100, 85, 19, 100, 85, -1, + 46, -1, 99, 46, -1, -1, 99, -1, -1, 51, + 112, -1, -1, 103, -1, 4, -1, 103, 127, 4, + -1, 1, -1, 103, 1, -1, 103, 127, 1, -1, + -1, 107, -1, -1, 106, -1, 107, -1, 106, 127, + 107, -1, 1, -1, 106, 1, -1, 106, 1, 107, + -1, 106, 127, 1, -1, 118, 108, 107, -1, 107, + 40, 107, -1, 107, 41, 107, -1, 107, 14, 107, + -1, 107, 39, 4, -1, 107, 110, 107, -1, 107, + 48, 107, 49, 107, -1, 111, -1, 13, -1, 12, + -1, 47, 13, -1, 9, -1, 51, -1, 109, -1, + 52, -1, 112, -1, 113, -1, 111, 112, -1, 114, + -1, 112, 60, 112, -1, 112, 55, 112, -1, 112, + 56, 112, -1, 112, 57, 112, -1, 112, 53, 112, + -1, 112, 54, 112, -1, 37, 117, 101, -1, 118, + 42, -1, 118, 43, -1, 62, 106, 123, 39, 4, + -1, 111, 11, 37, 117, -1, 113, 60, 112, -1, + 113, 55, 112, -1, 113, 56, 112, -1, 113, 57, + 112, -1, 113, 53, 112, -1, 113, 54, 112, -1, + 80, -1, 58, 112, -1, 62, 107, 123, -1, 44, + 62, 105, 123, -1, 45, 62, 105, 123, -1, 45, + -1, 115, -1, 118, -1, 42, 118, -1, 43, 118, + -1, 7, -1, 8, -1, 54, 112, -1, 53, 112, + -1, 116, -1, 66, 116, -1, 3, 62, 105, 123, + -1, -1, 118, -1, 4, -1, 4, 64, 106, 65, + -1, 119, -1, 61, 114, 120, -1, 42, -1, 43, + -1, -1, 67, 100, -1, 68, 100, -1, 63, -1, + -1, 125, -1, 69, -1, 49, -1, 50, 100, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 181, 181, 187, 189, 194, 206, 210, 225, 236, - 239, 243, 253, 262, 274, 279, 281, 283, 294, 295, - 300, 299, 323, 322, 348, 349, 354, 355, 373, 378, - 379, 383, 385, 387, 389, 391, 393, 395, 439, 443, - 448, 451, 454, 463, 487, 490, 489, 499, 511, 511, - 542, 544, 562, 584, 590, 591, 596, 649, 650, 667, - 672, 674, 679, 681, 686, 688, 690, 695, 696, 704, - 705, 711, 716, 716, 728, 733, 740, 741, 744, 746, - 751, 752, 758, 759, 764, 766, 768, 770, 772, 779, - 780, 786, 787, 792, 794, 800, 802, 804, 806, 811, - 817, 819, 821, 827, 833, 839, 841, 846, 848, 850, - 855, 857, 861, 862, 867, 869, 871, 876, 878, 880, - 882, 884, 886, 888, 890, 896, 898, 900, 913, 918, - 920, 922, 924, 926, 928, 933, 935, 937, 939, 942, - 944, 958, 966, 967, 969, 971, 973, 976, 984, 996, - 997, 1002, 1004, 1019, 1029, 1044, 1045, 1046, 1050, 1054, - 1058, 1061, 1063, 1067, 1071, 1074 + 0, 187, 187, 193, 195, 200, 212, 216, 234, 245, + 248, 252, 262, 271, 280, 285, 293, 298, 300, 302, + 313, 314, 319, 318, 342, 341, 367, 368, 373, 374, + 392, 397, 398, 402, 404, 406, 408, 410, 412, 414, + 458, 462, 467, 470, 473, 485, 523, 526, 525, 535, + 547, 547, 578, 580, 598, 620, 626, 627, 632, 685, + 686, 703, 708, 710, 715, 717, 722, 724, 726, 731, + 732, 740, 741, 747, 752, 752, 764, 769, 776, 777, + 780, 782, 787, 788, 794, 795, 800, 802, 804, 806, + 808, 815, 816, 822, 823, 828, 830, 836, 838, 840, + 842, 847, 853, 855, 857, 863, 869, 875, 877, 882, + 884, 886, 891, 893, 897, 898, 903, 905, 907, 912, + 914, 916, 918, 920, 922, 924, 926, 947, 949, 951, + 964, 969, 971, 973, 975, 977, 979, 984, 986, 988, + 990, 993, 995, 1009, 1010, 1011, 1013, 1015, 1017, 1020, + 1028, 1039, 1044, 1060, 1071, 1072, 1077, 1079, 1094, 1104, + 1119, 1120, 1121, 1125, 1129, 1133, 1136, 1138, 1142, 1146, + 1149 }; #endif @@ -696,25 +708,26 @@ static const char *const yytname[] = "$end", "error", "$undefined", "FUNC_CALL", "NAME", "REGEXP", "ERROR", "YNUMBER", "YSTRING", "RELOP", "IO_OUT", "IO_IN", "ASSIGNOP", "ASSIGN", "MATCHOP", "CONCAT_OP", "LEX_BEGIN", "LEX_END", "LEX_IF", "LEX_ELSE", - "LEX_RETURN", "LEX_DELETE", "LEX_SWITCH", "LEX_CASE", "LEX_DEFAULT", - "LEX_WHILE", "LEX_DO", "LEX_FOR", "LEX_BREAK", "LEX_CONTINUE", - "LEX_PRINT", "LEX_PRINTF", "LEX_NEXT", "LEX_EXIT", "LEX_FUNCTION", - "LEX_GETLINE", "LEX_NEXTFILE", "LEX_IN", "LEX_AND", "LEX_OR", - "INCREMENT", "DECREMENT", "LEX_BUILTIN", "LEX_LENGTH", "NEWLINE", - "SLASH_BEFORE_EQUAL", "'?'", "':'", "','", "'<'", "'>'", "'+'", "'-'", - "'*'", "'/'", "'%'", "'!'", "UNARY", "'^'", "'$'", "'('", "')'", "'['", - "']'", "'{'", "'}'", "';'", "$accept", "start", "program", "rule", - "pattern", "action", "func_name", "lex_builtin", "function_prologue", - "$@1", "regexp", "$@2", "a_slash", "statements", "statement_term", - "statement", "$@3", "simple_stmt", "$@4", "opt_simple_stmt", - "switch_body", "case_statements", "case_statement", "case_value", - "print", "print_expression_list", "output_redir", "$@5", "if_statement", - "nls", "opt_nls", "input_redir", "opt_param_list", "param_list", - "opt_exp", "opt_expression_list", "expression_list", "exp", + "LEX_RETURN", "LEX_DELETE", "LEX_BEGINFILE", "LEX_ENDFILE", "LEX_SWITCH", + "LEX_CASE", "LEX_DEFAULT", "LEX_WHILE", "LEX_DO", "LEX_FOR", "LEX_BREAK", + "LEX_CONTINUE", "LEX_PRINT", "LEX_PRINTF", "LEX_NEXT", "LEX_EXIT", + "LEX_FUNCTION", "LEX_GETLINE", "LEX_NEXTFILE", "LEX_IN", "LEX_AND", + "LEX_OR", "INCREMENT", "DECREMENT", "LEX_BUILTIN", "LEX_LENGTH", + "NEWLINE", "SLASH_BEFORE_EQUAL", "'?'", "':'", "','", "'<'", "'>'", + "'+'", "'-'", "'*'", "'/'", "'%'", "'!'", "UNARY", "'^'", "'$'", "'('", + "')'", "'['", "']'", "'@'", "'{'", "'}'", "';'", "$accept", "start", + "program", "rule", "pattern", "action", "func_name", "lex_builtin", + "function_prologue", "$@1", "regexp", "$@2", "a_slash", "statements", + "statement_term", "statement", "$@3", "simple_stmt", "$@4", + "opt_simple_stmt", "switch_body", "case_statements", "case_statement", + "case_value", "print", "print_expression_list", "output_redir", "$@5", + "if_statement", "nls", "opt_nls", "input_redir", "opt_param_list", + "param_list", "opt_exp", "opt_expression_list", "expression_list", "exp", "assign_operator", "relop_or_less", "a_relop", "common_exp", "simp_exp", - "simp_exp_nc", "non_post_simp_exp", "opt_variable", "variable", - "field_spec", "opt_incdec", "l_brace", "r_brace", "r_paren", "opt_semi", - "semi", "colon", "comma", 0 + "simp_exp_nc", "non_post_simp_exp", "function_call", + "direct_function_call", "opt_variable", "variable", "field_spec", + "opt_incdec", "l_brace", "r_brace", "r_paren", "opt_semi", "semi", + "colon", "comma", 0 }; #endif @@ -727,54 +740,56 @@ static const yytype_uint16 yytoknum[] = 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 63, 58, 44, 60, - 62, 43, 45, 42, 47, 37, 33, 301, 94, 36, - 40, 41, 91, 93, 123, 125, 59 + 295, 296, 297, 298, 299, 300, 301, 302, 63, 58, + 44, 60, 62, 43, 45, 42, 47, 37, 33, 303, + 94, 36, 40, 41, 91, 93, 64, 123, 125, 59 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 67, 68, 69, 69, 69, 70, 70, 70, 71, - 71, 71, 71, 71, 72, 73, 73, 73, 74, 74, - 76, 75, 78, 77, 79, 79, 80, 80, 80, 81, - 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 83, 82, 82, 85, 84, - 84, 84, 84, 84, 86, 86, 87, 88, 88, 88, - 89, 89, 90, 90, 90, 90, 90, 91, 91, 92, - 92, 93, 94, 93, 95, 95, 96, 96, 97, 97, - 98, 98, 99, 99, 100, 100, 100, 100, 100, 101, - 101, 102, 102, 103, 103, 103, 103, 103, 103, 104, - 104, 104, 104, 104, 104, 104, 104, 105, 105, 105, - 106, 106, 107, 107, 108, 108, 108, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, - 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, - 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, - 112, 113, 113, 113, 114, 115, 115, 115, 116, 117, - 118, 119, 119, 120, 121, 122 + 0, 70, 71, 72, 72, 72, 73, 73, 73, 74, + 74, 74, 74, 74, 74, 74, 75, 76, 76, 76, + 77, 77, 79, 78, 81, 80, 82, 82, 83, 83, + 83, 84, 84, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 86, 85, 85, + 88, 87, 87, 87, 87, 87, 89, 89, 90, 91, + 91, 91, 92, 92, 93, 93, 93, 93, 93, 94, + 94, 95, 95, 96, 97, 96, 98, 98, 99, 99, + 100, 100, 101, 101, 102, 102, 103, 103, 103, 103, + 103, 104, 104, 105, 105, 106, 106, 106, 106, 106, + 106, 107, 107, 107, 107, 107, 107, 107, 107, 108, + 108, 108, 109, 109, 110, 110, 111, 111, 111, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 113, 113, 113, 113, 113, 113, 113, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 115, 115, 116, 117, 117, 118, 118, 118, 119, + 120, 120, 120, 121, 122, 123, 124, 124, 125, 126, + 127 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 3, 0, 2, 2, 2, 2, 2, 0, - 1, 3, 1, 1, 5, 1, 1, 1, 1, 1, - 0, 7, 0, 3, 1, 1, 0, 2, 2, 1, - 2, 2, 3, 1, 9, 6, 8, 8, 12, 11, - 2, 2, 2, 2, 3, 0, 4, 2, 0, 4, - 5, 2, 4, 1, 0, 1, 1, 0, 2, 2, - 5, 4, 1, 2, 2, 1, 1, 1, 1, 1, - 5, 0, 0, 3, 6, 9, 1, 2, 0, 1, - 0, 2, 0, 1, 1, 3, 1, 2, 3, 0, - 1, 0, 1, 1, 3, 1, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 1, 1, 1, 2, - 1, 1, 1, 1, 1, 1, 2, 1, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 5, 4, 3, - 3, 3, 3, 3, 3, 1, 2, 3, 4, 4, - 1, 4, 1, 2, 2, 1, 1, 2, 2, 0, - 1, 1, 4, 1, 3, 1, 1, 0, 2, 2, - 1, 0, 1, 1, 1, 2 + 1, 3, 1, 1, 1, 1, 5, 1, 1, 1, + 1, 1, 0, 7, 0, 3, 1, 1, 0, 2, + 2, 1, 2, 2, 3, 1, 9, 6, 8, 8, + 12, 11, 2, 2, 2, 2, 3, 0, 4, 2, + 0, 4, 5, 2, 4, 1, 0, 1, 1, 0, + 2, 2, 5, 4, 1, 2, 2, 1, 1, 1, + 1, 1, 5, 0, 0, 3, 6, 9, 1, 2, + 0, 1, 0, 2, 0, 1, 1, 3, 1, 2, + 3, 0, 1, 0, 1, 1, 3, 1, 2, 3, + 3, 3, 3, 3, 3, 3, 3, 5, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 5, + 4, 3, 3, 3, 3, 3, 3, 1, 2, 3, + 4, 4, 1, 1, 1, 2, 2, 1, 1, 2, + 2, 1, 2, 4, 0, 1, 1, 4, 1, 3, + 1, 1, 0, 2, 2, 1, 0, 1, 1, 1, + 2 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -782,365 +797,372 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 78, 76, 0, 79, 3, 1, 77, 0, 5, 0, - 151, 145, 146, 12, 13, 20, 149, 0, 0, 0, - 140, 25, 0, 0, 24, 0, 0, 0, 4, 0, - 0, 135, 22, 2, 10, 106, 114, 115, 117, 142, - 153, 0, 0, 0, 80, 150, 143, 144, 0, 0, - 148, 142, 147, 136, 0, 157, 142, 95, 0, 93, - 78, 163, 6, 7, 29, 26, 78, 8, 0, 110, - 0, 0, 0, 0, 0, 0, 111, 113, 112, 0, - 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 108, 107, 125, 126, 0, 0, - 0, 0, 93, 0, 16, 15, 18, 19, 0, 17, - 0, 124, 0, 0, 0, 155, 156, 154, 96, 78, - 160, 0, 0, 137, 158, 0, 30, 23, 102, 103, - 100, 101, 0, 11, 104, 149, 122, 123, 119, 120, - 121, 118, 133, 134, 130, 131, 132, 129, 109, 99, - 141, 152, 0, 81, 138, 139, 97, 165, 0, 98, - 94, 28, 0, 45, 0, 0, 0, 78, 0, 0, - 0, 67, 68, 0, 89, 0, 78, 27, 0, 48, - 33, 53, 26, 161, 78, 0, 128, 86, 84, 0, - 0, 127, 0, 89, 51, 0, 0, 0, 0, 54, - 40, 41, 42, 0, 90, 43, 159, 47, 0, 0, - 78, 162, 31, 105, 78, 87, 0, 0, 0, 0, - 0, 0, 0, 0, 151, 55, 0, 44, 0, 71, - 69, 32, 14, 21, 88, 85, 78, 46, 0, 52, - 78, 78, 0, 0, 78, 93, 72, 49, 0, 50, - 0, 0, 0, 0, 0, 0, 0, 74, 57, 35, - 0, 78, 0, 78, 0, 73, 78, 78, 0, 78, - 0, 78, 54, 70, 0, 0, 59, 0, 0, 58, - 36, 37, 54, 0, 75, 34, 62, 65, 0, 0, - 66, 0, 164, 78, 0, 78, 64, 63, 78, 26, - 78, 0, 26, 0, 0, 39, 0, 38 + 80, 78, 0, 81, 3, 1, 79, 0, 5, 0, + 156, 147, 148, 12, 13, 14, 15, 22, 154, 0, + 0, 0, 142, 27, 0, 0, 26, 0, 0, 0, + 0, 4, 0, 0, 137, 24, 2, 10, 108, 116, + 117, 119, 143, 151, 144, 158, 0, 0, 0, 82, + 155, 145, 146, 0, 0, 150, 144, 149, 138, 0, + 162, 144, 97, 0, 95, 152, 80, 168, 6, 7, + 31, 28, 80, 8, 0, 112, 0, 0, 0, 0, + 0, 0, 113, 115, 114, 0, 0, 118, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 110, 109, 127, 128, 0, 0, 0, 0, 95, 0, + 18, 17, 20, 21, 0, 19, 0, 126, 0, 0, + 0, 160, 161, 159, 98, 80, 165, 0, 0, 139, + 163, 0, 32, 25, 104, 105, 102, 103, 0, 11, + 106, 154, 124, 125, 121, 122, 123, 120, 135, 136, + 132, 133, 134, 131, 111, 101, 153, 157, 0, 83, + 140, 141, 99, 170, 0, 100, 96, 30, 0, 47, + 0, 0, 0, 80, 0, 0, 0, 69, 70, 0, + 91, 0, 80, 29, 0, 50, 35, 55, 28, 166, + 80, 0, 130, 88, 86, 0, 0, 129, 0, 91, + 53, 0, 0, 0, 0, 56, 42, 43, 44, 0, + 92, 45, 164, 49, 0, 0, 80, 167, 33, 107, + 80, 89, 0, 0, 0, 0, 0, 0, 0, 0, + 156, 57, 0, 46, 0, 73, 71, 34, 16, 23, + 90, 87, 80, 48, 0, 54, 80, 80, 0, 0, + 80, 95, 74, 51, 0, 52, 0, 0, 0, 0, + 0, 0, 0, 76, 59, 37, 0, 80, 0, 80, + 0, 75, 80, 80, 0, 80, 0, 80, 56, 72, + 0, 0, 61, 0, 0, 60, 38, 39, 56, 0, + 77, 36, 64, 67, 0, 0, 68, 0, 169, 80, + 0, 80, 66, 65, 80, 28, 80, 0, 28, 0, + 0, 41, 0, 40 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 7, 28, 29, 62, 108, 109, 30, 43, - 31, 68, 32, 125, 63, 177, 193, 178, 208, 226, - 267, 268, 279, 291, 179, 229, 247, 256, 180, 3, - 4, 111, 189, 190, 203, 100, 101, 181, 99, 78, - 79, 35, 36, 37, 38, 44, 39, 40, 117, 182, - 183, 123, 210, 184, 293, 122 + -1, 2, 7, 31, 32, 68, 114, 115, 33, 48, + 34, 74, 35, 131, 69, 183, 199, 184, 214, 232, + 273, 274, 285, 297, 185, 235, 253, 262, 186, 3, + 4, 117, 195, 196, 209, 106, 107, 187, 105, 84, + 85, 38, 39, 40, 41, 42, 43, 49, 44, 45, + 123, 188, 189, 129, 216, 190, 299, 128 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -221 +#define YYPACT_NINF -263 static const yytype_int16 yypact[] = { - -32, -221, 35, -3, -221, -221, -221, 343, -221, -13, - -4, -221, -221, -221, -221, -221, 32, 32, 32, -6, - -5, -221, 974, 974, -221, 974, 1028, 768, -221, -26, - 2, -221, -221, -221, 820, 952, 392, 446, -221, 125, - -221, 707, 768, 185, 11, -221, -221, -221, 707, 707, - 3, -8, 3, 3, 974, 76, -221, -221, 42, 148, - -32, -221, -221, -221, -3, -221, -32, -221, 87, -221, - 974, 93, 974, 974, 974, 974, -221, -221, -221, 974, - 69, 392, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, -221, -221, -221, -221, 97, 974, - 50, 41, 746, 36, -221, -221, -221, -221, 46, -221, - 974, -221, 50, 50, 148, -221, -221, -221, 974, -32, - -221, 81, 790, -221, -221, 505, -221, -221, 14, -221, - 540, 317, 874, 746, 7, 32, 70, 70, 3, 3, - 3, 3, 70, 70, 3, 3, 3, 3, -221, 746, - -221, -221, 20, 392, -221, -221, 746, -221, 115, -221, - 746, -221, 80, -221, 27, 82, 84, -32, 89, -18, - -18, -221, -221, -18, 974, -18, -32, -221, -18, -221, - -221, 746, -221, 67, -32, 974, -221, -221, -221, 50, - 48, -221, 974, 974, 79, 150, 974, 974, 631, 844, - -221, -221, -221, -18, 746, -221, -221, -221, 571, 505, - -32, -221, -221, 746, -32, -221, 26, 148, -18, 768, - 98, 148, 148, 133, -12, -221, 67, -221, 768, 151, - -221, -221, -221, -221, -221, -221, -32, -221, 45, -221, - -32, -32, 111, 172, -32, 546, -221, -221, 631, -221, - 2, 631, 974, 50, 685, 768, 974, 162, -221, -221, - 148, -32, 325, -32, 42, 952, -32, -32, 21, -32, - 631, -32, 898, -221, 631, 117, -221, 194, 137, -221, - -221, -221, 898, 50, -221, -221, -221, -221, 183, 186, - -221, 137, -221, -32, 50, -32, -221, -221, -32, -221, - -32, 631, -221, 397, 631, -221, 451, -221 + -27, -263, 29, -23, -263, -263, -263, 365, -263, -21, + -18, -263, -263, -263, -263, -263, -263, -263, 9, 9, + 9, -15, -10, -263, 1014, 1014, -263, 1014, 1039, 792, + 48, -263, -31, -14, -263, -263, -263, 712, 958, 195, + 274, -263, -263, -263, 176, -263, 764, 792, 126, 3, + -263, -263, -263, 764, 764, 2, -11, 2, 2, 1014, + -8, -263, -263, 44, 389, -263, -27, -263, -263, -263, + -23, -263, -27, -263, 58, -263, 1014, 65, 1014, 1014, + 1014, 1014, -263, -263, -263, 1014, 31, 195, 1014, 1014, + 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, + -263, -263, -263, -263, 83, 1014, 42, 10, 907, 21, + -263, -263, -263, -263, 50, -263, 1014, -263, 42, 42, + 389, -263, -263, -263, 1014, -27, -263, 75, 848, -263, + -263, 547, -263, -263, 117, -263, 194, 97, 824, 907, + 52, 9, 181, 181, 2, 2, 2, 2, 181, 181, + 2, 2, 2, 2, -263, 907, -263, -263, 17, 195, + -263, -263, 907, -263, 111, -263, 907, -263, 54, -263, + 4, 55, 59, -27, 61, -29, -29, -263, -263, -29, + 1014, -29, -27, -263, -29, -263, -263, 907, -263, 56, + -27, 1014, -263, -263, -263, 42, 47, -263, 1014, 1014, + 63, 124, 1014, 1014, 680, 875, -263, -263, -263, -29, + 907, -263, -263, -263, 616, 547, -27, -263, -263, 907, + -27, -263, 23, 389, -29, 792, 69, 389, 389, 106, + -25, -263, 56, -263, 792, 125, -263, -263, -263, -263, + -263, -263, -27, -263, 43, -263, -27, -27, 72, 135, + -27, 588, -263, -263, 680, -263, -14, 680, 1014, 42, + 736, 792, 1014, 123, -263, -263, 389, -27, 306, -27, + 44, 958, -27, -27, 32, -27, 680, -27, 931, -263, + 680, 82, -263, 91, 102, -263, -263, -263, 931, 42, + -263, -263, -263, -263, 139, 158, -263, 102, -263, -27, + 42, -27, -263, -263, -27, -263, -27, 680, -263, 435, + 680, -263, 491, -263 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -221, -221, -221, -221, -221, 169, -221, -221, -221, -221, - -85, -221, -221, -173, -39, -169, -221, -184, -221, -220, - -221, -221, -221, -221, -221, -221, -221, -221, -221, 5, - -7, -221, -221, -221, 13, -35, -23, 73, -221, -221, - -221, -56, 128, -221, 178, 90, -15, -221, -221, -24, - -192, 55, -221, 127, -69, -151 + -263, -263, -263, -263, -263, 145, -263, -263, -263, -263, + -111, -263, -263, -186, 114, -167, -263, -193, -263, -262, + -263, -263, -263, -263, -263, -263, -263, -263, -263, -2, + -7, -263, -263, -263, -13, -47, -19, -4, -263, -263, + -263, -81, 187, -263, 157, -263, 160, 51, 64, -263, + -263, -28, -214, 78, -263, 132, -106, -187 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -93 +#define YYTABLE_NINF -95 static const yytype_int16 yytable[] = { - 33, 45, 46, 47, 58, 65, 65, 51, 51, 209, - 51, 56, 1, 112, 113, 225, -93, 231, 1, 103, - 51, 187, 276, 69, 188, 243, 1, 234, -93, 223, - 235, 194, 96, 97, 64, 5, 10, 118, 60, 216, - 61, 6, 118, 118, 277, 278, 118, 41, 61, 215, - 42, -92, 283, 124, 48, 49, -93, -93, 42, 126, - 110, 87, 294, 76, 77, -56, 60, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 257, - 34, -82, 259, 285, 119, -92, -56, 195, 225, 119, - 119, 26, 127, 119, 255, 51, 119, 129, 225, 151, - 59, 281, -92, 120, 135, 284, 152, -92, 249, -83, - 148, 120, 157, 121, 102, 102, 115, 116, 158, 191, - 45, 102, 102, 84, 85, 86, 303, 114, 87, 306, - 200, 201, 305, 61, 202, 307, 205, 94, 95, 207, - 192, 219, 196, 128, 197, 130, 131, 132, 133, 199, - 50, 52, 134, 53, 220, 150, 66, 69, 242, 239, - 198, 246, 70, 81, 227, 96, 97, 154, 155, 206, - 98, 252, 149, 230, 64, 64, 253, 212, 64, 237, - 64, 266, 176, 64, 292, 71, 72, 73, 104, 105, - 296, 156, 290, 297, 74, 160, 238, 76, 77, 67, - 265, 286, 287, 232, 55, 58, 218, 233, 64, 120, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 298, 64, 0, 186, 258, 106, 107, 248, - 0, 0, 264, 250, 251, 0, 0, 254, 153, 21, - 0, 51, 0, 0, 214, 288, 289, 204, 24, 0, - 51, 0, 0, 0, 270, 0, 272, 0, 213, 274, - 275, 0, 280, 0, 282, 217, 204, 0, 0, 221, - 222, 0, 236, 0, 0, 0, 240, 241, 0, 0, - 0, 102, 0, 0, 0, 0, 299, 0, 301, 0, - 0, 302, 102, 304, 0, 0, 66, 66, 0, 0, - 66, 245, 66, 0, 0, 66, 0, 0, 261, 0, - 211, 0, 0, 0, 0, 269, 0, 0, 0, 273, - 0, 0, 0, 0, 0, 260, 69, 262, 102, 0, - 66, 70, 0, 0, 69, 0, 0, 0, 295, 70, - 0, 0, 0, -78, 8, 66, 9, 10, 0, 300, - 11, 12, 0, 244, 71, 72, 0, 0, 0, 13, - 14, 0, 71, 72, 73, 0, 76, 77, 0, 0, - 0, 74, 0, 0, 76, 77, 0, 15, 16, 0, - 0, 263, 0, 17, 18, 19, 20, 1, 21, 271, - 0, 61, 0, 81, 22, 23, 0, 24, 161, 25, - 9, 10, 26, 27, 11, 12, 0, -9, 0, -9, - 0, 0, 0, 0, 0, 162, 0, 163, 164, 165, - -61, -61, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 0, 16, 175, 0, 0, 0, 17, 18, 19, - 20, -61, 21, 82, 83, 84, 85, 86, 22, 23, - 87, 24, 161, 25, 9, 10, 26, 27, 11, 12, - 0, 60, -61, 61, 0, 0, 0, 0, 0, 162, - 0, 163, 164, 165, -60, -60, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 0, 16, 175, 0, 0, - 0, 17, 18, 19, 20, -60, 21, 88, 89, 90, - 91, 92, 22, 23, 93, 24, 161, 25, 9, 10, - 26, 27, 11, 12, 0, 60, -60, 61, 0, 0, - 0, 0, 0, 162, 0, 163, 164, 165, 0, 0, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 0, - 16, 175, 0, 0, 0, 17, 18, 19, 20, 69, - 21, 0, 0, 0, 70, 69, 22, 23, 0, 24, - 70, 25, 0, 0, 26, 27, 0, 0, 0, 60, - 176, 61, 57, 0, 9, 10, 0, 71, 11, 12, - 0, -91, 0, 71, 72, 73, 0, 0, 0, 76, - 77, 0, 74, 0, 119, 76, 77, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 120, 0, 0, - 0, 17, 18, 19, 20, -91, 21, 0, 0, 0, - 0, 0, 22, 23, 0, 24, 0, 25, 0, 0, - 26, 228, -91, 0, 9, 10, 0, -91, 11, 12, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, - 0, 163, 164, 165, 0, 0, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 0, 16, 175, 0, 0, - 0, 17, 18, 19, 20, 0, 21, 0, 0, 0, - 0, 0, 22, 23, 0, 24, 0, 25, 9, 10, - 26, 27, 11, 12, 0, 60, 0, 61, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, - 9, 10, 0, 0, 11, 12, 0, 0, 0, 0, - 16, 0, 0, 0, 0, 17, 18, 19, 20, 0, - 21, 0, 0, 0, 0, 0, 22, 23, 0, 24, - 0, 25, 16, 0, 26, 27, 0, 17, 18, 19, - 20, 61, 21, 0, 0, 69, 0, 0, 22, 23, - 70, 24, 0, 25, 0, 0, 26, 27, -91, 57, - 0, 9, 10, 0, 0, 11, 12, 0, 0, 0, - 0, 0, 0, 71, 72, 73, 0, 0, 0, 0, - 0, 159, 74, 9, 10, 76, 77, 11, 12, 0, - 0, 0, 0, 16, 0, 0, 0, 0, 17, 18, - 19, 20, 0, 21, 0, 0, 0, 0, 0, 22, - 23, 0, 24, 0, 25, 16, 0, 26, 27, 69, - 17, 18, 19, 20, 70, 21, 0, 0, 0, 0, - 0, 22, 23, 0, 24, 0, 25, 9, 224, 26, - 27, 11, 12, 0, 0, 0, 0, 71, 72, 73, - 0, 0, 0, 0, 0, 164, 74, 0, 75, 76, - 77, 0, 0, 0, 171, 172, 0, 0, 0, 16, - 0, 0, 0, 69, 17, 18, 19, 20, 70, 21, - 0, 0, 0, 0, 0, 22, 23, 0, 24, 0, - 25, 9, 10, 26, 27, 11, 12, 0, 0, 0, - 0, 71, 72, 73, 0, 0, 0, 0, 0, 164, - 74, 185, 0, 76, 77, 0, 0, 0, 171, 172, - 0, 0, 0, 16, 0, 0, 0, 0, 17, 18, - 19, 20, 0, 21, 0, 0, 0, 0, 0, 22, - 23, 0, 24, 0, 25, 9, 10, 26, 27, 11, - 12, 0, 0, 80, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 9, 10, 0, - 0, 11, 12, 0, 0, 0, 0, 16, 0, 0, - 0, 0, 17, 18, 19, 20, 0, 21, 0, 0, - 0, 0, 0, 22, 23, 0, 24, 0, 25, 16, - 0, 26, 27, 0, 17, 18, 19, 20, 0, 21, - 0, 0, 0, 0, 0, 22, 23, 0, 24, 0, - 25, 9, 10, 26, 27, 11, 12, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 36, 237, 215, 37, 71, 71, 118, 119, 200, 222, + 63, 124, 231, 10, 249, 1, 289, 1, 193, 1, + -94, 194, 124, 6, 240, 64, 300, 241, 109, 5, + 70, 102, 103, 282, 121, 122, 66, 229, 67, 47, + 67, 46, 108, 108, 124, 124, 47, 53, 221, 108, + 108, 9, 54, 66, 116, 120, -94, 283, 284, 130, + 125, -95, 93, 133, 261, 132, 201, 291, 141, 135, + 28, 125, 134, -94, 136, 137, 138, 139, -58, -94, + -84, 140, 50, 51, 52, 231, 157, 263, 56, 56, + 265, 56, 61, 125, 125, 231, 154, 125, 292, 293, + -58, 155, 56, -95, -95, 126, 75, 126, 255, 287, + -85, 76, 158, 290, 164, 197, 198, 202, 163, 309, + 162, 203, 312, 205, 166, 67, 75, 225, 226, 110, + 111, -95, 245, 248, 258, 252, 77, 78, 23, 259, + 311, 127, 272, 313, 294, 295, 302, 26, 82, 83, + 182, 298, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 72, 303, 204, 236, 82, 83, + 112, 113, 296, 70, 70, 212, 210, 70, 73, 70, + 56, 271, 70, 218, 156, 60, 224, 219, 100, 101, + 65, 304, 192, 0, 223, 210, 160, 161, 227, 228, + 0, 0, 0, 75, 0, 50, 244, 70, 76, 238, + 108, 55, 57, 239, 58, 63, 0, 0, 102, 103, + 0, 108, 70, 104, 0, 87, 0, 0, 264, 0, + 251, 0, 0, 77, 0, 254, 90, 91, 92, 256, + 257, 93, 270, 260, 0, 82, 83, 0, 88, 89, + 90, 91, 92, 0, 266, 93, 268, 108, 0, 0, + 276, 0, 278, 0, 0, 280, 281, 0, 286, 0, + 288, 0, 0, 220, 0, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 0, 0, 206, + 207, 0, 305, 208, 307, 211, 0, 308, 213, 310, + 0, 242, 0, 159, 0, 246, 247, 72, 72, 0, + 0, 72, 0, 72, 0, 75, 72, 0, 0, 0, + 76, 217, 0, 233, 0, 0, 56, 94, 95, 96, + 97, 98, 0, 0, 99, 56, 0, 267, 243, 0, + 0, 72, 0, 0, 275, 77, 78, 79, 279, 0, + 0, 0, 0, 0, 80, 0, 72, 82, 83, 0, + 0, 0, 0, 0, 250, -80, 8, 301, 9, 10, + 0, 0, 11, 12, 0, 67, 0, 0, 306, 0, + 0, 13, 14, 0, 0, 0, 0, 15, 16, 0, + 0, 0, 269, 0, 0, 0, 0, 0, 75, 0, + 277, 17, 18, 76, 0, 0, 0, 19, 20, 21, + 22, 1, 23, 0, 0, 0, 0, 0, 24, 25, + 0, 26, 0, 27, 0, 0, 28, 29, 77, 78, + 79, 30, -9, 0, -9, 0, 167, 80, 9, 10, + 82, 83, 11, 12, 0, 0, 0, 0, 0, 0, + 0, 0, 126, 168, 0, 169, 170, 0, 87, 171, + -63, -63, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 0, 18, 181, 0, 0, 0, 19, 20, 21, + 22, -63, 23, 0, 0, 0, 0, 0, 24, 25, + 0, 26, 167, 27, 9, 10, 28, 29, 11, 12, + 0, 30, 66, -63, 67, 0, 0, 0, 0, 168, + 0, 169, 170, 0, 0, 171, -62, -62, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 0, 18, 181, + 0, 0, 0, 19, 20, 21, 22, -62, 23, 0, + 0, 0, 0, 0, 24, 25, 0, 26, 167, 27, + 9, 10, 28, 29, 11, 12, 0, 30, 66, -62, + 67, 0, 0, 0, 0, 168, 0, 169, 170, 0, + 0, 171, 0, 0, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 0, 18, 181, 0, 0, 0, 19, + 20, 21, 22, 0, 23, 0, 0, 75, 0, 0, + 24, 25, 76, 26, 0, 27, 0, 0, 28, 29, + 0, 0, 0, 30, 66, 182, 67, 62, 0, 9, + 10, 0, 0, 11, 12, 0, -93, 77, 78, 79, + 0, 0, 0, 0, 0, 0, 80, 0, 125, 82, + 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 126, 0, 18, 0, 0, 0, 0, 19, 20, + 21, 22, -93, 23, 0, 0, 0, 0, 0, 24, + 25, 0, 26, 0, 27, 0, 0, 28, 234, -93, + 0, 0, 30, 9, 10, -93, 0, 11, 12, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, + 169, 170, 0, 0, 171, 0, 0, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 0, 18, 181, 0, + 0, 75, 19, 20, 21, 22, 76, 23, 0, 0, + 0, 0, 0, 24, 25, 0, 26, 0, 27, 9, + 10, 28, 29, 11, 12, 0, 30, 66, 0, 67, + 0, 77, 78, 79, 0, 0, 0, 0, 0, 0, + 80, 0, 81, 82, 83, 62, 0, 9, 10, 0, + 0, 11, 12, 18, 0, 0, 0, 0, 19, 20, + 21, 22, 0, 23, 0, 0, 0, 0, 0, 24, + 25, 0, 26, 62, 27, 9, 10, 28, 29, 11, + 12, 18, 30, 0, 0, 67, 19, 20, 21, 22, + 0, 23, 0, 0, 0, 0, 0, 24, 25, 0, + 26, 0, 27, 0, 0, 28, 29, -93, 0, 18, + 30, 0, 0, 75, 19, 20, 21, 22, 76, 23, + 0, 0, 0, 0, 0, 24, 25, 0, 26, 165, + 27, 9, 10, 28, 29, 11, 12, 0, 30, 0, + 0, 0, 0, 77, 78, 79, 0, 0, 0, 0, + 0, 0, 80, 191, 0, 82, 83, 0, 9, 230, + 0, 0, 11, 12, 0, 18, 0, 0, 0, 0, + 19, 20, 21, 22, 0, 23, 170, 0, 0, 0, + 0, 24, 25, 0, 26, 0, 27, 177, 178, 28, + 29, 0, 18, 0, 30, 0, 75, 19, 20, 21, + 22, 76, 23, 0, 0, 0, 0, 0, 24, 25, + 0, 26, 0, 27, 9, 10, 28, 29, 11, 12, + 0, 30, 0, 0, 0, 0, 77, 78, 79, 0, + 0, 0, 170, 0, 0, 80, 0, 0, 82, 83, + 0, 9, 10, 177, 178, 11, 12, 0, 18, 86, + 0, 0, 0, 19, 20, 21, 22, 0, 23, 0, + 0, 0, 0, 0, 24, 25, 0, 26, 0, 27, + 0, 0, 28, 29, 0, 18, 0, 30, 0, 0, + 19, 20, 21, 22, 0, 23, 0, 0, 0, 0, + 0, 24, 25, 0, 26, 0, 27, 9, 10, 28, + 29, 11, 12, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, - 19, 20, 0, 21, 0, 0, 0, 0, 0, 22, - 23, 0, 24, 0, 25, 0, 0, 26, 54 + 0, 0, 9, 10, 0, 0, 11, 12, 0, 0, + 0, 18, 0, 0, 0, 0, 19, 20, 21, 22, + 0, 23, 0, 0, 0, 0, 0, 24, 25, 0, + 26, 0, 27, 0, 0, 28, 29, 0, 0, 0, + 30, 19, 20, 21, 22, 0, 23, 0, 0, 0, + 0, 0, 24, 25, 0, 26, 0, 27, 0, 0, + 28, 59, 0, 0, 0, 30 }; static const yytype_int16 yycheck[] = { - 7, 16, 17, 18, 27, 29, 30, 22, 23, 182, - 25, 26, 44, 48, 49, 199, 9, 209, 44, 42, - 35, 1, 1, 9, 4, 37, 44, 1, 14, 198, - 4, 4, 40, 41, 29, 0, 4, 1, 64, 190, - 66, 44, 1, 1, 23, 24, 1, 60, 66, 1, - 62, 10, 272, 60, 60, 60, 49, 50, 62, 66, - 49, 58, 282, 49, 50, 44, 64, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 248, - 7, 61, 251, 275, 48, 44, 65, 60, 272, 48, - 48, 59, 5, 48, 245, 110, 48, 4, 282, 63, - 27, 270, 61, 61, 35, 274, 60, 66, 63, 61, - 13, 61, 119, 58, 41, 42, 40, 41, 37, 4, - 135, 48, 49, 53, 54, 55, 299, 54, 58, 302, - 169, 170, 301, 66, 173, 304, 175, 12, 13, 178, - 60, 62, 60, 70, 60, 72, 73, 74, 75, 60, - 22, 23, 79, 25, 4, 100, 29, 9, 25, 61, - 167, 10, 14, 35, 203, 40, 41, 112, 113, 176, - 45, 60, 99, 208, 169, 170, 4, 184, 173, 218, - 175, 19, 65, 178, 47, 37, 38, 39, 3, 4, - 7, 118, 277, 7, 46, 122, 219, 49, 50, 30, - 256, 7, 8, 210, 26, 228, 193, 214, 203, 61, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 291, 218, -1, 135, 250, 42, 43, 236, - -1, -1, 255, 240, 241, -1, -1, 244, 110, 45, - -1, 256, -1, -1, 189, 51, 52, 174, 54, -1, - 265, -1, -1, -1, 261, -1, 263, -1, 185, 266, - 267, -1, 269, -1, 271, 192, 193, -1, -1, 196, - 197, -1, 217, -1, -1, -1, 221, 222, -1, -1, - -1, 208, -1, -1, -1, -1, 293, -1, 295, -1, - -1, 298, 219, 300, -1, -1, 169, 170, -1, -1, - 173, 228, 175, -1, -1, 178, -1, -1, 253, -1, - 183, -1, -1, -1, -1, 260, -1, -1, -1, 264, - -1, -1, -1, -1, -1, 252, 9, 254, 255, -1, - 203, 14, -1, -1, 9, -1, -1, -1, 283, 14, - -1, -1, -1, 0, 1, 218, 3, 4, -1, 294, - 7, 8, -1, 226, 37, 38, -1, -1, -1, 16, - 17, -1, 37, 38, 39, -1, 49, 50, -1, -1, - -1, 46, -1, -1, 49, 50, -1, 34, 35, -1, - -1, 254, -1, 40, 41, 42, 43, 44, 45, 262, - -1, 66, -1, 265, 51, 52, -1, 54, 1, 56, - 3, 4, 59, 60, 7, 8, -1, 64, -1, 66, - -1, -1, -1, -1, -1, 18, -1, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, -1, 35, 36, -1, -1, -1, 40, 41, 42, - 43, 44, 45, 51, 52, 53, 54, 55, 51, 52, - 58, 54, 1, 56, 3, 4, 59, 60, 7, 8, - -1, 64, 65, 66, -1, -1, -1, -1, -1, 18, - -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, -1, 35, 36, -1, -1, - -1, 40, 41, 42, 43, 44, 45, 51, 52, 53, - 54, 55, 51, 52, 58, 54, 1, 56, 3, 4, - 59, 60, 7, 8, -1, 64, 65, 66, -1, -1, - -1, -1, -1, 18, -1, 20, 21, 22, -1, -1, - 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, - 35, 36, -1, -1, -1, 40, 41, 42, 43, 9, - 45, -1, -1, -1, 14, 9, 51, 52, -1, 54, - 14, 56, -1, -1, 59, 60, -1, -1, -1, 64, - 65, 66, 1, -1, 3, 4, -1, 37, 7, 8, - -1, 10, -1, 37, 38, 39, -1, -1, -1, 49, - 50, -1, 46, -1, 48, 49, 50, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 35, 61, -1, -1, - -1, 40, 41, 42, 43, 44, 45, -1, -1, -1, - -1, -1, 51, 52, -1, 54, -1, 56, -1, -1, - 59, 60, 61, -1, 3, 4, -1, 66, 7, 8, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, - -1, 20, 21, 22, -1, -1, 25, 26, 27, 28, - 29, 30, 31, 32, 33, -1, 35, 36, -1, -1, - -1, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, -1, 51, 52, -1, 54, -1, 56, 3, 4, - 59, 60, 7, 8, -1, 64, -1, 66, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, - 3, 4, -1, -1, 7, 8, -1, -1, -1, -1, - 35, -1, -1, -1, -1, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, - -1, 56, 35, -1, 59, 60, -1, 40, 41, 42, - 43, 66, 45, -1, -1, 9, -1, -1, 51, 52, - 14, 54, -1, 56, -1, -1, 59, 60, 61, 1, - -1, 3, 4, -1, -1, 7, 8, -1, -1, -1, - -1, -1, -1, 37, 38, 39, -1, -1, -1, -1, - -1, 1, 46, 3, 4, 49, 50, 7, 8, -1, - -1, -1, -1, 35, -1, -1, -1, -1, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, - 52, -1, 54, -1, 56, 35, -1, 59, 60, 9, - 40, 41, 42, 43, 14, 45, -1, -1, -1, -1, - -1, 51, 52, -1, 54, -1, 56, 3, 4, 59, - 60, 7, 8, -1, -1, -1, -1, 37, 38, 39, - -1, -1, -1, -1, -1, 21, 46, -1, 48, 49, - 50, -1, -1, -1, 30, 31, -1, -1, -1, 35, - -1, -1, -1, 9, 40, 41, 42, 43, 14, 45, - -1, -1, -1, -1, -1, 51, 52, -1, 54, -1, - 56, 3, 4, 59, 60, 7, 8, -1, -1, -1, - -1, 37, 38, 39, -1, -1, -1, -1, -1, 21, - 46, 47, -1, 49, 50, -1, -1, -1, 30, 31, - -1, -1, -1, 35, -1, -1, -1, -1, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, - 52, -1, 54, -1, 56, 3, 4, 59, 60, 7, - 8, -1, -1, 11, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3, 4, -1, - -1, 7, 8, -1, -1, -1, -1, 35, -1, -1, - -1, -1, 40, 41, 42, 43, -1, 45, -1, -1, - -1, -1, -1, 51, 52, -1, 54, -1, 56, 35, - -1, 59, 60, -1, 40, 41, 42, 43, -1, 45, - -1, -1, -1, -1, -1, 51, 52, -1, 54, -1, - 56, 3, 4, 59, 60, 7, 8, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 7, 215, 188, 7, 32, 33, 53, 54, 4, 196, + 29, 1, 205, 4, 39, 46, 278, 46, 1, 46, + 10, 4, 1, 46, 1, 29, 288, 4, 47, 0, + 32, 42, 43, 1, 42, 43, 67, 204, 69, 64, + 69, 62, 46, 47, 1, 1, 64, 62, 1, 53, + 54, 3, 62, 67, 51, 59, 46, 25, 26, 66, + 50, 9, 60, 5, 251, 72, 62, 281, 37, 4, + 61, 50, 76, 63, 78, 79, 80, 81, 46, 69, + 63, 85, 18, 19, 20, 278, 65, 254, 24, 25, + 257, 27, 28, 50, 50, 288, 13, 50, 7, 8, + 68, 105, 38, 51, 52, 63, 9, 63, 65, 276, + 63, 14, 62, 280, 39, 4, 62, 62, 125, 305, + 124, 62, 308, 62, 128, 69, 9, 64, 4, 3, + 4, 14, 63, 27, 62, 10, 39, 40, 47, 4, + 307, 63, 19, 310, 53, 54, 7, 56, 51, 52, + 68, 49, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 32, 7, 173, 214, 51, 52, + 44, 45, 283, 175, 176, 182, 180, 179, 33, 181, + 116, 262, 184, 190, 106, 28, 199, 191, 12, 13, + 30, 297, 141, -1, 198, 199, 118, 119, 202, 203, + -1, -1, -1, 9, -1, 141, 225, 209, 14, 216, + 214, 24, 25, 220, 27, 234, -1, -1, 42, 43, + -1, 225, 224, 47, -1, 38, -1, -1, 256, -1, + 234, -1, -1, 39, -1, 242, 55, 56, 57, 246, + 247, 60, 261, 250, -1, 51, 52, -1, 53, 54, + 55, 56, 57, -1, 258, 60, 260, 261, -1, -1, + 267, -1, 269, -1, -1, 272, 273, -1, 275, -1, + 277, -1, -1, 195, -1, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, -1, -1, 175, + 176, -1, 299, 179, 301, 181, -1, 304, 184, 306, + -1, 223, -1, 116, -1, 227, 228, 175, 176, -1, + -1, 179, -1, 181, -1, 9, 184, -1, -1, -1, + 14, 189, -1, 209, -1, -1, 262, 53, 54, 55, + 56, 57, -1, -1, 60, 271, -1, 259, 224, -1, + -1, 209, -1, -1, 266, 39, 40, 41, 270, -1, + -1, -1, -1, -1, 48, -1, 224, 51, 52, -1, + -1, -1, -1, -1, 232, 0, 1, 289, 3, 4, + -1, -1, 7, 8, -1, 69, -1, -1, 300, -1, + -1, 16, 17, -1, -1, -1, -1, 22, 23, -1, + -1, -1, 260, -1, -1, -1, -1, -1, 9, -1, + 268, 36, 37, 14, -1, -1, -1, 42, 43, 44, + 45, 46, 47, -1, -1, -1, -1, -1, 53, 54, + -1, 56, -1, 58, -1, -1, 61, 62, 39, 40, + 41, 66, 67, -1, 69, -1, 1, 48, 3, 4, + 51, 52, 7, 8, -1, -1, -1, -1, -1, -1, + -1, -1, 63, 18, -1, 20, 21, -1, 271, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, -1, 37, 38, -1, -1, -1, 42, 43, 44, + 45, 46, 47, -1, -1, -1, -1, -1, 53, 54, + -1, 56, 1, 58, 3, 4, 61, 62, 7, 8, + -1, 66, 67, 68, 69, -1, -1, -1, -1, 18, + -1, 20, 21, -1, -1, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, -1, 37, 38, + -1, -1, -1, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, 53, 54, -1, 56, 1, 58, + 3, 4, 61, 62, 7, 8, -1, 66, 67, 68, + 69, -1, -1, -1, -1, 18, -1, 20, 21, -1, + -1, 24, -1, -1, 27, 28, 29, 30, 31, 32, + 33, 34, 35, -1, 37, 38, -1, -1, -1, 42, + 43, 44, 45, -1, 47, -1, -1, 9, -1, -1, + 53, 54, 14, 56, -1, 58, -1, -1, 61, 62, + -1, -1, -1, 66, 67, 68, 69, 1, -1, 3, + 4, -1, -1, 7, 8, -1, 10, 39, 40, 41, + -1, -1, -1, -1, -1, -1, 48, -1, 50, 51, + 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 63, -1, 37, -1, -1, -1, -1, 42, 43, + 44, 45, 46, 47, -1, -1, -1, -1, -1, 53, + 54, -1, 56, -1, 58, -1, -1, 61, 62, 63, + -1, -1, 66, 3, 4, 69, -1, 7, 8, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 18, -1, + 20, 21, -1, -1, 24, -1, -1, 27, 28, 29, + 30, 31, 32, 33, 34, 35, -1, 37, 38, -1, + -1, 9, 42, 43, 44, 45, 14, 47, -1, -1, + -1, -1, -1, 53, 54, -1, 56, -1, 58, 3, + 4, 61, 62, 7, 8, -1, 66, 67, -1, 69, + -1, 39, 40, 41, -1, -1, -1, -1, -1, -1, + 48, -1, 50, 51, 52, 1, -1, 3, 4, -1, + -1, 7, 8, 37, -1, -1, -1, -1, 42, 43, + 44, 45, -1, 47, -1, -1, -1, -1, -1, 53, + 54, -1, 56, 1, 58, 3, 4, 61, 62, 7, + 8, 37, 66, -1, -1, 69, 42, 43, 44, 45, + -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, + 56, -1, 58, -1, -1, 61, 62, 63, -1, 37, + 66, -1, -1, 9, 42, 43, 44, 45, 14, 47, + -1, -1, -1, -1, -1, 53, 54, -1, 56, 1, + 58, 3, 4, 61, 62, 7, 8, -1, 66, -1, + -1, -1, -1, 39, 40, 41, -1, -1, -1, -1, + -1, -1, 48, 49, -1, 51, 52, -1, 3, 4, + -1, -1, 7, 8, -1, 37, -1, -1, -1, -1, + 42, 43, 44, 45, -1, 47, 21, -1, -1, -1, + -1, 53, 54, -1, 56, -1, 58, 32, 33, 61, + 62, -1, 37, -1, 66, -1, 9, 42, 43, 44, + 45, 14, 47, -1, -1, -1, -1, -1, 53, 54, + -1, 56, -1, 58, 3, 4, 61, 62, 7, 8, + -1, 66, -1, -1, -1, -1, 39, 40, 41, -1, + -1, -1, 21, -1, -1, 48, -1, -1, 51, 52, + -1, 3, 4, 32, 33, 7, 8, -1, 37, 11, + -1, -1, -1, 42, 43, 44, 45, -1, 47, -1, + -1, -1, -1, -1, 53, 54, -1, 56, -1, 58, + -1, -1, 61, 62, -1, 37, -1, 66, -1, -1, + 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, + -1, 53, 54, -1, 56, -1, 58, 3, 4, 61, + 62, 7, 8, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, - 52, -1, 54, -1, 56, -1, -1, 59, 60 + -1, -1, 3, 4, -1, -1, 7, 8, -1, -1, + -1, 37, -1, -1, -1, -1, 42, 43, 44, 45, + -1, 47, -1, -1, -1, -1, -1, 53, 54, -1, + 56, -1, 58, -1, -1, 61, 62, -1, -1, -1, + 66, 42, 43, 44, 45, -1, 47, -1, -1, -1, + -1, -1, 53, 54, -1, 56, -1, 58, -1, -1, + 61, 62, -1, -1, -1, 66 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 44, 68, 96, 97, 0, 44, 69, 1, 3, - 4, 7, 8, 16, 17, 34, 35, 40, 41, 42, - 43, 45, 51, 52, 54, 56, 59, 60, 70, 71, - 75, 77, 79, 97, 104, 108, 109, 110, 111, 113, - 114, 60, 62, 76, 112, 113, 113, 113, 60, 60, - 109, 113, 109, 109, 60, 111, 113, 1, 103, 104, - 64, 66, 72, 81, 96, 116, 120, 72, 78, 9, - 14, 37, 38, 39, 46, 48, 49, 50, 106, 107, - 11, 109, 51, 52, 53, 54, 55, 58, 51, 52, - 53, 54, 55, 58, 12, 13, 40, 41, 45, 105, - 102, 103, 104, 103, 3, 4, 42, 43, 73, 74, - 49, 98, 102, 102, 104, 40, 41, 115, 1, 48, - 61, 118, 122, 118, 97, 80, 97, 5, 104, 4, - 104, 104, 104, 104, 104, 35, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 13, 104, - 118, 63, 60, 109, 118, 118, 104, 97, 37, 1, - 104, 1, 18, 20, 21, 22, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 36, 65, 82, 84, 91, - 95, 104, 116, 117, 120, 47, 112, 1, 4, 99, - 100, 4, 60, 83, 4, 60, 60, 60, 97, 60, - 81, 81, 81, 101, 104, 81, 97, 81, 85, 80, - 119, 120, 97, 104, 118, 1, 122, 104, 101, 62, - 4, 104, 104, 82, 4, 84, 86, 81, 60, 92, - 102, 117, 97, 97, 1, 4, 118, 81, 103, 61, - 118, 118, 25, 37, 120, 104, 10, 93, 97, 63, - 97, 97, 60, 4, 97, 122, 94, 82, 116, 82, - 104, 118, 104, 120, 103, 108, 19, 87, 88, 118, - 97, 120, 97, 118, 97, 97, 1, 23, 24, 89, - 97, 82, 97, 86, 82, 117, 7, 8, 51, 52, - 77, 90, 47, 121, 86, 118, 7, 7, 121, 97, - 118, 97, 97, 80, 97, 82, 80, 82 + 0, 46, 71, 99, 100, 0, 46, 72, 1, 3, + 4, 7, 8, 16, 17, 22, 23, 36, 37, 42, + 43, 44, 45, 47, 53, 54, 56, 58, 61, 62, + 66, 73, 74, 78, 80, 82, 100, 107, 111, 112, + 113, 114, 115, 116, 118, 119, 62, 64, 79, 117, + 118, 118, 118, 62, 62, 112, 118, 112, 112, 62, + 114, 118, 1, 106, 107, 116, 67, 69, 75, 84, + 99, 121, 125, 75, 81, 9, 14, 39, 40, 41, + 48, 50, 51, 52, 109, 110, 11, 112, 53, 54, + 55, 56, 57, 60, 53, 54, 55, 56, 57, 60, + 12, 13, 42, 43, 47, 108, 105, 106, 107, 106, + 3, 4, 44, 45, 76, 77, 51, 101, 105, 105, + 107, 42, 43, 120, 1, 50, 63, 123, 127, 123, + 100, 83, 100, 5, 107, 4, 107, 107, 107, 107, + 107, 37, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 13, 107, 123, 65, 62, 112, + 123, 123, 107, 100, 39, 1, 107, 1, 18, 20, + 21, 24, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 38, 68, 85, 87, 94, 98, 107, 121, 122, + 125, 49, 117, 1, 4, 102, 103, 4, 62, 86, + 4, 62, 62, 62, 100, 62, 84, 84, 84, 104, + 107, 84, 100, 84, 88, 83, 124, 125, 100, 107, + 123, 1, 127, 107, 104, 64, 4, 107, 107, 85, + 4, 87, 89, 84, 62, 95, 105, 122, 100, 100, + 1, 4, 123, 84, 106, 63, 123, 123, 27, 39, + 125, 107, 10, 96, 100, 65, 100, 100, 62, 4, + 100, 127, 97, 85, 121, 85, 107, 123, 107, 125, + 106, 111, 19, 90, 91, 123, 100, 125, 100, 123, + 100, 100, 1, 25, 26, 92, 100, 85, 100, 89, + 85, 122, 7, 8, 53, 54, 80, 93, 49, 126, + 89, 123, 7, 7, 126, 100, 123, 100, 100, 83, + 100, 85, 83, 85 }; #define yyerrok (yyerrstatus = 0) @@ -1155,18 +1177,9 @@ static const yytype_uint8 yystos[] = /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ + Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif #define YYRECOVERING() (!!yyerrstatus) @@ -1223,7 +1236,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -1962,8 +1975,8 @@ yyreduce: { case 2: -/* Line 1464 of yacc.c */ -#line 182 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 188 "awkgram.y" { check_funcs(); } @@ -1971,20 +1984,20 @@ yyreduce: case 4: -/* Line 1464 of yacc.c */ -#line 190 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 196 "awkgram.y" { - begin_or_end_rule = parsing_end_rule = FALSE; + beginfile_or_endfile_rule = begin_or_end_rule = parsing_end_rule = FALSE; yyerrok; } break; case 5: -/* Line 1464 of yacc.c */ -#line 195 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 201 "awkgram.y" { - begin_or_end_rule = parsing_end_rule = FALSE; + beginfile_or_endfile_rule = begin_or_end_rule = parsing_end_rule = FALSE; /* * If errors, give up, don't produce an infinite * stream of syntax error messages. @@ -1995,8 +2008,8 @@ yyreduce: case 6: -/* Line 1464 of yacc.c */ -#line 207 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 213 "awkgram.y" { (yyvsp[(1) - (2)].nodeval)->rnode = (yyvsp[(2) - (2)].nodeval); } @@ -2004,8 +2017,8 @@ yyreduce: case 7: -/* Line 1464 of yacc.c */ -#line 211 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 217 "awkgram.y" { if ((yyvsp[(1) - (2)].nodeval)->lnode != NULL) { /* pattern rule with non-empty pattern */ @@ -2015,6 +2028,9 @@ yyreduce: if (begin_or_end_rule) msg(_("%s blocks must have an action part"), (parsing_end_rule ? "END" : "BEGIN")); + else if (beginfile_or_endfile_rule) + msg(_("%s blocks must have an action part"), + (parsing_endfile_rule ? "ENDFILE" : "BEGINFILE")); else msg(_("each rule must have a pattern or an action part")); errcount++; @@ -2024,8 +2040,8 @@ yyreduce: case 8: -/* Line 1464 of yacc.c */ -#line 226 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 235 "awkgram.y" { can_return = FALSE; if ((yyvsp[(1) - (2)].nodeval)) @@ -2036,8 +2052,8 @@ yyreduce: case 9: -/* Line 1464 of yacc.c */ -#line 236 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 245 "awkgram.y" { (yyval.nodeval) = append_pattern(&expression_value, (NODE *) NULL); } @@ -2045,8 +2061,8 @@ yyreduce: case 10: -/* Line 1464 of yacc.c */ -#line 240 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 249 "awkgram.y" { (yyval.nodeval) = append_pattern(&expression_value, (yyvsp[(1) - (1)].nodeval)); } @@ -2054,8 +2070,8 @@ yyreduce: case 11: -/* Line 1464 of yacc.c */ -#line 244 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 253 "awkgram.y" { NODE *r; @@ -2069,8 +2085,8 @@ yyreduce: case 12: -/* Line 1464 of yacc.c */ -#line 254 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 263 "awkgram.y" { static int begin_seen = 0; if (do_lint_old && ++begin_seen == 2) @@ -2083,8 +2099,8 @@ yyreduce: case 13: -/* Line 1464 of yacc.c */ -#line 263 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 272 "awkgram.y" { static int end_seen = 0; if (do_lint_old && ++end_seen == 2) @@ -2097,29 +2113,49 @@ yyreduce: case 14: -/* Line 1464 of yacc.c */ -#line 275 "awkgram.y" - { (yyval.nodeval) = (yyvsp[(2) - (5)].nodeval); } +/* Line 1455 of yacc.c */ +#line 281 "awkgram.y" + { + beginfile_or_endfile_rule = TRUE; + (yyval.nodeval) = append_pattern(&beginfile_block, (NODE *) NULL); + } break; case 15: -/* Line 1464 of yacc.c */ -#line 280 "awkgram.y" - { (yyval.sval) = (yyvsp[(1) - (1)].sval); } +/* Line 1455 of yacc.c */ +#line 286 "awkgram.y" + { + beginfile_or_endfile_rule = parsing_endfile_rule = TRUE; + (yyval.nodeval) = append_pattern(&endfile_block, (NODE *) NULL); + } break; case 16: -/* Line 1464 of yacc.c */ -#line 282 "awkgram.y" - { (yyval.sval) = (yyvsp[(1) - (1)].sval); } +/* Line 1455 of yacc.c */ +#line 294 "awkgram.y" + { (yyval.nodeval) = (yyvsp[(2) - (5)].nodeval); } break; case 17: -/* Line 1464 of yacc.c */ -#line 284 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 299 "awkgram.y" + { (yyval.sval) = (yyvsp[(1) - (1)].sval); } + break; + + case 18: + +/* Line 1455 of yacc.c */ +#line 301 "awkgram.y" + { (yyval.sval) = (yyvsp[(1) - (1)].sval); } + break; + + case 19: + +/* Line 1455 of yacc.c */ +#line 303 "awkgram.y" { yyerror(_("`%s' is a built-in function, it cannot be redefined"), tokstart); @@ -2129,19 +2165,19 @@ yyreduce: } break; - case 20: + case 22: -/* Line 1464 of yacc.c */ -#line 300 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 319 "awkgram.y" { param_counter = 0; } break; - case 21: + case 23: -/* Line 1464 of yacc.c */ -#line 304 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 323 "awkgram.y" { NODE *t; @@ -2155,17 +2191,17 @@ yyreduce: } break; - case 22: + case 24: -/* Line 1464 of yacc.c */ -#line 323 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 342 "awkgram.y" { ++want_regexp; } break; - case 23: + case 25: -/* Line 1464 of yacc.c */ -#line 325 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 344 "awkgram.y" { NODE *n; size_t len = strlen((yyvsp[(3) - (3)].sval)); @@ -2188,17 +2224,17 @@ yyreduce: } break; - case 26: + case 28: -/* Line 1464 of yacc.c */ -#line 354 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 373 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 27: + case 29: -/* Line 1464 of yacc.c */ -#line 356 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 375 "awkgram.y" { if ((yyvsp[(2) - (2)].nodeval) == NULL) (yyval.nodeval) = (yyvsp[(1) - (2)].nodeval); @@ -2218,59 +2254,59 @@ yyreduce: } break; - case 28: + case 30: -/* Line 1464 of yacc.c */ -#line 374 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 393 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 31: + case 33: -/* Line 1464 of yacc.c */ -#line 384 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 403 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 32: + case 34: -/* Line 1464 of yacc.c */ -#line 386 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 405 "awkgram.y" { (yyval.nodeval) = (yyvsp[(2) - (3)].nodeval); } break; - case 33: + case 35: -/* Line 1464 of yacc.c */ -#line 388 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 407 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 34: + case 36: -/* Line 1464 of yacc.c */ -#line 390 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 409 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(3) - (9)].nodeval), Node_K_switch, (yyvsp[(7) - (9)].nodeval)); } break; - case 35: + case 37: -/* Line 1464 of yacc.c */ -#line 392 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 411 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(3) - (6)].nodeval), Node_K_while, (yyvsp[(6) - (6)].nodeval)); } break; - case 36: + case 38: -/* Line 1464 of yacc.c */ -#line 394 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 413 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(6) - (8)].nodeval), Node_K_do, (yyvsp[(3) - (8)].nodeval)); } break; - case 37: + case 39: -/* Line 1464 of yacc.c */ -#line 396 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 415 "awkgram.y" { /* * Efficiency hack. Recognize the special case of @@ -2316,57 +2352,60 @@ yyreduce: } break; - case 38: + case 40: -/* Line 1464 of yacc.c */ -#line 440 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 459 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(12) - (12)].nodeval), Node_K_for, (NODE *) make_for_loop((yyvsp[(3) - (12)].nodeval), (yyvsp[(6) - (12)].nodeval), (yyvsp[(9) - (12)].nodeval))); } break; - case 39: + case 41: -/* Line 1464 of yacc.c */ -#line 444 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 463 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(11) - (11)].nodeval), Node_K_for, (NODE *) make_for_loop((yyvsp[(3) - (11)].nodeval), (NODE *) NULL, (yyvsp[(8) - (11)].nodeval))); } break; - case 40: + case 42: -/* Line 1464 of yacc.c */ -#line 450 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 469 "awkgram.y" { (yyval.nodeval) = node((NODE *) NULL, Node_K_break, (NODE *) NULL); } break; - case 41: + case 43: -/* Line 1464 of yacc.c */ -#line 453 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 472 "awkgram.y" { (yyval.nodeval) = node((NODE *) NULL, Node_K_continue, (NODE *) NULL); } break; - case 42: + case 44: -/* Line 1464 of yacc.c */ -#line 455 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 474 "awkgram.y" { NODETYPE type; if (begin_or_end_rule) yyerror(_("`%s' used in %s action"), "next", (parsing_end_rule ? "END" : "BEGIN")); + else if (beginfile_or_endfile_rule) + yyerror(_("`%s' used in %s action"), "next", + (parsing_endfile_rule ? "ENDFILE" : "BEGINFILE")); type = Node_K_next; (yyval.nodeval) = node((NODE *) NULL, type, (NODE *) NULL); } break; - case 43: + case 45: -/* Line 1464 of yacc.c */ -#line 464 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 486 "awkgram.y" { static short warned = FALSE; @@ -2388,48 +2427,62 @@ yyreduce: error(_("`%s' used in %s action"), "nextfile", (parsing_end_rule ? "END" : "BEGIN")); } +#if 0 + else if (beginfile_or_endfile_rule) { + /* same thing */ + errcount++; + error(_("`%s' used in %s action"), "nextfile", + (parsing_endfile_rule ? "END" : "BEGIN")); + } +#endif + else if (parsing_endfile_rule) { + /* same thing */ + errcount++; + error(_("`%s' used in %s action"), "nextfile", + (parsing_endfile_rule ? "ENDFILE" : "BEGINFILE")); + } (yyval.nodeval) = node((NODE *) NULL, Node_K_nextfile, (NODE *) NULL); } break; - case 44: + case 46: -/* Line 1464 of yacc.c */ -#line 488 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 524 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(2) - (3)].nodeval), Node_K_exit, (NODE *) NULL); } break; - case 45: + case 47: -/* Line 1464 of yacc.c */ -#line 490 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 526 "awkgram.y" { if (! can_return) yyerror(_("`return' used outside function context")); } break; - case 46: + case 48: -/* Line 1464 of yacc.c */ -#line 495 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 531 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(3) - (4)].nodeval) == NULL ? Nnull_string : (yyvsp[(3) - (4)].nodeval), Node_K_return, (NODE *) NULL); } break; - case 48: + case 50: -/* Line 1464 of yacc.c */ -#line 511 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 547 "awkgram.y" { in_print = TRUE; in_parens = 0; } break; - case 49: + case 51: -/* Line 1464 of yacc.c */ -#line 512 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 548 "awkgram.y" { /* * Optimization: plain `print' has no expression list, so $3 is null. @@ -2462,17 +2515,17 @@ yyreduce: } break; - case 50: + case 52: -/* Line 1464 of yacc.c */ -#line 543 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 579 "awkgram.y" { (yyval.nodeval) = node(variable((yyvsp[(2) - (5)].sval), CAN_FREE, Node_var_array), Node_K_delete, (yyvsp[(4) - (5)].nodeval)); } break; - case 51: + case 53: -/* Line 1464 of yacc.c */ -#line 545 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 581 "awkgram.y" { static short warned = FALSE; @@ -2492,10 +2545,10 @@ yyreduce: } break; - case 52: + case 54: -/* Line 1464 of yacc.c */ -#line 563 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 599 "awkgram.y" { /* * this is for tawk compatibility. maybe the warnings @@ -2519,31 +2572,31 @@ yyreduce: } break; - case 53: + case 55: -/* Line 1464 of yacc.c */ -#line 585 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 621 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 54: + case 56: -/* Line 1464 of yacc.c */ -#line 590 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 626 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 55: + case 57: -/* Line 1464 of yacc.c */ -#line 592 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 628 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 56: + case 58: -/* Line 1464 of yacc.c */ -#line 597 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 633 "awkgram.y" { if ((yyvsp[(1) - (1)].nodeval) == NULL) { (yyval.nodeval) = NULL; @@ -2594,17 +2647,17 @@ yyreduce: } break; - case 57: + case 59: -/* Line 1464 of yacc.c */ -#line 649 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 685 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 58: + case 60: -/* Line 1464 of yacc.c */ -#line 651 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 687 "awkgram.y" { if ((yyvsp[(2) - (2)].nodeval) == NULL) (yyval.nodeval) = (yyvsp[(1) - (2)].nodeval); @@ -2623,76 +2676,76 @@ yyreduce: } break; - case 59: + case 61: -/* Line 1464 of yacc.c */ -#line 668 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 704 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 60: + case 62: -/* Line 1464 of yacc.c */ -#line 673 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 709 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(2) - (5)].nodeval), Node_K_case, (yyvsp[(5) - (5)].nodeval)); } break; - case 61: + case 63: -/* Line 1464 of yacc.c */ -#line 675 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 711 "awkgram.y" { (yyval.nodeval) = node((NODE *) NULL, Node_K_default, (yyvsp[(4) - (4)].nodeval)); } break; - case 62: + case 64: -/* Line 1464 of yacc.c */ -#line 680 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 716 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 63: + case 65: -/* Line 1464 of yacc.c */ -#line 682 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 718 "awkgram.y" { (yyvsp[(2) - (2)].nodeval)->numbr = -(force_number((yyvsp[(2) - (2)].nodeval))); (yyval.nodeval) = (yyvsp[(2) - (2)].nodeval); } break; - case 64: + case 66: -/* Line 1464 of yacc.c */ -#line 687 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 723 "awkgram.y" { (yyval.nodeval) = (yyvsp[(2) - (2)].nodeval); } break; - case 65: + case 67: -/* Line 1464 of yacc.c */ -#line 689 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 725 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 66: + case 68: -/* Line 1464 of yacc.c */ -#line 691 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 727 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 70: + case 72: -/* Line 1464 of yacc.c */ -#line 706 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 742 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(2) - (5)].nodeval), Node_expression_list, (yyvsp[(4) - (5)].nodeval)); } break; - case 71: + case 73: -/* Line 1464 of yacc.c */ -#line 711 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 747 "awkgram.y" { in_print = FALSE; in_parens = 0; @@ -2700,17 +2753,17 @@ yyreduce: } break; - case 72: + case 74: -/* Line 1464 of yacc.c */ -#line 716 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 752 "awkgram.y" { in_print = FALSE; in_parens = 0; } break; - case 73: + case 75: -/* Line 1464 of yacc.c */ -#line 717 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 753 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(3) - (3)].nodeval), (yyvsp[(1) - (3)].nodetypeval), (NODE *) NULL); if ((yyvsp[(1) - (3)].nodetypeval) == Node_redirect_twoway @@ -2721,126 +2774,126 @@ yyreduce: } break; - case 74: + case 76: -/* Line 1464 of yacc.c */ -#line 729 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 765 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(3) - (6)].nodeval), Node_K_if, node((yyvsp[(6) - (6)].nodeval), Node_if_branches, (NODE *) NULL)); } break; - case 75: + case 77: -/* Line 1464 of yacc.c */ -#line 735 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 771 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(3) - (9)].nodeval), Node_K_if, node((yyvsp[(6) - (9)].nodeval), Node_if_branches, (yyvsp[(9) - (9)].nodeval))); } break; - case 80: + case 82: -/* Line 1464 of yacc.c */ -#line 751 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 787 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 81: + case 83: -/* Line 1464 of yacc.c */ -#line 753 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 789 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(2) - (2)].nodeval), Node_redirect_input, (NODE *) NULL); } break; - case 82: + case 84: -/* Line 1464 of yacc.c */ -#line 758 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 794 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 83: + case 85: -/* Line 1464 of yacc.c */ -#line 760 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 796 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 84: + case 86: -/* Line 1464 of yacc.c */ -#line 765 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 801 "awkgram.y" { (yyval.nodeval) = make_param((yyvsp[(1) - (1)].sval)); } break; - case 85: + case 87: -/* Line 1464 of yacc.c */ -#line 767 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 803 "awkgram.y" { (yyval.nodeval) = append_right((yyvsp[(1) - (3)].nodeval), make_param((yyvsp[(3) - (3)].sval))); yyerrok; } break; - case 86: + case 88: -/* Line 1464 of yacc.c */ -#line 769 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 805 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 87: + case 89: -/* Line 1464 of yacc.c */ -#line 771 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 807 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 88: + case 90: -/* Line 1464 of yacc.c */ -#line 773 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 809 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 89: + case 91: -/* Line 1464 of yacc.c */ -#line 779 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 815 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 90: + case 92: -/* Line 1464 of yacc.c */ -#line 781 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 817 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 91: + case 93: -/* Line 1464 of yacc.c */ -#line 786 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 822 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 92: + case 94: -/* Line 1464 of yacc.c */ -#line 788 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 824 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 93: + case 95: -/* Line 1464 of yacc.c */ -#line 793 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 829 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (1)].nodeval), Node_expression_list, (NODE *) NULL); } break; - case 94: + case 96: -/* Line 1464 of yacc.c */ -#line 795 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 831 "awkgram.y" { (yyval.nodeval) = append_right((yyvsp[(1) - (3)].nodeval), node((yyvsp[(3) - (3)].nodeval), Node_expression_list, (NODE *) NULL)); @@ -2848,38 +2901,38 @@ yyreduce: } break; - case 95: + case 97: -/* Line 1464 of yacc.c */ -#line 801 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 837 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 96: + case 98: -/* Line 1464 of yacc.c */ -#line 803 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 839 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 97: + case 99: -/* Line 1464 of yacc.c */ -#line 805 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 841 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 98: + case 100: -/* Line 1464 of yacc.c */ -#line 807 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 843 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 99: + case 101: -/* Line 1464 of yacc.c */ -#line 812 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 848 "awkgram.y" { if (do_lint && (yyvsp[(3) - (3)].nodeval)->type == Node_regex) lintwarn(_("regular expression on right of assignment")); @@ -2887,24 +2940,24 @@ yyreduce: } break; - case 100: + case 102: -/* Line 1464 of yacc.c */ -#line 818 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 854 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (3)].nodeval), Node_and, (yyvsp[(3) - (3)].nodeval)); } break; - case 101: + case 103: -/* Line 1464 of yacc.c */ -#line 820 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 856 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (3)].nodeval), Node_or, (yyvsp[(3) - (3)].nodeval)); } break; - case 102: + case 104: -/* Line 1464 of yacc.c */ -#line 822 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 858 "awkgram.y" { if ((yyvsp[(1) - (3)].nodeval)->type == Node_regex) warning(_("regular expression on left of `~' or `!~' operator")); @@ -2912,10 +2965,10 @@ yyreduce: } break; - case 103: + case 105: -/* Line 1464 of yacc.c */ -#line 828 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 864 "awkgram.y" { if (do_lint_old) warning(_("old awk does not support the keyword `in' except after `for'")); @@ -2923,10 +2976,10 @@ yyreduce: } break; - case 104: + case 106: -/* Line 1464 of yacc.c */ -#line 834 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 870 "awkgram.y" { if (do_lint && (yyvsp[(3) - (3)].nodeval)->type == Node_regex) lintwarn(_("regular expression on right of comparison")); @@ -2934,154 +2987,169 @@ yyreduce: } break; - case 105: + case 107: -/* Line 1464 of yacc.c */ -#line 840 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 876 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (5)].nodeval), Node_cond_exp, node((yyvsp[(3) - (5)].nodeval), Node_if_branches, (yyvsp[(5) - (5)].nodeval)));} break; - case 106: + case 108: -/* Line 1464 of yacc.c */ -#line 842 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 878 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 107: + case 109: -/* Line 1464 of yacc.c */ -#line 847 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 883 "awkgram.y" { (yyval.nodetypeval) = (yyvsp[(1) - (1)].nodetypeval); } break; - case 108: + case 110: -/* Line 1464 of yacc.c */ -#line 849 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 885 "awkgram.y" { (yyval.nodetypeval) = (yyvsp[(1) - (1)].nodetypeval); } break; - case 109: + case 111: -/* Line 1464 of yacc.c */ -#line 851 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 887 "awkgram.y" { (yyval.nodetypeval) = Node_assign_quotient; } break; - case 110: + case 112: -/* Line 1464 of yacc.c */ -#line 856 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 892 "awkgram.y" { (yyval.nodetypeval) = (yyvsp[(1) - (1)].nodetypeval); } break; - case 111: + case 113: -/* Line 1464 of yacc.c */ -#line 858 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 894 "awkgram.y" { (yyval.nodetypeval) = Node_less; } break; - case 113: + case 115: -/* Line 1464 of yacc.c */ -#line 863 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 899 "awkgram.y" { (yyval.nodetypeval) = Node_greater; } break; - case 114: + case 116: -/* Line 1464 of yacc.c */ -#line 868 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 904 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 115: + case 117: -/* Line 1464 of yacc.c */ -#line 870 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 906 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 116: + case 118: -/* Line 1464 of yacc.c */ -#line 872 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 908 "awkgram.y" { (yyval.nodeval) = constant_fold((yyvsp[(1) - (2)].nodeval), Node_concat, (yyvsp[(2) - (2)].nodeval)); } break; - case 118: + case 120: -/* Line 1464 of yacc.c */ -#line 879 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 915 "awkgram.y" { (yyval.nodeval) = constant_fold((yyvsp[(1) - (3)].nodeval), Node_exp, (yyvsp[(3) - (3)].nodeval)); } break; - case 119: + case 121: -/* Line 1464 of yacc.c */ -#line 881 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 917 "awkgram.y" { (yyval.nodeval) = constant_fold((yyvsp[(1) - (3)].nodeval), Node_times, (yyvsp[(3) - (3)].nodeval)); } break; - case 120: + case 122: -/* Line 1464 of yacc.c */ -#line 883 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 919 "awkgram.y" { (yyval.nodeval) = constant_fold((yyvsp[(1) - (3)].nodeval), Node_quotient, (yyvsp[(3) - (3)].nodeval)); } break; - case 121: + case 123: -/* Line 1464 of yacc.c */ -#line 885 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 921 "awkgram.y" { (yyval.nodeval) = constant_fold((yyvsp[(1) - (3)].nodeval), Node_mod, (yyvsp[(3) - (3)].nodeval)); } break; - case 122: + case 124: -/* Line 1464 of yacc.c */ -#line 887 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 923 "awkgram.y" { (yyval.nodeval) = constant_fold((yyvsp[(1) - (3)].nodeval), Node_plus, (yyvsp[(3) - (3)].nodeval)); } break; - case 123: + case 125: -/* Line 1464 of yacc.c */ -#line 889 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 925 "awkgram.y" { (yyval.nodeval) = constant_fold((yyvsp[(1) - (3)].nodeval), Node_minus, (yyvsp[(3) - (3)].nodeval)); } break; - case 124: + case 126: -/* Line 1464 of yacc.c */ -#line 891 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 927 "awkgram.y" { + /* + * In BEGINFILE/ENDFILE, allow `getline var < file' + */ + if (beginfile_or_endfile_rule) { + if ((yyvsp[(2) - (3)].nodeval) != NULL && (yyvsp[(3) - (3)].nodeval) != NULL) + ; /* all ok */ + else { + if ((yyvsp[(2) - (3)].nodeval) != NULL) + fatal(_("`getline var' invalid inside %s rule"), + parsing_endfile_rule ? "ENDFILE" : "BEGINFILE"); + else + fatal(_("`getline' invalid inside %s rule"), + parsing_endfile_rule ? "ENDFILE" : "BEGINFILE"); + } + } if (do_lint && parsing_end_rule && (yyvsp[(3) - (3)].nodeval) == NULL) lintwarn(_("non-redirected `getline' undefined inside END action")); (yyval.nodeval) = node((yyvsp[(2) - (3)].nodeval), Node_K_getline, (yyvsp[(3) - (3)].nodeval)); } break; - case 125: + case 127: -/* Line 1464 of yacc.c */ -#line 897 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 948 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (2)].nodeval), Node_postincrement, (NODE *) NULL); } break; - case 126: + case 128: -/* Line 1464 of yacc.c */ -#line 899 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 950 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (2)].nodeval), Node_postdecrement, (NODE *) NULL); } break; - case 127: + case 129: -/* Line 1464 of yacc.c */ -#line 901 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 952 "awkgram.y" { if (do_lint_old) { warning(_("old awk does not support the keyword `in' except after `for'")); @@ -3091,97 +3159,97 @@ yyreduce: } break; - case 128: + case 130: -/* Line 1464 of yacc.c */ -#line 914 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 965 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(4) - (4)].nodeval), Node_K_getline, node((yyvsp[(1) - (4)].nodeval), (yyvsp[(2) - (4)].nodetypeval), (NODE *) NULL)); } break; - case 129: + case 131: -/* Line 1464 of yacc.c */ -#line 919 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 970 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (3)].nodeval), Node_exp, (yyvsp[(3) - (3)].nodeval)); } break; - case 130: + case 132: -/* Line 1464 of yacc.c */ -#line 921 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 972 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (3)].nodeval), Node_times, (yyvsp[(3) - (3)].nodeval)); } break; - case 131: + case 133: -/* Line 1464 of yacc.c */ -#line 923 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 974 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (3)].nodeval), Node_quotient, (yyvsp[(3) - (3)].nodeval)); } break; - case 132: + case 134: -/* Line 1464 of yacc.c */ -#line 925 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 976 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (3)].nodeval), Node_mod, (yyvsp[(3) - (3)].nodeval)); } break; - case 133: + case 135: -/* Line 1464 of yacc.c */ -#line 927 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 978 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (3)].nodeval), Node_plus, (yyvsp[(3) - (3)].nodeval)); } break; - case 134: + case 136: -/* Line 1464 of yacc.c */ -#line 929 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 980 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(1) - (3)].nodeval), Node_minus, (yyvsp[(3) - (3)].nodeval)); } break; - case 135: + case 137: -/* Line 1464 of yacc.c */ -#line 934 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 985 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 136: + case 138: -/* Line 1464 of yacc.c */ -#line 936 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 987 "awkgram.y" { (yyval.nodeval) = constant_fold((yyvsp[(2) - (2)].nodeval), Node_not, (NODE *) NULL); } break; - case 137: + case 139: -/* Line 1464 of yacc.c */ -#line 938 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 989 "awkgram.y" { (yyval.nodeval) = (yyvsp[(2) - (3)].nodeval); } break; - case 138: + case 140: -/* Line 1464 of yacc.c */ -#line 941 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 992 "awkgram.y" { (yyval.nodeval) = snode((yyvsp[(3) - (4)].nodeval), Node_builtin, (int) (yyvsp[(1) - (4)].lval)); } break; - case 139: + case 141: -/* Line 1464 of yacc.c */ -#line 943 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 994 "awkgram.y" { (yyval.nodeval) = snode((yyvsp[(3) - (4)].nodeval), Node_builtin, (int) (yyvsp[(1) - (4)].lval)); } break; - case 140: + case 142: -/* Line 1464 of yacc.c */ -#line 945 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 996 "awkgram.y" { static short warned1 = FALSE, warned2 = FALSE; @@ -3197,51 +3265,38 @@ yyreduce: } break; - case 141: - -/* Line 1464 of yacc.c */ -#line 959 "awkgram.y" - { - (yyval.nodeval) = node((yyvsp[(3) - (4)].nodeval), Node_func_call, make_string((yyvsp[(1) - (4)].sval), strlen((yyvsp[(1) - (4)].sval)))); - (yyval.nodeval)->funcbody = NULL; - func_use((yyvsp[(1) - (4)].sval), FUNC_USE); - param_sanity((yyvsp[(3) - (4)].nodeval)); - free((yyvsp[(1) - (4)].sval)); - } - break; - - case 143: + case 145: -/* Line 1464 of yacc.c */ -#line 968 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1012 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(2) - (2)].nodeval), Node_preincrement, (NODE *) NULL); } break; - case 144: + case 146: -/* Line 1464 of yacc.c */ -#line 970 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1014 "awkgram.y" { (yyval.nodeval) = node((yyvsp[(2) - (2)].nodeval), Node_predecrement, (NODE *) NULL); } break; - case 145: + case 147: -/* Line 1464 of yacc.c */ -#line 972 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1016 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 146: + case 148: -/* Line 1464 of yacc.c */ -#line 974 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1018 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 147: + case 149: -/* Line 1464 of yacc.c */ -#line 977 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1021 "awkgram.y" { if ((yyvsp[(2) - (2)].nodeval)->type == Node_val && ((yyvsp[(2) - (2)].nodeval)->flags & (STRCUR|STRING)) == 0) { (yyvsp[(2) - (2)].nodeval)->numbr = -(force_number((yyvsp[(2) - (2)].nodeval))); @@ -3251,10 +3306,10 @@ yyreduce: } break; - case 148: + case 150: -/* Line 1464 of yacc.c */ -#line 985 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1029 "awkgram.y" { /* * was: $$ = $2 @@ -3264,31 +3319,71 @@ yyreduce: } break; - case 149: + case 151: -/* Line 1464 of yacc.c */ -#line 996 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1040 "awkgram.y" + { + func_use((yyvsp[(1) - (1)].nodeval)->rnode->stptr, FUNC_USE); + (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); + } + break; + + case 152: + +/* Line 1455 of yacc.c */ +#line 1045 "awkgram.y" + { + /* indirect function call */ + static short warned = FALSE; + + if (do_lint && ! warned) { + warned = TRUE; + lintwarn(_("indirect function calls are a gawk extension")); + } + + (yyval.nodeval) = (yyvsp[(2) - (2)].nodeval); + (yyval.nodeval)->type = Node_indirect_func_call; + } + break; + + case 153: + +/* Line 1455 of yacc.c */ +#line 1061 "awkgram.y" + { + (yyval.nodeval) = node((yyvsp[(3) - (4)].nodeval), Node_func_call, make_string((yyvsp[(1) - (4)].sval), strlen((yyvsp[(1) - (4)].sval)))); + (yyval.nodeval)->funcbody = NULL; + param_sanity((yyvsp[(3) - (4)].nodeval)); + free((yyvsp[(1) - (4)].sval)); + } + break; + + case 154: + +/* Line 1455 of yacc.c */ +#line 1071 "awkgram.y" { (yyval.nodeval) = NULL; } break; - case 150: + case 155: -/* Line 1464 of yacc.c */ -#line 998 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1073 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 151: + case 156: -/* Line 1464 of yacc.c */ -#line 1003 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1078 "awkgram.y" { (yyval.nodeval) = variable((yyvsp[(1) - (1)].sval), CAN_FREE, Node_var_new); } break; - case 152: + case 157: -/* Line 1464 of yacc.c */ -#line 1005 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1080 "awkgram.y" { NODE *n; @@ -3305,17 +3400,17 @@ yyreduce: } break; - case 153: + case 158: -/* Line 1464 of yacc.c */ -#line 1019 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1094 "awkgram.y" { (yyval.nodeval) = (yyvsp[(1) - (1)].nodeval); } break; - case 154: + case 159: -/* Line 1464 of yacc.c */ -#line 1030 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1105 "awkgram.y" { NODE *n = node((yyvsp[(2) - (3)].nodeval), Node_field_spec, (NODE *) NULL); if ((yyvsp[(3) - (3)].sval) != NULL) { @@ -3329,66 +3424,66 @@ yyreduce: } break; - case 155: + case 160: -/* Line 1464 of yacc.c */ -#line 1044 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1119 "awkgram.y" { (yyval.sval) = "+"; } break; - case 156: + case 161: -/* Line 1464 of yacc.c */ -#line 1045 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1120 "awkgram.y" { (yyval.sval) = "-"; } break; - case 157: + case 162: -/* Line 1464 of yacc.c */ -#line 1046 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1121 "awkgram.y" { (yyval.sval) = NULL; } break; - case 159: + case 164: -/* Line 1464 of yacc.c */ -#line 1054 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1129 "awkgram.y" { yyerrok; } break; - case 160: + case 165: -/* Line 1464 of yacc.c */ -#line 1058 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1133 "awkgram.y" { yyerrok; } break; - case 163: + case 168: -/* Line 1464 of yacc.c */ -#line 1067 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1142 "awkgram.y" { yyerrok; } break; - case 164: + case 169: -/* Line 1464 of yacc.c */ -#line 1071 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1146 "awkgram.y" { yyerrok; } break; - case 165: + case 170: -/* Line 1464 of yacc.c */ -#line 1074 "awkgram.y" +/* Line 1455 of yacc.c */ +#line 1149 "awkgram.y" { yyerrok; } break; -/* Line 1464 of yacc.c */ -#line 3392 "awkgram.c" +/* Line 1455 of yacc.c */ +#line 3487 "awkgram.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3599,8 +3694,8 @@ yyreturn: -/* Line 1684 of yacc.c */ -#line 1077 "awkgram.y" +/* Line 1675 of yacc.c */ +#line 1152 "awkgram.y" struct token { @@ -3641,7 +3736,9 @@ tokcompare(void *l, void *r) static const struct token tokentab[] = { {"BEGIN", Node_illegal, LEX_BEGIN, 0, 0}, +{"BEGINFILE", Node_illegal, LEX_BEGINFILE, GAWKX, 0}, {"END", Node_illegal, LEX_END, 0, 0}, +{"ENDFILE", Node_illegal, LEX_ENDFILE, GAWKX, 0}, #ifdef ARRAYDEBUG {"adump", Node_builtin, LEX_BUILTIN, GAWKX|A(1), do_adump}, #endif @@ -3651,18 +3748,14 @@ static const struct token tokentab[] = { {"atan2", Node_builtin, LEX_BUILTIN, NOT_OLD|A(2), do_atan2}, {"bindtextdomain", Node_builtin, LEX_BUILTIN, GAWKX|A(1)|A(2), do_bindtextdomain}, {"break", Node_K_break, LEX_BREAK, 0, 0}, -#ifdef ALLOW_SWITCH {"case", Node_K_case, LEX_CASE, GAWKX, 0}, -#endif {"close", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1)|A(2), do_close}, {"compl", Node_builtin, LEX_BUILTIN, GAWKX|A(1), do_compl}, {"continue", Node_K_continue, LEX_CONTINUE, 0, 0}, {"cos", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_cos}, {"dcgettext", Node_builtin, LEX_BUILTIN, GAWKX|A(1)|A(2)|A(3), do_dcgettext}, {"dcngettext", Node_builtin, LEX_BUILTIN, GAWKX|A(1)|A(2)|A(3)|A(4)|A(5), do_dcngettext}, -#ifdef ALLOW_SWITCH {"default", Node_K_default, LEX_DEFAULT, GAWKX, 0}, -#endif {"delete", Node_K_delete, LEX_DELETE, NOT_OLD, 0}, {"do", Node_K_do, LEX_DO, NOT_OLD, 0}, {"else", Node_illegal, LEX_ELSE, 0, 0}, @@ -3688,13 +3781,14 @@ static const struct token tokentab[] = { {"next", Node_K_next, LEX_NEXT, 0, 0}, {"nextfile", Node_K_nextfile, LEX_NEXTFILE, GAWKX, 0}, {"or", Node_builtin, LEX_BUILTIN, GAWKX|A(2), do_or}, +{"patsplit", Node_builtin, LEX_BUILTIN, GAWKX|A(2)|A(3)|A(4), do_patsplit}, {"print", Node_K_print, LEX_PRINT, 0, 0}, {"printf", Node_K_printf, LEX_PRINTF, 0, 0}, {"rand", Node_builtin, LEX_BUILTIN, NOT_OLD|A(0), do_rand}, {"return", Node_K_return, LEX_RETURN, NOT_OLD, 0}, {"rshift", Node_builtin, LEX_BUILTIN, GAWKX|A(2), do_rshift}, {"sin", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_sin}, -{"split", Node_builtin, LEX_BUILTIN, A(2)|A(3), do_split}, +{"split", Node_builtin, LEX_BUILTIN, A(2)|A(3)|A(4), do_split}, {"sprintf", Node_builtin, LEX_BUILTIN, 0, do_sprintf}, {"sqrt", Node_builtin, LEX_BUILTIN, A(1), do_sqrt}, {"srand", Node_builtin, LEX_BUILTIN, NOT_OLD|A(0)|A(1), do_srand}, @@ -3705,9 +3799,7 @@ static const struct token tokentab[] = { {"strtonum", Node_builtin, LEX_BUILTIN, GAWKX|A(1), do_strtonum}, {"sub", Node_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), do_sub}, {"substr", Node_builtin, LEX_BUILTIN, A(2)|A(3), do_substr}, -#ifdef ALLOW_SWITCH {"switch", Node_K_switch, LEX_SWITCH, GAWKX, 0}, -#endif {"system", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_system}, {"systime", Node_builtin, LEX_BUILTIN, GAWKX|A(0), do_systime}, {"tolower", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_tolower}, @@ -4812,6 +4904,11 @@ retry: yylval.nodetypeval = Node_redirect_pipein; return lasttok = IO_IN; } + + case '@': /* indirect function call */ + if (do_posix || do_traditional) + break; + return lasttok = c; } if (c != '_' && ! isalpha(c)) { @@ -5020,6 +5117,13 @@ snode(NODE *subn, NODETYPE op, int idx) subn->rnode->rnode->lnode = mk_rexp(n); if (nexp == 2) subn->rnode->rnode->lnode->re_flags |= FS_DFLT; + } else if (r->builtin == do_patsplit) { + if (nexp == 2) + append_right(subn, + node(FPAT_node, Node_expression_list, (NODE *) NULL)); + n = subn->rnode->rnode->lnode; + if (n->type != Node_regex) + subn->rnode->rnode->lnode = mk_rexp(n); } else if (r->builtin == do_close) { static short warned = FALSE; @@ -5861,6 +5965,7 @@ isnoeffect(NODETYPE type) case Node_NF: case Node_NR: case Node_FNR: + case Node_FPAT: case Node_FS: case Node_RS: case Node_FIELDWIDTHS: @@ -5893,6 +5998,7 @@ isassignable(register NODE *n) case Node_RS: case Node_FS: case Node_FNR: + case Node_FPAT: case Node_NR: case Node_NF: case Node_IGNORECASE: @@ -78,6 +78,8 @@ static int want_regexp; /* lexical scanning kludge */ static int can_return; /* parsing kludge */ static int begin_or_end_rule = FALSE; /* parsing kludge */ static int parsing_end_rule = FALSE; /* for warnings */ +static int beginfile_or_endfile_rule = FALSE; /* parsing kludge */ +static int parsing_endfile_rule = FALSE; /* for warnings */ static int in_print = FALSE; /* lexical scanning kludge for print */ static int in_parens = 0; /* lexical scanning kludge for print */ static char *lexptr; /* pointer to next char during parsing */ @@ -104,6 +106,8 @@ extern long numfiles; extern int errcount; extern NODE *begin_block; extern NODE *end_block; +extern NODE *beginfile_block; +extern NODE *endfile_block; /* * This string cannot occur as a real awk identifier. @@ -134,6 +138,7 @@ static char builtin_func[] = "@builtin"; %type <nodeval> simple_stmt opt_simple_stmt %type <nodeval> opt_exp opt_variable regexp %type <nodeval> input_redir output_redir field_spec +%type <nodeval> function_call direct_function_call %type <nodetypeval> print %type <nodetypeval> assign_operator a_relop relop_or_less %type <sval> func_name opt_incdec @@ -145,6 +150,7 @@ static char builtin_func[] = "@builtin"; %token <nodetypeval> RELOP IO_OUT IO_IN %token <nodetypeval> ASSIGNOP ASSIGN MATCHOP CONCAT_OP %token <nodetypeval> LEX_BEGIN LEX_END LEX_IF LEX_ELSE LEX_RETURN LEX_DELETE +%token <nodetypeval> LEX_BEGINFILE LEX_ENDFILE %token <nodetypeval> LEX_SWITCH LEX_CASE LEX_DEFAULT LEX_WHILE LEX_DO LEX_FOR LEX_BREAK LEX_CONTINUE %token <nodetypeval> LEX_PRINT LEX_PRINTF LEX_NEXT LEX_EXIT LEX_FUNCTION %token <nodetypeval> LEX_GETLINE LEX_NEXTFILE @@ -188,12 +194,12 @@ program : /* empty */ | program rule { - begin_or_end_rule = parsing_end_rule = FALSE; + beginfile_or_endfile_rule = begin_or_end_rule = parsing_end_rule = FALSE; yyerrok; } | program error { - begin_or_end_rule = parsing_end_rule = FALSE; + beginfile_or_endfile_rule = begin_or_end_rule = parsing_end_rule = FALSE; /* * If errors, give up, don't produce an infinite * stream of syntax error messages. @@ -217,6 +223,9 @@ rule if (begin_or_end_rule) msg(_("%s blocks must have an action part"), (parsing_end_rule ? "END" : "BEGIN")); + else if (beginfile_or_endfile_rule) + msg(_("%s blocks must have an action part"), + (parsing_endfile_rule ? "ENDFILE" : "BEGINFILE")); else msg(_("each rule must have a pattern or an action part")); errcount++; @@ -268,6 +277,16 @@ pattern begin_or_end_rule = parsing_end_rule = TRUE; $$ = append_pattern(&end_block, (NODE *) NULL); } + | LEX_BEGINFILE + { + beginfile_or_endfile_rule = TRUE; + $$ = append_pattern(&beginfile_block, (NODE *) NULL); + } + | LEX_ENDFILE + { + beginfile_or_endfile_rule = parsing_endfile_rule = TRUE; + $$ = append_pattern(&endfile_block, (NODE *) NULL); + } ; action @@ -457,6 +476,9 @@ statement if (begin_or_end_rule) yyerror(_("`%s' used in %s action"), "next", (parsing_end_rule ? "END" : "BEGIN")); + else if (beginfile_or_endfile_rule) + yyerror(_("`%s' used in %s action"), "next", + (parsing_endfile_rule ? "ENDFILE" : "BEGINFILE")); type = Node_K_next; $$ = node((NODE *) NULL, type, (NODE *) NULL); } @@ -482,6 +504,20 @@ statement error(_("`%s' used in %s action"), "nextfile", (parsing_end_rule ? "END" : "BEGIN")); } +#if 0 + else if (beginfile_or_endfile_rule) { + /* same thing */ + errcount++; + error(_("`%s' used in %s action"), "nextfile", + (parsing_endfile_rule ? "END" : "BEGIN")); + } +#endif + else if (parsing_endfile_rule) { + /* same thing */ + errcount++; + error(_("`%s' used in %s action"), "nextfile", + (parsing_endfile_rule ? "ENDFILE" : "BEGINFILE")); + } $$ = node((NODE *) NULL, Node_K_nextfile, (NODE *) NULL); } | LEX_EXIT opt_exp statement_term @@ -889,6 +925,21 @@ simp_exp { $$ = constant_fold($1, Node_minus, $3); } | LEX_GETLINE opt_variable input_redir { + /* + * In BEGINFILE/ENDFILE, allow `getline var < file' + */ + if (beginfile_or_endfile_rule) { + if ($2 != NULL && $3 != NULL) + ; /* all ok */ + else { + if ($2 != NULL) + fatal(_("`getline var' invalid inside %s rule"), + parsing_endfile_rule ? "ENDFILE" : "BEGINFILE"); + else + fatal(_("`getline' invalid inside %s rule"), + parsing_endfile_rule ? "ENDFILE" : "BEGINFILE"); + } + } if (do_lint && parsing_end_rule && $3 == NULL) lintwarn(_("non-redirected `getline' undefined inside END action")); $$ = node($2, Node_K_getline, $3); @@ -955,14 +1006,7 @@ non_post_simp_exp warning(_("call of `length' without parentheses is deprecated by POSIX")); } } - | FUNC_CALL '(' opt_expression_list r_paren - { - $$ = node($3, Node_func_call, make_string($1, strlen($1))); - $$->funcbody = NULL; - func_use($1, FUNC_USE); - param_sanity($3); - free($1); - } + | function_call | variable | INCREMENT variable { $$ = node($2, Node_preincrement, (NODE *) NULL); } @@ -991,6 +1035,37 @@ non_post_simp_exp } ; +function_call + : direct_function_call + { + func_use($1->rnode->stptr, FUNC_USE); + $$ = $1; + } + | '@' direct_function_call + { + /* indirect function call */ + static short warned = FALSE; + + if (do_lint && ! warned) { + warned = TRUE; + lintwarn(_("indirect function calls are a gawk extension")); + } + + $$ = $2; + $$->type = Node_indirect_func_call; + } + ; + +direct_function_call + : FUNC_CALL '(' opt_expression_list r_paren + { + $$ = node($3, Node_func_call, make_string($1, strlen($1))); + $$->funcbody = NULL; + param_sanity($3); + free($1); + } + ; + opt_variable : /* empty */ { $$ = NULL; } @@ -1114,7 +1189,9 @@ tokcompare(void *l, void *r) static const struct token tokentab[] = { {"BEGIN", Node_illegal, LEX_BEGIN, 0, 0}, +{"BEGINFILE", Node_illegal, LEX_BEGINFILE, GAWKX, 0}, {"END", Node_illegal, LEX_END, 0, 0}, +{"ENDFILE", Node_illegal, LEX_ENDFILE, GAWKX, 0}, #ifdef ARRAYDEBUG {"adump", Node_builtin, LEX_BUILTIN, GAWKX|A(1), do_adump}, #endif @@ -1124,18 +1201,14 @@ static const struct token tokentab[] = { {"atan2", Node_builtin, LEX_BUILTIN, NOT_OLD|A(2), do_atan2}, {"bindtextdomain", Node_builtin, LEX_BUILTIN, GAWKX|A(1)|A(2), do_bindtextdomain}, {"break", Node_K_break, LEX_BREAK, 0, 0}, -#ifdef ALLOW_SWITCH {"case", Node_K_case, LEX_CASE, GAWKX, 0}, -#endif {"close", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1)|A(2), do_close}, {"compl", Node_builtin, LEX_BUILTIN, GAWKX|A(1), do_compl}, {"continue", Node_K_continue, LEX_CONTINUE, 0, 0}, {"cos", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_cos}, {"dcgettext", Node_builtin, LEX_BUILTIN, GAWKX|A(1)|A(2)|A(3), do_dcgettext}, {"dcngettext", Node_builtin, LEX_BUILTIN, GAWKX|A(1)|A(2)|A(3)|A(4)|A(5), do_dcngettext}, -#ifdef ALLOW_SWITCH {"default", Node_K_default, LEX_DEFAULT, GAWKX, 0}, -#endif {"delete", Node_K_delete, LEX_DELETE, NOT_OLD, 0}, {"do", Node_K_do, LEX_DO, NOT_OLD, 0}, {"else", Node_illegal, LEX_ELSE, 0, 0}, @@ -1161,13 +1234,14 @@ static const struct token tokentab[] = { {"next", Node_K_next, LEX_NEXT, 0, 0}, {"nextfile", Node_K_nextfile, LEX_NEXTFILE, GAWKX, 0}, {"or", Node_builtin, LEX_BUILTIN, GAWKX|A(2), do_or}, +{"patsplit", Node_builtin, LEX_BUILTIN, GAWKX|A(2)|A(3)|A(4), do_patsplit}, {"print", Node_K_print, LEX_PRINT, 0, 0}, {"printf", Node_K_printf, LEX_PRINTF, 0, 0}, {"rand", Node_builtin, LEX_BUILTIN, NOT_OLD|A(0), do_rand}, {"return", Node_K_return, LEX_RETURN, NOT_OLD, 0}, {"rshift", Node_builtin, LEX_BUILTIN, GAWKX|A(2), do_rshift}, {"sin", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_sin}, -{"split", Node_builtin, LEX_BUILTIN, A(2)|A(3), do_split}, +{"split", Node_builtin, LEX_BUILTIN, A(2)|A(3)|A(4), do_split}, {"sprintf", Node_builtin, LEX_BUILTIN, 0, do_sprintf}, {"sqrt", Node_builtin, LEX_BUILTIN, A(1), do_sqrt}, {"srand", Node_builtin, LEX_BUILTIN, NOT_OLD|A(0)|A(1), do_srand}, @@ -1178,9 +1252,7 @@ static const struct token tokentab[] = { {"strtonum", Node_builtin, LEX_BUILTIN, GAWKX|A(1), do_strtonum}, {"sub", Node_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), do_sub}, {"substr", Node_builtin, LEX_BUILTIN, A(2)|A(3), do_substr}, -#ifdef ALLOW_SWITCH {"switch", Node_K_switch, LEX_SWITCH, GAWKX, 0}, -#endif {"system", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_system}, {"systime", Node_builtin, LEX_BUILTIN, GAWKX|A(0), do_systime}, {"tolower", Node_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_tolower}, @@ -2285,6 +2357,11 @@ retry: yylval.nodetypeval = Node_redirect_pipein; return lasttok = IO_IN; } + + case '@': /* indirect function call */ + if (do_posix || do_traditional) + break; + return lasttok = c; } if (c != '_' && ! isalpha(c)) { @@ -2493,6 +2570,13 @@ snode(NODE *subn, NODETYPE op, int idx) subn->rnode->rnode->lnode = mk_rexp(n); if (nexp == 2) subn->rnode->rnode->lnode->re_flags |= FS_DFLT; + } else if (r->builtin == do_patsplit) { + if (nexp == 2) + append_right(subn, + node(FPAT_node, Node_expression_list, (NODE *) NULL)); + n = subn->rnode->rnode->lnode; + if (n->type != Node_regex) + subn->rnode->rnode->lnode = mk_rexp(n); } else if (r->builtin == do_close) { static short warned = FALSE; @@ -3334,6 +3418,7 @@ isnoeffect(NODETYPE type) case Node_NF: case Node_NR: case Node_FNR: + case Node_FPAT: case Node_FS: case Node_RS: case Node_FIELDWIDTHS: @@ -3366,6 +3451,7 @@ isassignable(register NODE *n) case Node_RS: case Node_FS: case Node_FNR: + case Node_FPAT: case Node_NR: case Node_NF: case Node_IGNORECASE: diff --git a/awklib/Makefile.in b/awklib/Makefile.in index 80bfb3f8..8a5cdf75 100644 --- a/awklib/Makefile.in +++ b/awklib/Makefile.in @@ -62,15 +62,16 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intmax_t.m4 \ - $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isc-posix.m4 \ - $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/socket.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \ - $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes_h.m4 \ + $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff --git a/awklib/eg/lib/ctime.awk b/awklib/eg/lib/ctime.awk index 0a50d262..f37856c6 100644 --- a/awklib/eg/lib/ctime.awk +++ b/awklib/eg/lib/ctime.awk @@ -4,7 +4,7 @@ function ctime(ts, format) { - format = "%a %b %d %H:%M:%S %Z %Y" + format = "%a %b %e %H:%M:%S %Z %Y" if (ts == 0) ts = systime() # use current time as default return strftime(format, ts) diff --git a/awklib/eg/lib/groupawk.in b/awklib/eg/lib/groupawk.in index 899656bd..a9e10e1f 100644 --- a/awklib/eg/lib/groupawk.in +++ b/awklib/eg/lib/groupawk.in @@ -20,6 +20,7 @@ function _gr_init( oldfs, oldrs, olddol0, grcat, oldrs = RS olddol0 = $0 using_fw = (PROCINFO["FS"] == "FIELDWIDTHS") + using_fpat = (PROCINFO["FS"] == "FPAT") FS = ":" RS = "\n" @@ -50,6 +51,8 @@ function _gr_init( oldfs, oldrs, olddol0, grcat, FS = oldfs if (using_fw) FIELDWIDTHS = FIELDWIDTHS + else if (using_fpat) + FPAT = FPAT RS = oldrs $0 = olddol0 } diff --git a/awklib/eg/lib/passwdawk.in b/awklib/eg/lib/passwdawk.in index 47798ded..323ebf58 100644 --- a/awklib/eg/lib/passwdawk.in +++ b/awklib/eg/lib/passwdawk.in @@ -18,6 +18,7 @@ function _pw_init( oldfs, oldrs, olddol0, pwcat, using_fw) oldrs = RS olddol0 = $0 using_fw = (PROCINFO["FS"] == "FIELDWIDTHS") + using_fpat = (PROCINFO["FS"] == "FPAT") FS = ":" RS = "\n" @@ -33,6 +34,8 @@ function _pw_init( oldfs, oldrs, olddol0, pwcat, using_fw) FS = oldfs if (using_fw) FIELDWIDTHS = FIELDWIDTHS + else if (using_fpat) + FPAT = FPAT RS = oldrs $0 = olddol0 } diff --git a/awklib/eg/prog/wc.awk b/awklib/eg/prog/wc.awk index 8fb48164..d51b9ff2 100644 --- a/awklib/eg/prog/wc.awk +++ b/awklib/eg/prog/wc.awk @@ -34,14 +34,14 @@ BEGIN { } function beginfile(file) { - chars = lines = words = 0 + lines = words = chars = 0 fname = FILENAME } function endfile(file) { - tchars += chars tlines += lines twords += words + tchars += chars if (do_lines) printf "\t%d", lines if (do_words) @@ -1777,6 +1777,9 @@ do_system(NODE *tree) char *cmd; char save; + if (do_sandbox) + fatal(_("'system' function not allowed in sandbox mode")); + (void) flush_io(); /* so output is synchronous with gawk's */ tmp = tree_eval(tree->lnode); if (do_lint && (tmp->flags & (STRING|STRCUR)) == 0) @@ -2484,14 +2487,16 @@ sub_common(NODE *tree, long how_many, int backdigs) repllen--; scan++; } - } else if (do_posix) { + } else { /* was under if (do_posix) */ /* \& --> &, \\ --> \ */ if (scan[1] == '&' || scan[1] == '\\') { repllen--; scan++; } /* else leave alone, it goes into the output */ - } else { + } +#if 0 + else { /* gawk default behavior since 1996 */ if (strncmp(scan, "\\\\\\&", 4) == 0) { /* \\\& --> \& */ @@ -2509,6 +2514,7 @@ sub_common(NODE *tree, long how_many, int backdigs) } /* else leave alone, it goes into the output */ } +#endif } } @@ -1,8 +1,5 @@ /* configh.in. Generated from configure.ac by autoheader. */ -/* switch statements are enabled in awk programs */ -#undef ALLOW_SWITCH - /* dynamic loading is possible */ #undef DYNAMIC @@ -317,9 +314,6 @@ /* systems should define this type here */ #undef HAVE_WINT_T -/* disable fatal errors on directories */ -#undef NO_DIRECTORY_FATAL - /* disable lint checks */ #undef NO_LINT @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for GNU Awk 3.1.8. +# Generated by GNU Autoconf 2.65 for GNU Awk 3.1.70. # # Report bugs to <bug-gawk@gnu.org>. # @@ -552,8 +552,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GNU Awk' PACKAGE_TARNAME='gawk' -PACKAGE_VERSION='3.1.8' -PACKAGE_STRING='GNU Awk 3.1.8' +PACKAGE_VERSION='3.1.70' +PACKAGE_STRING='GNU Awk 3.1.70' PACKAGE_BUGREPORT='bug-gawk@gnu.org' PACKAGE_URL='http://www.gnu.org/software/gawk/' @@ -721,8 +721,6 @@ enable_option_checking enable_portals with_whiny_user_strftime enable_lint -enable_switch -enable_directories_fatal enable_dependency_tracking enable_largefile enable_nls @@ -1284,7 +1282,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU Awk 3.1.8 to adapt to many kinds of systems. +\`configure' configures GNU Awk 3.1.70 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1354,7 +1352,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Awk 3.1.8:";; + short | recursive ) echo "Configuration of GNU Awk 3.1.70:";; esac cat <<\_ACEOF @@ -1364,8 +1362,6 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-portals Enable /p as path prefix for portals --disable-lint Disable gawk lint checking - --enable-switch Enable switch statements for awk programs - --disable-directories-fatal Disable fatal errors on directories --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-largefile omit support for large files @@ -1467,7 +1463,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU Awk configure 3.1.8 +GNU Awk configure 3.1.70 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2166,7 +2162,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU Awk $as_me 3.1.8, which was +It was created by GNU Awk $as_me 3.1.70, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -2994,7 +2990,7 @@ fi # Define the identity of the package. PACKAGE='gawk' - VERSION='3.1.8' + VERSION='3.1.70' cat >>confdefs.h <<_ACEOF @@ -3071,28 +3067,6 @@ $as_echo "#define NO_LINT 1" >>confdefs.h fi -# Check whether --enable-switch was given. -if test "${enable_switch+set}" = set; then : - enableval=$enable_switch; if test "$enableval" = yes - then - -$as_echo "#define ALLOW_SWITCH 1" >>confdefs.h - - fi - -fi - -# Check whether --enable-directories-fatal was given. -if test "${enable_directories_fatal+set}" = set; then : - enableval=$enable_directories_fatal; if test "$enableval" = no - then - -$as_echo "#define NO_DIRECTORY_FATAL 1" >>confdefs.h - - fi - -fi - DEPDIR="${am__leading_dot}deps" @@ -11059,7 +11033,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU Awk $as_me 3.1.8, which was +This file was extended by GNU Awk $as_me 3.1.70, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11127,7 +11101,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GNU Awk config.status 3.1.8 +GNU Awk config.status 3.1.70 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 0fa00781..1ccdf775 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ dnl dnl Process this file with autoconf to produce a configure script. -AC_INIT([GNU Awk], 3.1.8, bug-gawk@gnu.org, gawk) +AC_INIT([GNU Awk], 3.1.70, bug-gawk@gnu.org, gawk) # This is a hack. Different versions of install on different systems # are just too different. Chuck it and use install-sh. @@ -64,18 +64,6 @@ AC_ARG_ENABLE([lint], [ --disable-lint Disable gawk lint checking], AC_DEFINE(NO_LINT, 1, [disable lint checks]) fi ) -AC_ARG_ENABLE(switch, [ --enable-switch Enable switch statements for awk programs], - if test "$enableval" = yes - then - AC_DEFINE(ALLOW_SWITCH, 1, [switch statements are enabled in awk programs]) - fi -) -AC_ARG_ENABLE([directories-fatal], [ --disable-directories-fatal Disable fatal errors on directories], - if test "$enableval" = no - then - AC_DEFINE(NO_DIRECTORY_FATAL, 1, [disable fatal errors on directories]) - fi -) AC_USE_SYSTEM_EXTENSIONS @@ -1338,7 +1338,6 @@ lex (void) laststart = 0; return lasttok = CSET + charclass_index(ccl); -#ifndef GAWK case 's': case 'S': if (!backslash || (syntax_bits & RE_NO_GNU_OPS)) @@ -1351,7 +1350,6 @@ lex (void) notset(ccl); laststart = 0; return lasttok = CSET + charclass_index(ccl); -#endif case 'w': case 'W': diff --git a/doc/ChangeLog b/doc/ChangeLog index 980c0f26..ec1cc43a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,85 @@ +Thu Jul 1 21:29:25 2010 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi, gawk.1, awkcard.in: Document `/inet4' and `/inet6'. + +Sun Jun 27 21:58:47 2010 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi, gawk.1, awkcard.in: Document all short options. + +Wed Jun 2 22:06:22 2010 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi, gawk.1, awkcard.in: Document FPAT variable and patsplit + function. + +Fri Jun 12 13:28:24 2009 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi, gawk.1: Remove --disable-directories-fatal configuration + option. + +Thu Feb 26 20:36:18 2009 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi, gawk.1, awkcard.in: Document BEGINFILE and ENDFILE. + +Mon Feb 16 21:53:22 2009 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Document switch statements as always available. + * gawk.1: Ditto. + * awkcard.in: Ditto. + +Thu Feb 12 22:36:32 2009 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Document that interval expressions are now on by default. + Also that --gen-po is now --gen-pot. + * gawk.1: Ditto. + * awkcard.in: Ditto. + +Sat Jan 17 20:03:43 2009 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Document indirect function calls. + * gawk.1: Ditto. + * awkcard.in: Ditto. + +Tue Dec 30 22:22:04 2008 Assaf Gordon <gordon@cshl.edu> + + * gawk.texi: Document new --sandbox option. + * gawk.1: Ditto. + * awkcard.in: Ditto. + +Tue Dec 30 22:21:11 2008 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Change --binary to --characters-as-bytes, per Karl Berry. + * gawk.1: Ditto. + * awkcard.in: Ditto. + +Thu Dec 18 05:30:13 2008 Steffen Schuler <schuler.steffen@googlemail.com> + + * gawk.texi: Documented fourth parameter of split(). + * gawk.1: Ditto. + * awkcard.in: Ditto. + +Thu Dec 18 05:16:48 2008 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Minimally document `-b' / --binary. + * gawk.1: Ditto. + * awkcard.in: Ditto. + +Sun Nov 16 22:03:50 2008 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Fully documented `-r' as synonym for --re-interval. + * gawk.1: Ditto. + * awkcard.in: Ditto. + +Tue Aug 3 13:35:15 2004 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Document that gawk now uses the 2001 POSIX + rules for `sub' and `gsub'. + +Wed Dec 26 22:15:05 2001 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Documented that process special files are gone. + * gawk.1: Ditto. + * awkcard.in: Ditto. + Thu May 6 20:55:14 2010 Arnold D. Robbins <arnold@skeeve.com> * Release 3.1.8: Release tar file made. diff --git a/doc/Makefile.in b/doc/Makefile.in index b1533e79..661c90ef 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -63,15 +63,16 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog \ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intmax_t.m4 \ - $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isc-posix.m4 \ - $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/socket.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \ - $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes_h.m4 \ + $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff --git a/doc/awkcard.in b/doc/awkcard.in index 2bf5c3d4..0d00c33e 100644 --- a/doc/awkcard.in +++ b/doc/awkcard.in @@ -223,6 +223,11 @@ provide a moment of nostalgia for long time \*(AK users. T} .. +.de TI \" table item +.ti -4n +\\$1 +.br +.. .TS expand, tab(%); l lw(1.3i). @@ -230,61 +235,43 @@ l lw(1.3i). \*(FC\-\^\-field-separator \*(FIfs\*(FR%just like \*(FC\-F\fP. \*(FC\-\^\-file \*(FIprog-file%\*(FRjust like \*(FC\-f\fP. .TE -.TS -expand, tab(%); -ls -l lw(2.2i). -\*(FC\-\^\-compat\*(FR, \*(FC\-\^\-traditional\*(FR -%T{ +.in +4n +.TI "\*(FC\-b\*(FR, \*(FC\-\^\-characters\-as\-bytes\*(FR +Treat all input data as single-byte characters. I.e., +don't attempt to +process strings as multibyte characters. +Overridden by \*(FC\-\^\-posix\*(FR. +.TI "\*(FC\-c\*(FR, \*(FC\-\^\-compat\*(FR, \*(FC\-\^\-traditional\*(FR disable \*(GK-specific extensions (the use of \*(FC\-\^\-traditional\*(FR is preferred). -T} -.T& -ls -l lw(2.2i). -\*(FC\-\^\-copyleft\*(FR, \*(FC\-\^\-copyright\*(FR -%T{ +.TI "\*(FC\-C\*(FR, \*(FC\-\^\-copyleft\*(FR, \*(FC\-\^\-copyright\*(FR print the short version of the GNU copyright information on \*(FCstdout\*(FR. -T} .T& -ls -l lw(2.2i). -\*(FC\-\^\-dump-variables\*(FR[\*(FC=\*(FIfile\*(FR] -%T{ +.IT "\*(FC\-d \*(FIfile\*(FR, \*(FC\-\^\-dump-variables\*(FR[\*(FC=\*(FIfile\*(FR] print a sorted list of global variables, their types and final values to \*(FIfile\*(FR. If no \*(FIfile\*(FR is provided, \*(FCgawk\*(FR uses \*(FCawkvars.out\*(FR. -T} -\*(FC\-\^\-exec \*(FIfile\*(FR%T{ +.TI "\*(FC-e '\*(FItext\*(FC'\*(FR, \*(FC\-\^\-source '\*(FItext\*(FC'\*(FR +use \*(FItext\*(FR as AWK program source code. +.TI "\*(FC\-E \*(FIfile\*(FR, \*(FC\-\^\-exec \*(FIfile\*(FR read program text from \*(FIfile\fP. No other options are processed. Also disables command-line variable assignments. Useful with \*(FC#!\fP. -T} -\*(FC\-\^\-gen\-po\*(FR%T{ +.TI "\*(FC\-g\*(FR, \*(FC\-\^\-gen\-pot\*(FR process the program and print a GNU \*(FCgettext\*(FR format \*(FC\&.po\*(FR format file on standard output, containing the text of all strings that were marked for localization. -T} -.T& -ls -l lw(2.2i). -\*(FC\-\^\-help\*(FR, \*(FC\-\^\-usage\*(FR -%T{ +.TI "\*(FC\-h\*(FR, \*(FC\-\^\-help\*(FR, \*(FC\-\^\-usage\*(FR print a short summary of the available options on \*(FCstdout\*(FR, then exit zero. -T} -.T& -ls -l lw(2.2i). -\*(FC\-\^\-lint\*(FR[\*(FC=\*(FIvalue\*(FR] -%T{ -warn about dubios or non-portable constructs. +.TI "\*(FC\-l \*(FR[\*(FC=\*(FIvalue\*(FR], \*(FC\-\^\-lint\*(FR[\*(FC=\*(FIvalue\*(FR] +warn about dubious or non-portable constructs. If \*(FIvalue\*(FR is \*(FCfatal\*(FR, lint warnings become fatal errors. @@ -292,83 +279,43 @@ If \*(FIvalue\*(FR is \*(FCinvalid\*(FR, only issue warnings about things that are actually invalid (not fully implemented yet). -T} -.T& -l lw(2.2i). -\*(FC\-\^\-lint\-old\*(FR%T{ +.TI "\*(FC-L\*(FR, \*(FC\-\^\-lint\-old\*(FR warn about constructs that are not portable to the original version of Unix \*(AK. -T} -.T& -ls -l lw(2.2i). -\*(FC\-\^\-non\-decimal\-data\*(FR -%T{ +.TI "\*(FC\-n\*(FR, \*(FC\-\^\-non\-decimal\-data\*(FR recognize octal and hexadecimal values in input data. \*(FIUse this option with great caution!\*(FR -T} -.T& -ls -l lw(2.2i). -\*(FC\-\^\-optimize\*(FR, \*(FC\-O\*(FR -%T{ +.TI "\*(FC\-N\*(FR, \*(FC\-\^\-use\-lc\-numeric\*(FR +force use of the locale's decimal point character when parsing input data. +.TI "\*(FC\-O\*(FR, \*(FC\-\^\-optimize\*(FR enable some internal optimizations. -T} -.T& -l lw(2.2i). -\*(FC\-\^\-posix\*(FR%T{ -disable common and GNU extensions. -Enable \*(FIinterval expressions\*(FR in regular -expression matching (see \fHRegular -Expressions\fP below). -T} -.T& -ls -l lw(2.2i). -\*(FC\-\^\-profile\*(FR[\*(FC=\*(FIprof_file\*(FR] -%T{ -send profiling data to \*(FIprof_file\*(FR +.TI "\*(FC\-p \*(FR[\*(FC\*(FIfile\*(FR], \*(FC\-\^\-profile\*(FR[\*(FC=\*(FIfile\*(FR] +send profiling data to \*(FIfile\*(FR (default: \*(FCawkprof.out\*(FR). With \*(GK, the profile is just a ``pretty printed'' version of the program. With \*(PK, the profile contains execution counts in the left margin of each statement in the program. -T} -.T& -ls -l lw(2.2i). -\*(FC\-\^\-re\-interval\*(FR -%T{ +.TI "\*(FC\-P\*(FR, \*(FC\-\^\-posix\*(FR +disable common and GNU extensions. +.TI "\*(FC\-r\*(FR, \*(FC\-\^\-re\-interval\*(FR enable \*(FIinterval expressions\*(FR in regular expression matching (see \fHRegular Expressions\fP below). Useful if -\*(FC\-\^\-posix\*(FR is not specified. -T} -.T& -ls -l lw(2.2i). -\*(FC\-\^\-source '\*(FItext\*(FC'\*(FR -%T{ -use \*(FItext\*(FR as AWK program source code. -T} -.T& -l lw(2.2i). -\*(FC\-\^\-version\*(FR%T{ +\*(FC\-\^\-traditional\*(FR is specified. +.TI "\*(FC\-S\*(FR, \*(FC\-\^\-sandbox\*(FR +disable the \*(FCsystem\*(FR function, +input redirection with \*(FCgetline\*(FR, +output redirection with \*(FCprint\*(FR and \*(FCprintf\*(FR, +and dynamic extensions loading. +.TI "\*(FC\-V\*(FR, \*(FC\-\^\-version\*(FR print version \" information info on \*(FCstdout\fP and exit zero. -T} -.T& -ls -l lw(2.2i). -\*(FC\-\^\-use\-lc\-numeric -%T{ -force use of the locale's decimal point character when parsing input data. -T} -.TE +.in -4n .sp .5 .fi In compatibility mode, @@ -565,6 +512,8 @@ _ \*(FC\eB\*(FR~middle of a word \*(FC\e<\*(FR~beginning of a word \*(FC\e>\*(FR~end of a word +\*(FC\es\*(FR~any whitespace character +\*(FC\eS\*(FR~any non-whitespace character \*(FC\ew\*(FR~any word-constituent character \*(FC\eW\*(FR~any non-word-constituent character \*(FC\e`\*(FR~beginning of a string @@ -579,9 +528,7 @@ _ .fi \*(CRThe \*(FIr\*(FC{\*(FIn\*(FC,\*(FIm\*(FC}\*(FR notation is called an \*(FIinterval expression\fP. POSIX mandates it for AWK regexps, but -most \*(AKs don't implement it. \*(CBUse \*(FC\-\^\-re\-interval\*(FR -or \*(FC\-\^\-posix\*(FR to enable -this feature in \*(GK.\*(CX +most \*(AKs don't implement it.\*(CX .EB "\s+2\f(HBREGULAR EXPRESSIONS\*(FR\s0" @@ -662,8 +609,21 @@ expected to have a fixed width, and \*(GK splits up the record using the specified widths. The value of \*(FCFS\fP is ignored. Assigning a new value to \*(FCFS\fP -overrides the use of \*(FCFIELDWIDTHS\*(FR, -and restores the default behavior.\*(CD +overrides the use of \*(FCFIELDWIDTHS\*(FR. +and restores the default behavior. +.sp .5 +Similarly, if the +\*(FCFPAT\fP +variable is set to a string representing a regular expression, +each field is made up of text that matches that regular expression. In +this case, the regular expression describes the fields themselves, +instead of the text that separates the fields. +Assigning a new value to +\*(FCFS\fP +or +\*(FCFIELDWIDTHS\fP +overrides the use of +\*(FCFPAT\fP.\*(CD .sp .5 Each field in the input record may be referenced by its position, \*(FC$1\*(FR, \*(FC$2\*(FR and so on. @@ -695,6 +655,8 @@ Decreasing the value of \*(FCNF\fP causes the trailing fields to be lost .nf \*(FCBEGIN END + BEGINFILE + ENDFILE \*(FIexpression pat1\*(FC,\*(FIpat2\*(FR .sp .5 @@ -705,6 +667,13 @@ be multiple \*(FCBEGIN\fP and \*(FCEND\fP rules; they are merged and executed as if there had just been one large rule. They may occur anywhere in a program, including different source files. .sp .5 +\*(FCBEGINFILE\*(FR and \*(FCENDFILE\*(FR are special patterns that +execute before the first record of each file and after the last record +of each file, respectively. In the \*(FCBEGINFILE\*(FR rule, the \*(FCERRNO\*(FR +variable is non-null if there is a problem with the file; the code should use +\*(FCnextfile\*(FR to skip the file if desired. Otherwise \*(GK exits with +its usual fatal error. +.sp .5 Expression patterns can be any expression, as described under \fHExpressions\fP. .sp .5 @@ -787,8 +756,7 @@ matches the closest \*(FCif\*(FR. .br }\*(FR .br -switch on \*(FIexpression\*(FR, execute \*(FIcase\*(FR if matched, default if not. -For 3.1.x, requires \*(FC\-\^\-enable\-switch\*(FR option to \*(FCconfigure\*(FR.\*(CD +switch on \*(FIexpression\*(FR, execute \*(FIcase\*(FR if matched, default if not.\*(CD .ti -.2i .\" --- End switch statement \*(FCwhile (\*(FIcondition\*(FC) \*(FIstatement \*(FR @@ -884,6 +852,11 @@ T} \*(FCFNR\fP T{ record number in current input file. T} +\*(CB\*(FCFPAT\fP T{ +regular expression describing field contents. +Used to parse the input based on the fields +instead of the field separator.\*(CD +T} \*(FCFS\fP T{ input field separator, a space by default (see \fHFields\fP above). @@ -1003,7 +976,8 @@ numeric strings, they are string constants. The idea of ``numeric string'' only applies to fields, \*(FCgetline\fP input, \*(FCFILENAME\*(FR, \*(FCARGV\fP elements, \*(FCENVIRON\fP elements and the elements of an array created by -\*(FCsplit()\fP that are numeric strings. +\*(FCsplit()\fP or +\*(FCpatsplit()\fP that are numeric strings. The basic idea is that \*(FIuser input\*(FR, and only user input, that looks numeric, should be treated that way. @@ -1082,6 +1056,7 @@ i.e., not used on the right-hand side of \*(CB\*(FCgensub()\fP,\*(CD \*(FCgsub()\fP, \*(FCmatch()\fP, +\*(FCpatsplit()\fP, \*(FCsplit()\fP, and \*(FCsub()\fP, @@ -1295,51 +1270,41 @@ File associated with the open file descriptor \*(FIn\*(FR. .ti -.2i \*(FC/inet/tcp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR .br -File for TCP/IP connection on local port \*(FIlport\*(FR to +.ti -.2i +\*(FC/inet4/tcp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR +.br +.ti -.2i +\*(FC/inet6/tcp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR +.br +Files for TCP/IP connections on local port \*(FIlport\*(FR to remote host \*(FIrhost\*(FR on remote port \*(FIrport\*(FR. Use a port of \*(FC0\*(FR to have the system pick a port. +Use \*(FC/inet4\fP to force an IPv4 connection, +and \*(FC/inet6\fP to force an IPv6 connection. +Plain \*(FC/inet\fP uses the system default (probably IPv4). Usable only with the \*(FC|&\*(FR two-way I/O operator. .ti -.2i \*(FC/inet/udp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR .br +.ti -.2i +\*(FC/inet4/udp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR +.br +.ti -.2i +\*(FC/inet6/udp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR +.br Similar, but use UDP/IP instead of TCP/IP. .ti -.2i \*(CR\*(FC/inet/raw/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR .br +.ti -.2i +\*(FC/inet4/raw/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR +.br +.ti -.2i +\*(FC/inet6/raw/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR +.br .\" Similar, but use raw IP sockets. -Reserved for future use.\*(CB +Reserved for future use.\*(CL .in -.2i -.sp .5 -.fi -Other special filenames provide access to information about the running -\*(FCgawk\fP process. -Reading from these files returns a single record. -The filenames and what they return are:\*(FR -.sp .5 -.TS -expand; -l lw(2i). -\*(FC/dev/pid\fP process ID of current process -\*(FC/dev/ppid\fP parent process ID of current process -\*(FC/dev/pgrpid\fP process group ID of current process -\*(FC/dev/user\fP T{ -.nf -a single newline-terminated record. -The fields are separated with spaces. -\*(FC$1\fP is the return value of \*(FIgetuid\*(FR(2), -\*(FC$2\fP is the return value of \*(FIgeteuid\*(FR(2), -\*(FC$3\fP is the return value of \*(FIgetgid\*(FR(2) , and -\*(FC$4\fP is the return value of \*(FIgetegid\*(FR(2). -.fi -Any additional fields are the group IDs returned -by \*(FIgetgroups\*(FR(2). Multiple groups may not be -supported on all systems. -T} -.TE -.sp .5 -.fi -\*(CRThese filenames are now obsolete. -Use the \*(FCPROCINFO\fP array to obtain the information they provide.\*(CL .EB "\s+2\f(HBSPECIAL FILENAMES\*(FR\s0" .BT @@ -1540,12 +1505,29 @@ and provide the starting index in the string and length respectively, of each matching substring.\*(CD .ti -.2i -\*(FCsplit(\*(FIs\*(FC, \*(FIa \*(FR[\*(FC, \*(FIr\*(FR]\*(FC)\*(FR +\*(CB\*(FCpatsplit(\*(FIs\*(FC, \*(FIa \*(FR[\*(FC, \*(FIr \*(CB\*(FR[\*(FC, \*(FIseps \*(FR] \*(FR] \*(FC)\*(FR .br splits the string -\*(FIs\fP into the array \*(FIa\fP using the regular expression \*(FIr\*(FR, +\*(FIs\fP into the array \*(FIa\fP +and the array \*(FIseps\fP of separator strings +using the regular expression \*(FIr\*(FR, +and returns the number of fields. +Element values are the portions of \*(FIs\fP that matched \*(FIr\fP. +The value of \*(FIseps\fP[\*(FIi\fP] is the separator that appeared in +front of \*(FIa\fP[\*(FIi\fP+1]. +If \*(FIr\fP is omitted, \*(FCFPAT\fP +is used instead. +The arrays \*(FIa\fP and \*(FIseps\fP are cleared first. +Splitting behaves identically to field splitting with \*(FCFPAT\fP.\*(CD +.ti -.2i +\*(FCsplit(\*(FIs\*(FC, \*(FIa \*(FR[\*(FC, \*(FIr \*(CB\*(FR[\*(FC, \*(FIseps \*(FR]\*(CD \*(FR] \*(FC)\*(FR +.br +splits the string +\*(FIs\fP into the array \*(FIa\fP \*(CBand the array \*(FIseps\fP of separator strings\*(CD +using the regular expression \*(FIr\*(FR, and returns the number of fields. If \*(FIr\fP is omitted, \*(FCFS\fP -is used instead. The array \*(FIa\fP is cleared first. +is used instead. +The arrays \*(FIa\fP \*(CBand \*(FIseps\fP\*(CD are cleared first. Splitting behaves identically to field splitting. (See \fHFields\fP, above.) .ti -.2i @@ -1776,7 +1758,7 @@ to use the current domain.\*(CB \*(CDThere are several steps involved in producing and running a localizable \*(AK program. .sp .5 -1. Add a \*(FCBEGIN\*(FR action to assign a value to the +1. Add a \*(FCBEGIN\*(FR action to assign a value to the \*(FCTEXTDOMAIN\*(FR variable to set the text domain for your program. .sp .5 @@ -1788,24 +1770,24 @@ file associated with your program. Without this step, \*(GK uses the \*(FCmessages\*(FR text domain, which probably won't work. .sp .5 -2. Mark all strings that should be translated with leading underscores. +2. Mark all strings that should be translated with leading underscores. .sp .5 -3. Use the +3. Use the \*(FCbindtextdomain()\*(FR, \*(FCdcgettext()\*(FR, and/or \*(FCdcngettext()\*(FR functions in your program, as appropriate. .sp .5 -4. Run +4. Run .sp .5 -.ti +5n -\*(FCgawk \-\^\-gen\-po \-f myprog.awk > myprog.po\*(FR +.ti +3n +\*(FCgawk\0\-\^\-gen\-pot\0\-f\0myprog.awk\0>\0myprog.po\*(FR .sp .5 to generate a \*(FC\&.po\*(FR file for your program. .sp .5 -5. Provide appropriate translations, and build and install a corresponding +5. Provide appropriate translations, and build and install a corresponding \*(FC\&.mo\*(FR file. .sp .5 The internationalization features are described in full detail in \*(AM.\*(CB @@ -1855,7 +1837,24 @@ Functions may call each other and may be recursive. Function parameters used as local variables are initialized to the null string and the number zero upon function invocation. .sp .5 -Use \*(FCreturn\fP to return a value from a function. The return value +\*(CBFunctions may be called indirectly. To do this, assign +the name of the function to be called, as a string, to a variable. +Then use the variable as if it were the name of a function, prefixed with +an ``at'' sign, like so:\*(FC +.nf +.sp .5 + function myfunc() + { + print "myfunc called" + } +.sp .3 + { + the_func = "myfunc" + @the_func() + } +.fi +.sp .5 +\*(FR\*(CDUse \*(FCreturn\fP to return a value from a function. The return value is undefined if no value is provided, or if the function returns by ``falling off'' the end. .sp .5 @@ -1886,6 +1885,8 @@ then \*(GK behaves exactly as if the \*(FC\-\^\-posix\fP option had been given.\*(CB .EB "\s+2\f(HBENVIRONMENT VARIABLES (\*(GK\f(HB)\*(FR\s0" +.BT + .\" --- Historical Features .ES .fi @@ -1904,14 +1905,11 @@ equivalent to the \*(FCnext\fP statement. is specified.\*(CB .EB "\s+2\f(HBHISTORICAL FEATURES (\*(GK\f(HB)\*(FR\s0" - -.BT - .\" --- FTP/HTTP Information .ES .nf \*(CDHost: \*(FCftp.gnu.org\*(FR -File: \*(FC/gnu/gawk/gawk-3.1.8.tar.gz\fP +File: \*(FC/gnu/gawk/gawk-4.0.0.tar.gz\fP .in +.2i .fi GNU \*(AK (\*(GK). There may be a later version. @@ -1962,9 +1960,11 @@ translation approved by the Foundation.\*(CX .EB "\s+2\f(HBCOPYING PERMISSIONS\*(FR\s0" .\" Need the BT here to get the final page number +.ig .ES \*(CX -.sp 28 +.sp 10 .EB "\s+2\f(HBNOTES\*(FR\s0" +.. .BT @@ -124,10 +124,33 @@ sign, with no intervening spaces, or they may be provided in the next command line argument. Long options may be abbreviated, as long as the abbreviation remains unique. +.PP +Additionally, each long option has a corresponding short +option, so that the option's functionality may be used from +within +.B #! +executable scripts. .SH OPTIONS .PP .I Gawk -accepts the following options, listed by frequency. +accepts the following options. +Standard options are listed first, followed by options for +.I gawk +extensions, listed alphabetically by short option. +.TP +.PD 0 +.BI \-f " program-file" +.TP +.PD +.BI \-\^\-file " program-file" +Read the \*(AK program source from the file +.IR program-file , +instead of from the first command line argument. +Multiple +.B \-f +(or +.BR \-\^\-file ) +options may be used. .TP .PD 0 .BI \-F " fs" @@ -154,20 +177,7 @@ before execution of the program begins. Such variable values are available to the .B BEGIN block of an \*(AK program. -.TP -.PD 0 -.BI \-f " program-file" -.TP -.PD -.BI \-\^\-file " program-file" -Read the \*(AK program source from the file -.IR program-file , -instead of from the first command line argument. -Multiple -.B \-f -(or -.BR \-\^\-file ) -options may be used. +.ig .TP .PD 0 .BI \-mf " NNN" @@ -193,22 +203,22 @@ has no pre-defined limits. (Current versions of the Bell Laboratories .I awk no longer accept them.) +.. .TP .PD 0 -.B \-O +.B \-b .TP .PD -.B \-\^\-optimize -Enable optimizations upon the internal representation of the program. -Currently, this includes just simple constant-folding. The -.I gawk -maintainer hopes to add additional optimizations over time. -.TP -.PD 0 -.B "\-W compat" +.B \-\^\-characters\-as\-bytes +Treat all input data as single-byte characters. In other words, +don't pay any attention to the locale information when attempting to +process strings as multibyte characters. +The +.B "\-\^\-posix" +option overrides this one. .TP .PD 0 -.B "\-W traditional" +.B \-c .TP .PD 0 .B \-\^\-compat @@ -222,18 +232,15 @@ mode. In compatibility mode, behaves identically to \*(UX .IR awk ; none of the \*(GN-specific extensions are recognized. -The use of -.B \-\^\-traditional -is preferred over the other forms of this option. +.\" The use of +.\" .B \-\^\-traditional +.\" is preferred over the other forms of this option. See .BR "GNU EXTENSIONS" , below, for more information. .TP .PD 0 -.B "\-W copyleft" -.TP -.PD 0 -.B "\-W copyright" +.B \-C .TP .PD 0 .B \-\^\-copyleft @@ -244,7 +251,7 @@ Print the short version of the \*(GN copyright information message on the standard output and exit successfully. .TP .PD 0 -\fB\-W dump-variables\fR[\fB=\fIfile\fR] +\fB\-d \fR[\fIfile\fR] .TP .PD \fB\-\^\-dump-variables\fR[\fB=\fIfile\fR] @@ -270,7 +277,23 @@ names like and so on.) .TP .PD 0 -.BI "\-W exec " file +.BI "\-e " program-text +.TP +.PD +.BI \-\^\-source " program-text" +Use +.I program-text +as \*(AK program source code. +This option allows the easy intermixing of library functions (used via the +.B \-f +and +.B \-\^\-file +options) with source code entered on the command line. +It is intended primarily for medium to large \*(AK programs used +in shell scripts. +.TP +.PD 0 +.BI "\-E " file .TP .PD .BI \-\^\-exec " file" @@ -285,10 +308,10 @@ from a URL. This option disables command-line variable assignments. .TP .PD 0 -.B "\-W gen\-po" +.B \-g .TP .PD -.B \-\^\-gen\-po +.B \-\^\-gen\-pot Scan and parse the \*(AK program, and generate a \*(GN .B \&.po format file on standard output with entries for all localizable @@ -300,10 +323,7 @@ distribution for more information on files. .TP .PD 0 -.B "\-W help" -.TP -.PD 0 -.B "\-W usage" +.B \-h .TP .PD 0 .B \-\^\-help @@ -317,7 +337,7 @@ the standard output. these options cause an immediate, successful exit.) .TP .PD 0 -.BR "\-W lint" [ =\fIvalue\fR ] +.BR "\-l " [ \fIvalue\fR ] .TP .PD .BR \-\^\-lint [ =\fIvalue\fR ] @@ -334,7 +354,7 @@ only warnings about things that are actually invalid are issued. (This is not fully implemented yet.) .TP .PD 0 -.B "\-W lint\-old" +.B \-L .TP .PD .B \-\^\-lint\-old @@ -343,12 +363,31 @@ not portable to the original version of Unix .IR awk . .TP .PD 0 -.B "\-W non\-decimal\-data" +.B \-n .TP .PD .B "\-\^\-non\-decimal\-data" Recognize octal and hexadecimal values in input data. .I "Use this option with great caution!" +.TP +.PD 0 +.B \-N +.TP +.PD +.B \-\^\-use\-lc\-numeric +This forces +.I gawk +to use the locale's decimal point character when parsing input data. +Although the POSIX standard requires this behavior, and +.I gawk +does so when +.B \-\^\-posix +is in effect, the default is to follow traditional behavior and use a +period as the decimal point, even in locales where the period is not the +decimal point character. This option overrides the default behavior, +without the full draconian strictness of the +.B \-\^\-posix +option. .ig .\" This option is left undocumented, on purpose. .TP @@ -363,7 +402,34 @@ users. .. .TP .PD 0 -.B "\-W posix" +.B \-O +.TP +.PD +.B \-\^\-optimize +Enable optimizations upon the internal representation of the program. +Currently, this includes just simple constant-folding. The +.I gawk +maintainer hopes to add additional optimizations over time. +.TP +.PD 0 +\fB\-p \fR[\fIprof_file\fR] +.TP +.PD +\fB\-\^\-profile\fR[\fB=\fIprof_file\fR] +Send profiling data to +.IR prof_file . +The default is +.BR awkprof.out . +When run with +.IR gawk , +the profile is just a \*(lqpretty printed\*(rq version of the program. +When run with +.IR pgawk , +the profile contains execution counts of each statement in the program +in the left margin and function call counts for each user-defined function. +.TP +.PD 0 +.B \-P .TP .PD .B \-\^\-posix @@ -411,24 +477,7 @@ function is not available. .RE .TP .PD 0 -\fB\-W profile\fR[\fB=\fIprof_file\fR] -.TP -.PD -\fB\-\^\-profile\fR[\fB=\fIprof_file\fR] -Send profiling data to -.IR prof_file . -The default is -.BR awkprof.out . -When run with -.IR gawk , -the profile is just a \*(lqpretty printed\*(rq version of the program. -When run with -.IR pgawk , -the profile contains execution counts of each statement in the program -in the left margin and function call counts for each user-defined function. -.TP -.PD 0 -.B "\-W re\-interval" +.B \-r .TP .PD .B \-\^\-re\-interval @@ -444,50 +493,26 @@ Interval expressions were not traditionally available in the and .I egrep consistent with each other. -However, their use is likely -to break old \*(AK programs, so -.I gawk -only provides them if they are requested with this option, or when -.B \-\^\-posix -is specified. -.TP -.PD 0 -.BI "\-W source " program-text -.TP -.PD -.BI \-\^\-source " program-text" -Use -.I program-text -as \*(AK program source code. -This option allows the easy intermixing of library functions (used via the -.B \-f -and -.B \-\^\-file -options) with source code entered on the command line. -It is intended primarily for medium to large \*(AK programs used -in shell scripts. .TP .PD 0 -.B "\-W use\-lc\-numeric" +.BI \-S .TP .PD -.B \-\^\-use\-lc\-numeric -This forces -.I gawk -to use the locale's decimal point character when parsing input data. -Although the POSIX standard requires this behavior, and +.BI \-\^\-sandbox +Runs .I gawk -does so when -.B \-\^\-posix -is in effect, the default is to follow traditional behavior and use a -period as the decimal point, even in locales where the period is not the -decimal point character. This option overrides the default behavior, -without the full draconian strictness of the -.B \-\^\-posix -option. +in sandbox mode, disabling the +.B system +function, input redirection with +.BR getline , +output redirection with +.BR print "and " printf , +and dynamic extensions loading. +Command execution (through pipelines) is also disabled. +This effectively blocks a script from accessing local resources (except for the files specified on the command line). .TP .PD 0 -.B "\-W version" +.B \-V .TP .PD .B \-\^\-version @@ -621,6 +646,28 @@ Finally, after all the input is exhausted, executes the code in the .B END block(s) (if any). +.SS Command Line Directories +.PP +According to POSIX, files named on the +.I awk +command line must be +text files. The behavior is ``undefined'' if they are not. Most versions +of +.I awk +treat a directory on the command line as a fatal error. +.PP +.\" FIXME: VERSION!! +Starting with version 3.x of +.IR gawk , +a directory on the command line +produces a warning, but is otherwise skipped. If either of the +.B \-\^\-posix +or +.B \-\^\-traditional +options is given, then +.I gawk +reverts to +treating directories on the command line as a fatal error. .SH VARIABLES, RECORDS AND FIELDS \*(AK variables are dynamic; they come into existence when they are first used. Their values are either floating-point numbers or strings, @@ -698,9 +745,23 @@ splits up the record using the specified widths. The value of is ignored. Assigning a new value to .B FS +or +.B FPAT +overrides the use of +.BR FIELDWIDTHS . +.PP +Similarly, if the +.B FPAT +variable is set to a string representing a regular expression, +each field is made up of text that matches that regular expression. In +this case, the regular expression describes the fields themselves, +instead of the text that separates the fields. +Assigning a new value to +.BR FS +or +.B FIELDWIDTHS overrides the use of -.BR FIELDWIDTHS , -and restores the default behavior. +.BR FPAT . .PP Each field in the input record may be referenced by its position, .BR $1 , @@ -838,6 +899,20 @@ block .B FNR The input record number in the current input file. .TP +.B FPAT +A regular expression describing the contents of the +fields in a record. +When set, +.I gawk +parses the input into fields, where the fields match the +regular expression, instead of using the +value of the +.B FS +variable as the field separator. +See +.BR Fields , +above. +.TP .B FS The input field separator, a space by default. See .BR Fields , @@ -863,6 +938,7 @@ and the .BR gsub() , .BR index() , .BR match() , +.BR patsplit() , .BR split() , and .B sub() @@ -954,7 +1030,11 @@ system call. \fBPROCINFO["FS"]\fP \fB"FS"\fP if field splitting with .B FS -is in effect, or \fB"FIELDWIDTHS"\fP if field splitting with +is in effect, +\fB"FPAT"\fP if field splitting with +.B FPAT +is in effect, +or \fB"FIELDWIDTHS"\fP if field splitting with .B FIELDWIDTHS is in effect. .TP @@ -1141,6 +1221,8 @@ elements, .B ENVIRON elements and the elements of an array created by .B split() +or +.B patsplit() that are numeric strings. The basic idea is that .IR "user input" , @@ -1271,6 +1353,8 @@ and to the pattern-action statements themselves. .nf .B BEGIN .B END +.B BEGINFILE +.B ENDFILE .BI / "regular expression" / .I "relational expression" .IB pattern " && " pattern @@ -1308,6 +1392,24 @@ and .B END patterns cannot have missing action parts. .PP +.B BEGINFILE +and +.B ENDFILE +are additional special patterns whose bodies are executed +before reading the first record of each command line input file +and after reading the last record of each file. +Inside the +.B BEGINFILE +rule, the value of +.B ERRNO +will be the empty string if the file could be opened successfully. +Otherwise, there is some problem with the file and the code should +use +.B nextfile +to skip it. If that is not done, +.I gawk +will produce its usual fatal error for files that cannot be opened. +.PP For .BI / "regular expression" / patterns, the associated statement is executed for each input record that matches @@ -1432,12 +1534,6 @@ If there is one number followed by a comma, then is repeated at least .I n times. -.sp .5 -Interval expressions are only available if either -.B \-\^\-posix -or -.B \-\^\-re\-interval -is specified on the command line. .TP .B \ey matches the empty string at either the beginning or the @@ -1452,6 +1548,12 @@ matches the empty string at the beginning of a word. .B \e> matches the empty string at the end of a word. .TP +.B \es +matches any whitespace character. +.TP +.B \eS +matches any nonwhitespace character. +.TP .B \ew matches any word-constituent character (letter, digit, or underscore). .TP @@ -1594,6 +1696,8 @@ The .BR \eB , .BR \e< , .BR \e> , +.BR \es , +.BR \eS , .BR \ew , .BR \eW , .BR \e` , @@ -1613,7 +1717,6 @@ In the default case, .I gawk provide all the facilities of \*(PX regular expressions and the \*(GN regular expression operators described above. -However, interval expressions are not supported. .TP .B \-\^\-posix Only \*(PX regular expressions are supported, the \*(GN operators are not special. @@ -1621,7 +1724,6 @@ Only \*(PX regular expressions are supported, the \*(GN operators are not specia .B \ew matches a literal .BR w ). -Interval expressions are allowed. .TP .B \-\^\-traditional Traditional Unix @@ -1647,6 +1749,20 @@ Action statements consist of the usual assignment, conditional, and looping statements found in most languages. The operators, control statements, and input/output statements available are patterned after those in C. +.PP +.I gawk +accepts an additional control-flow statement not allowed in other +.I awk +versions: +.RS +.nf +\fBswitch (\fIexpression\fB) { +\fBcase \fIvalue\fB|\fIregex\fB : \fIstatement +\&.\^.\^. +\fR[ \fBdefault: \fIstatement \fR] +\fB}\fR +.fi +.RE .SS Operators .PP The operators in \*(AK, in order of decreasing precedence, are @@ -2192,9 +2308,16 @@ print "You blew it!" | "cat 1>&2" The following special filenames may be used with the .B |& co-process operator for creating TCP/IP network connections. -.TP "\w'\fB/inet/tcp/\fIlport\fB/\fIrhost\fB/\fIrport\fR'u+2n" +.TP +.PD 0 .BI /inet/tcp/ lport / rhost / rport -File for TCP/IP connection on local port +.TP +.PD 0 +.BI /inet4/tcp/ lport / rhost / rport +.TP +.PD +.BI /inet6/tcp/ lport / rhost / rport +Files for a TCP/IP connection on local port .I lport to remote host @@ -2204,57 +2327,36 @@ on remote port Use a port of .B 0 to have the system pick a port. +Use +.B /inet4 +to force an IPv4 connection, +and +.B /inet6 +to force an IPv6 connection. +Plain +.B /inet +uses the system default (most likely IPv4). .TP +.PD 0 .BI /inet/udp/ lport / rhost / rport +.TP +.PD 0 +.BI /inet4/udp/ lport / rhost / rport +.TP +.PD +.BI /inet6/udp/ lport / rhost / rport Similar, but use UDP/IP instead of TCP/IP. .TP +.PD 0 .BI /inet/raw/ lport / rhost / rport +.TP +.PD 0 +.BI /inet4/raw/ lport / rhost / rport +.TP +.PD +.BI /inet6/raw/ lport / rhost / rport .\" Similar, but use raw IP sockets. Reserved for future use. -.PP -Other special filenames provide access to information about the running -.I gawk -process. -.B "These filenames are now obsolete." -Use the -.B PROCINFO -array to obtain the information they provide. -The filenames are: -.TP "\w'\fB/dev/stdout\fR'u+1n" -.B /dev/pid -Reading this file returns the process ID of the current process, -in decimal, terminated with a newline. -.TP -.B /dev/ppid -Reading this file returns the parent process ID of the current process, -in decimal, terminated with a newline. -.TP -.B /dev/pgrpid -Reading this file returns the process group ID of the current process, -in decimal, terminated with a newline. -.TP -.B /dev/user -Reading this file returns a single record terminated with a newline. -The fields are separated with spaces. -.B $1 -is the value of the -.IR getuid (2) -system call, -.B $2 -is the value of the -.IR geteuid (2) -system call, -.B $3 -is the value of the -.IR getgid (2) -system call, and -.B $4 -is the value of the -.IR getegid (2) -system call. -If there are any additional fields, they are the group IDs returned by -.IR getgroups (2). -Multiple groups may not be supported on all systems. .SS Numeric Functions .PP \*(AK has the following built-in arithmetic functions: @@ -2489,11 +2591,51 @@ and provide the starting index in the string and length respectively, of each matching substring. .TP -\fBsplit(\fIs\fB, \fIa \fR[\fB, \fIr\fR]\fB)\fR +\fBpatsplit(\fIs\fB, \fIa \fR[\fB, \fIr\fR [\fB, \fIseps\fR] ]\fB)\fR +Splits the string +.I s +into the array +.I a +and the separators array +.I seps +on the regular expression +.IR r , +and returns the number of fields. +Element values are the portions of +.I s +that matched +.IR r . +The value of +.I seps[i] +is the separator that appeared in +front of +.IR a[i+1] . +If +.I r +is omitted, +.B FPAT +is used instead. +The arrays +.I a +and +.I seps +are cleared first. +.I seps[i] +is the field separator text between +.I a[i] +and +.IR a[i+1] . +Splitting behaves identically to field splitting with +.BR FPAT , +described above. +.TP +\fBsplit(\fIs\fB, \fIa \fR[\fB, \fIr\fR [\fB, \fIseps\fR] ]\fB)\fR Splits the string .I s into the array .I a +and the separators array +.I seps on the regular expression .IR r , and returns the number of fields. If @@ -2501,9 +2643,30 @@ and returns the number of fields. If is omitted, .B FS is used instead. -The array +The arrays .I a -is cleared first. +and +.I seps +are cleared first. +.I seps[i] +is the field separator matched by +.I r +between +.I a[i] +and +.IR a[i+1] . +If +.I r +is a single space, then leading whitespace in +.I s +goes into the extra array element +.I seps[0] +and trailing whitespace goes into the extra array element +.IR seps[n] , +where +.I n +is the return value of +.IR "split(s, a, r, seps)" . Splitting behaves identically to field splitting, described above. .TP .BI sprintf( fmt , " expr-list" ) @@ -2831,6 +2994,30 @@ to return a value from a function. The return value is undefined if no value is provided, or if the function returns by \*(lqfalling off\*(rq the end. .PP +As a +.I gawk +extension, functions may be called indirectly. To do this, assign +the name of the function to be called, as a string, to a variable. +Then use the variable as if it were the name of a function, prefixed with +an ``at'' sign, like so: +.RS +.ft B +.nf +function myfunc() +{ + print "myfunc called" + \&.\|.\|. +} + +{ .\|.\|. + the_func = "myfunc" + @the_func() # call through the_func to myfunc + .\|.\|. +} +.fi +.ft R +.RE +.PP If .B \-\^\-lint has been provided, @@ -2986,7 +3173,7 @@ functions in your program, as appropriate. .TP 4. Run -.B "gawk \-\^\-gen\-po \-f myprog.awk > myprog.po" +.B "gawk \-\^\-gen\-pot \-f myprog.awk > myprog.po" to generate a .B \&.po file for your program. @@ -3198,6 +3385,11 @@ variable and fixed-width field splitting. .TP \(bu The +.B FPAT +variable and field splitting based on field values. +.TP +\(bu +The .B PROCINFO array is not available. .\" I/O stuff @@ -3268,6 +3460,7 @@ The .BR lshift() , .BR mktime() , .BR or() , +.BR patsplit() , .BR rshift() , .BR strftime() , .BR strtonum() , @@ -3347,34 +3540,6 @@ This option should only be of interest to the maintainers, and may not even be compiled into .IR gawk . .. -.PP -If -.I gawk -is -.I configured -with the -.B \-\^\-enable\-switch -option to the -.I configure -command, then it accepts an additional control-flow statement: -.RS -.nf -\fBswitch (\fIexpression\fB) { -\fBcase \fIvalue\fB|\fIregex\fB : \fIstatement -\&.\^.\^. -\fR[ \fBdefault: \fIstatement \fR] -\fB}\fR -.fi -.RE -.PP -If -.I gawk -is configured with the -.B \-\^\-disable\-directories-fatal -option, then it will silently skip directories named on the command line. -Otherwise, it will do so only if invoked with the -.B \-\^\-traditional -option. .SH ENVIRONMENT VARIABLES The .B AWKPATH @@ -3493,7 +3658,7 @@ Fred Fish supplied support for the Amiga, and Martin Brown provided the BeOS port. Stephen Davies provided the original Tandem port, and Matthew Woehlke provided changes for Tandem's POSIX-compliant systems. -Ralf Wildenhues now maintains that port. +.SH Ralf Wildenhues now maintains that port. .PP See the .I README @@ -3501,10 +3666,10 @@ file in the .I gawk distribution for current information about maintainers and which ports are currently supported. -.SH VERSION INFORMATION +VERSION INFORMATION This man page documents .IR gawk , -version 3.1.8. +version 4.0. .SH BUG REPORTS If you find a bug in .IR gawk , diff --git a/doc/gawk.info b/doc/gawk.info index 447ecf7c..8b70bd43 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -106,6 +106,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Copying:: Your right to copy and distribute `gawk'. * GNU Free Documentation License:: The license for this Info file. +* next-edition:: next-edition. * Index:: Concept and Variable Index. * History:: The history of `gawk' and @@ -163,6 +164,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Command Line Field Separator:: Setting `FS' from the command-line. * Field Splitting Summary:: Some final points and a summary table. * Constant Size:: Reading constant width data. +* Splitting By Content:: Defining Fields By Content * Multiple Line:: Reading multi-line records. * Getline:: Reading files under explicit program control using the `getline' function. @@ -180,6 +182,9 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Getline Notes:: Important things to know about `getline'. * Getline Summary:: Summary of `getline' Variants. +* BEGINFILE/ENDFILE:: Two special patterns for advanced control. +* Command line directories:: What happens if you put a directory on the + command line. * Print:: The `print' statement. * Print Examples:: Simple examples of `print' statements. * Output Separators:: The output separators and how to change @@ -197,10 +202,11 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) `gawk' allows access to inherited file descriptors. * Special FD:: Special files for I/O. -* Special Process:: Special files for process information. * Special Network:: Special files for network communications. * Special Caveats:: Things to watch out for. * Close Files And Pipes:: Closing Input and Output Files and Pipes. +* Values:: Constants, Variables, and Regular + Expressions. * Constants:: String, numeric and regexp constants. * Scalar Constants:: Numeric and string constants. * Nondecimal-numbers:: What are octal and hex numbers. @@ -214,6 +220,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) advanced method of input. * Conversion:: The conversion of strings to numbers and vice versa. +* All Operators:: `gawk''s operators. * Arithmetic Ops:: Arithmetic operations (`+', `-', etc.) * Concatenation:: Concatenating strings. @@ -221,6 +228,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) field. * Increment Ops:: Incrementing the numeric value of a variable. +* Truth Values and Conditions:: Testing for true and false. * Truth Values:: What is ``true'' and what is ``false''. * Typing and Comparison:: How variables acquire types and how this affects comparison of numbers and strings @@ -272,6 +280,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Auto-set:: Built-in variables where `awk' gives you information. * ARGC and ARGV:: Ways to use `ARGC' and `ARGV'. +* Array Basics:: The basics of arrays. * Array Intro:: Introduction to Arrays * Reference to Elements:: How to examine one element of an array. * Assigning Elements:: How to change an element of an array. @@ -311,6 +320,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Function Caveats:: Things to watch out for. * Return Statement:: Specifying the value a function returns. * Dynamic Typing:: How variable types can change at runtime. +* Indirect Calls:: Choosing the function to call at runtime. * I18N and L10N:: Internationalization and Localization. * Explaining gettext:: How GNU `gettext' works. * Programmer i18n:: Features for the programmer. @@ -332,8 +342,8 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Other Arguments:: Input file names and variable assignments. * AWKPATH Variable:: Searching directories for `awk' programs. -* Obsolete:: Obsolete Options and/or features. * Exit Status:: `gawk''s exit status. +* Obsolete:: Obsolete Options and/or features. * Undocumented:: Undocumented Options and Features. * Known Bugs:: Known Bugs in `gawk'. * Library Names:: How to best name private global variables @@ -341,6 +351,8 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * General Functions:: Functions that are of general use. * Nextfile Function:: Two implementations of a `nextfile' function. +* Strtonum Function:: A replacement for the built-in + `strtonum' function. * Assert Function:: A function for assertions in `awk' programs. * Round Function:: A function for rounding if `sprintf' @@ -410,14 +422,16 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * PC Installation:: Installing and Compiling `gawk' on MS-DOS and OS/2. * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling `gawk' for MS-DOS, Windows32, - and OS/2. -* PC Using:: Running `gawk' on MS-DOS, Windows32 and - OS/2. +* PC Compiling:: Compiling `gawk' for MS-DOS, + Windows32, and OS/2. * PC Dynamic:: Compiling `gawk' for dynamic libraries. +* PC Using:: Running `gawk' on MS-DOS, Windows32 + and OS/2. * Cygwin:: Building and running `gawk' for Cygwin. +* MSYS:: Using `gawk' In The MSYS + Environment. * VMS Installation:: Installing `gawk' on VMS. * VMS Compilation:: How to compile `gawk' under VMS. * VMS Installation Details:: How to install `gawk' under VMS. @@ -455,9 +469,12 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Basic Data Typing:: A very quick intro to data types. * Floating Point Issues:: Stuff to know about floating-point numbers. * String Conversion Precision:: The String Value Can Lie. -* Unexpected Results:: Floating Point Numbers Are Not - Abstract Numbers. +* Unexpected Results:: Floating Point Numbers Are Not Abstract + Numbers. * POSIX Floating Point Problems:: Standards Versus Existing Practice. +* unresolved:: unresolved. +* revision:: revision. +* consistency:: consistency. To Miriam, for making me complete. @@ -1018,13 +1035,14 @@ a significant pleasure. Ulrich Drepper, provided invaluable help and feedback for the design of the internationalization features. - Nelson Beebe, Antonio Colombo Scott Deifik, John H. DuBois III, -Darrel Hankerson, Michal Jaegermann, Ju"rgen Kahrs, Dave Pitts, Stepan -Kasal, Pat Rankin, Andrew Schorr, Corinna Vinschen, Anders Wallin, and -Eli Zaretskii (in alphabetical order) make up the current `gawk' "crack -portability team." Without their hard work and help, `gawk' would not -be nearly the fine program it is today. It has been and continues to -be a pleasure working with this team of fine people. + Nelson Beebe, Andreas Buening, Antonio Colombo, Scott Deifik, John +H. DuBois III, Darrel Hankerson, Michal Jaegermann, Ju"rgen Kahrs, Dave +Pitts, Stepan Kasal, Pat Rankin, Andrew Schorr, Corinna Vinschen, +Anders Wallin, and Eli Zaretskii (in alphabetical order) make up the +current `gawk' "crack portability team." Without their hard work and +help, `gawk' would not be nearly the fine program it is today. It has +been and continues to be a pleasure working with this team of fine +people. David and I would like to thank Brian Kernighan of Bell Laboratories for invaluable assistance during the testing and debugging of `gawk', @@ -1183,8 +1201,8 @@ MS-DOS, it is `Ctrl-z'.) As an example, the following program prints a friendly piece of advice (from Douglas Adams's `The Hitchhiker's Guide to the Galaxy'), -to keep you from worrying about the complexities of computer programming -(`BEGIN' is a feature we haven't discussed yet): +to keep you from worrying about the complexities of computer +programming(1) (`BEGIN' is a feature we haven't discussed yet): $ awk "BEGIN { print \"Don't Panic!\" }" -| Don't Panic! @@ -1192,7 +1210,7 @@ to keep you from worrying about the complexities of computer programming This program does not read any input. The `\' before each of the inner double quotes is necessary because of the shell's quoting rules--in particular because it mixes both single quotes and double -quotes.(1) +quotes.(2) This next simple `awk' program emulates the `cat' utility; it copies whatever you type on the keyboard to its standard output (why this @@ -1211,7 +1229,12 @@ works is explained shortly). ---------- Footnotes ---------- - (1) Although we generally recommend the use of single quotes around + (1) If you use `bash' as your shell, you should execute the command +`set +H' before running this program interactively, to disable the +`csh'-style command history, which treats `!' as a special character. +We recommend putting this command into your personal startup file. + + (2) Although we generally recommend the use of single quotes around the program text, double quotes are needed here in order to put the single quote into the message. @@ -1378,7 +1401,7 @@ File: gawk.info, Node: Quoting, Prev: Comments, Up: Running gawk * Menu: -* DOS Quoting:: Quoting in MS-DOS Batch Files. +* DOS Quoting:: Quoting in MS-DOS Batch Files. For short to medium length `awk' programs, it is most convenient to enter the program on the `awk' command line. This is best done by @@ -2360,16 +2383,18 @@ sequences and that are not listed in the table stand for themselves: They were added as part of the POSIX standard to make `awk' and `egrep' consistent with each other. - However, because old programs may use `{' and `}' in regexp - constants, by default `gawk' does _not_ match interval expressions - in regexps. If either `--posix' or `--re-interval' are specified - (*note Options::), then interval expressions are allowed in - regexps. + Initially, because old programs may use `{' and `}' in regexp + constants, `gawk' did _not_ match interval expressions in regexps. + + However, beginning with version 3.2 *(FIXME: version)* `gawk' does + match interval expressions by default. This is because + compatibility with POSIX has become more important to most `gawk' + users than compatibility with old programs. - For new programs that use `{' and `}' in regexp constants, it is - good practice to always escape them with a backslash. Then the - regexp constants are valid and work the way you want them to, using - any version of `awk'.(2) + For programs that use `{' and `}' in regexp constants, it is good + practice to always escape them with a backslash. Then the regexp + constants are valid and work the way you want them to, using any + version of `awk'.(2) In regular expressions, the `*', `+', and `?' operators, as well as the braces `{' and `}', have the highest precedence, followed by @@ -2503,6 +2528,14 @@ minor node and are specific to `gawk'; they are not available in other matching. For our purposes, a "word" is a sequence of one or more letters, digits, or underscores (`_'): +`\s' + Matches any whitespace character. Think of it as shorthand for + `[[:space:]]'. + +`\S' + Matches any character that is not whitespace. Think of it as + shorthand for `[^[:space:]]'. + `\w' Matches any word-constituent character--that is, it matches any letter, digit, or underscore. Think of it as shorthand for @@ -2558,7 +2591,7 @@ GNU `\b' appears to be the lesser of two evils. No options In the default case, `gawk' provides all the facilities of POSIX regexps and the GNU regexp operators described in *note Regexp - Operators::. However, interval expressions are not supported. + Operators::. `--posix' Only POSIX regexps are supported; the GNU operators are not special @@ -2574,10 +2607,9 @@ No options `gawk' silently skips directories named on the command line. `--re-interval' - Allow interval expressions in regexps, even if `--traditional' has - been provided. (`--posix' automatically enables interval - expressions, so `--re-interval' is redundant when `--posix' is is - used.) + Allow interval expressions in regexps, if `--traditional' has been + provided. Otherwise, interval expressions are available by + default. File: gawk.info, Node: Case-sensitivity, Next: Leftmost Longest, Prev: GNU Regexp Operators, Up: Regexp @@ -2850,9 +2882,13 @@ have to be named on the `awk' command line (*note Getline::). * Changing Fields:: Changing the Contents of a Field. * Field Separators:: The field separator and how to change it. * Constant Size:: Reading constant width data. +* Splitting By Content:: Defining Fields By Content * Multiple Line:: Reading multi-line records. * Getline:: Reading files under explicit program control using the `getline' function. +* BEGINFILE/ENDFILE:: Two special patterns for advanced control. +* Command line directories:: What happens if you put a directory on the + command line. File: gawk.info, Node: Records, Next: Fields, Up: Reading Files @@ -3277,8 +3313,9 @@ The intervening field, `$5', is created with an empty value (indicated by the second pair of adjacent colons), and `NF' is updated with the value six. - Decrementing `NF' throws away the values of the fields after the new -value of `NF' and recomputes `$0'. (d.c.) Here is an example: + *FIXME:* Verify that this is in POSIX. Decrementing `NF' throws +away the values of the fields after the new value of `NF' and +recomputes `$0'. (d.c.) Here is an example: $ echo a b c d e f | awk '{ print "NF =", NF; > NF = 3; print $0 }' @@ -3674,7 +3711,7 @@ effect. defined by the POSIX standard. -File: gawk.info, Node: Constant Size, Next: Multiple Line, Prev: Field Separators, Up: Reading Files +File: gawk.info, Node: Constant Size, Next: Splitting By Content, Prev: Field Separators, Up: Reading Files 3.6 Reading Fixed-Width Data ============================ @@ -3778,9 +3815,97 @@ restore the original settings (*note Passwd Functions::, for an example of such a function). -File: gawk.info, Node: Multiple Line, Next: Getline, Prev: Constant Size, Up: Reading Files +File: gawk.info, Node: Splitting By Content, Next: Multiple Line, Prev: Constant Size, Up: Reading Files + +3.7 Defining Fields By Content +============================== + +(This minor node discusses an advanced feature of `awk'. If you are a +novice `awk' user, you might want to skip it on the first reading.) + +Normally, when using `FS', `gawk' defines the fields as the parts of +the record that occur in between each field separator. In other words, +`FS' defines what a field _is not_, and not what a field _is_. +However, there are times when you really want to define the fields by +what they are, and not by what they are not. + + The most notorious such case is so-called Comma-Separated-Value +(CSV) data. Many spreadsheet programs, for example, can export their +data into text files, where each record is terminated with a newline, +and fields are separated by commas. If only commas separated the data, +there wouldn't be an issue. The problem comes when one of the fields +contains an _embedded_ comma. While there is no formal standard +specification for CSV data(1), in such cases, most programs embed the +field in double quotes. So we might have data like this: + + Robbins,Arnold,"1234 A Pretty Street, NE",MyTown,MyState,12345-6789,USA + + The `FPAT' variable offers a solution for cases like this. The +value of `FPAT' should be a string that provides a regular expression. +This regular expression describes the contents of each field. + + In the case of CSV data as presented above, each field is either +"anything that is not a comma," or "a double quote, anything that is +not a double quote, and a closing double quote." If written as a +regular expression constant (*note Regexp::), we would have +`/([^,]+)|("[^"]+")/'. Writing this as a string requires us to escape +the double quotes, leading to: + + FPAT = "([^,]+)|(\"[^\"]+\")" + + Putting this to use, here is a simple program to parse the data: + + BEGIN { + FPAT = "([^,]+)|(\"[^\"]+\")" + } + + { + print "NF = ", NF + for (i = 1; i <= NF; i++) { + printf("$%d = <%s>\n", i, $i) + } + } + + When run, we get the following: + + $ gawk -f simple-csv.awk addresses.csv + NF = 7 + $1 = <Robbins> + $2 = <Arnold> + $3 = <"1234 A Pretty Street, NE"> + $4 = <MyTown> + $5 = <MyState> + $6 = <12345-6789> + $7 = <USA> + + Note the embedded comma in the value of `$3'. + + A straightforward improvement when processing CSV data of this sort +would be to remove the quotes when they occur, with something like this: + + if (substr($i, 1, 1) == "\"") { + len = length($i) + $i = substr($i, 2, len - 2) # Get text within the two quotes + } + + As with `FS', the `IGNORECASE' variable (*note User-modified::) +affects field splitting with `FPAT'. + + NOTE: Some programs export CSV data that contains embedded + newlines between the double quotes. `gawk' provides no way to + deal with this. Since there is no formal specification for CSV + data, there isn't much more to be done; the `FPAT' mechanism + provides an elegant solution for the majority of cases, and the + `gawk' maintainer is satisfied with that. -3.7 Multiple-Line Records + ---------- Footnotes ---------- + + (1) At least, we don't know of one. + + +File: gawk.info, Node: Multiple Line, Next: Getline, Prev: Splitting By Content, Up: Reading Files + +3.8 Multiple-Line Records ========================= In some databases, a single line cannot conveniently hold all the @@ -3916,9 +4041,9 @@ feature of `RS' does not apply. It does apply to the default field separator of a single space: `FS = " "'. -File: gawk.info, Node: Getline, Prev: Multiple Line, Up: Reading Files +File: gawk.info, Node: Getline, Next: BEGINFILE/ENDFILE, Prev: Multiple Line, Up: Reading Files -3.8 Explicit Input with `getline' +3.9 Explicit Input with `getline' ================================= So far we have been getting our input data from `awk''s main input @@ -3943,6 +4068,9 @@ describing the error that occurred. In the following examples, COMMAND stands for a string value that represents a shell command. + NOTE: When `--sandbox' is specified, reading lines from files, + pipes and coprocesses is disabled. + * Menu: * Plain Getline:: Using `getline' with no arguments. @@ -3962,7 +4090,7 @@ represents a shell command. File: gawk.info, Node: Plain Getline, Next: Getline/Variable, Up: Getline -3.8.1 Using `getline' with No Arguments +3.9.1 Using `getline' with No Arguments --------------------------------------- The `getline' command can be used without arguments to read input from @@ -4014,7 +4142,7 @@ value of `$0'. File: gawk.info, Node: Getline/Variable, Next: Getline/File, Prev: Plain Getline, Up: Getline -3.8.2 Using `getline' into a Variable +3.9.2 Using `getline' into a Variable ------------------------------------- You can use `getline VAR' to read the next record from `awk''s input @@ -4055,7 +4183,7 @@ not change. File: gawk.info, Node: Getline/File, Next: Getline/Variable/File, Prev: Getline/Variable, Up: Getline -3.8.3 Using `getline' from a File +3.9.3 Using `getline' from a File --------------------------------- Use `getline < FILE' to read the next record from FILE. Here FILE is a @@ -4088,7 +4216,7 @@ other `awk' implementations. File: gawk.info, Node: Getline/Variable/File, Next: Getline/Pipe, Prev: Getline/File, Up: Getline -3.8.4 Using `getline' into a Variable from a File +3.9.4 Using `getline' into a Variable from a File ------------------------------------------------- Use `getline VAR < FILE' to read input from the file FILE, and put it @@ -4132,7 +4260,7 @@ regular expression. File: gawk.info, Node: Getline/Pipe, Next: Getline/Variable/Pipe, Prev: Getline/Variable/File, Up: Getline -3.8.5 Using `getline' from a Pipe +3.9.5 Using `getline' from a Pipe --------------------------------- The output of a command can also be piped into `getline', using @@ -4200,7 +4328,7 @@ other `awk' implementations. File: gawk.info, Node: Getline/Variable/Pipe, Next: Getline/Coprocess, Prev: Getline/Pipe, Up: Getline -3.8.6 Using `getline' into a Variable from a Pipe +3.9.6 Using `getline' into a Variable from a Pipe ------------------------------------------------- When you use `COMMAND | getline VAR', the output of COMMAND is sent @@ -4227,7 +4355,7 @@ portable to other `awk' implementations. File: gawk.info, Node: Getline/Coprocess, Next: Getline/Variable/Coprocess, Prev: Getline/Variable/Pipe, Up: Getline -3.8.7 Using `getline' from a Coprocess +3.9.7 Using `getline' from a Coprocess -------------------------------------- Input into `getline' from a pipe is a one-way operation. The command @@ -4257,7 +4385,7 @@ where coprocesses are discussed in more detail. File: gawk.info, Node: Getline/Variable/Coprocess, Next: Getline Notes, Prev: Getline/Coprocess, Up: Getline -3.8.8 Using `getline' into a Variable from a Coprocess +3.9.8 Using `getline' into a Variable from a Coprocess ------------------------------------------------------ When you use `COMMAND |& getline VAR', the output from the coprocess @@ -4275,7 +4403,7 @@ where coprocesses are discussed in more detail. File: gawk.info, Node: Getline Notes, Next: Getline Summary, Prev: Getline/Variable/Coprocess, Up: Getline -3.8.9 Points to Remember About `getline' +3.9.9 Points to Remember About `getline' ---------------------------------------- Here are some miscellaneous points about `getline' that you should bear @@ -4309,7 +4437,7 @@ in mind: File: gawk.info, Node: Getline Summary, Prev: Getline Notes, Up: Getline -3.8.10 Summary of `getline' Variants +3.9.10 Summary of `getline' Variants ------------------------------------ *note table-getline-variants:: summarizes the eight variants of @@ -4329,6 +4457,84 @@ COMMAND `|& getline' VAR Sets VAR. This is a `gawk' extension Table 3.1: getline Variants and What They Set +File: gawk.info, Node: BEGINFILE/ENDFILE, Next: Command line directories, Prev: Getline, Up: Reading Files + +3.10 The `BEGINFILE' and `ENDFILE' Special Patterns +=================================================== + +*FIXME:* Get the version right. + + NOTE: This minor node describes a `gawk'-specific feature added in + `gawk' 3.X. + + Two special kinds of rule, `BEGINFILE' and `ENDFILE', give you +"hooks" into `gawk''s command-line file processing loop. As with the +`BEGIN' and `END' rules (*note BEGIN/END::), all `BEGINFILE' rules in a +program are merged, in the order they are read by `gawk', and all +`ENDFILE' rules are merged as well. + + The body of the `BEGINFILE' rules is executed just before `gawk' +reads the first record from a file. `FILENAME' is set to the name of +the current file, and `FNR' is set to zero. + + The `BEGINFILE' rule provides you the opportunity for two tasks that +would otherwise be difficult or impossible to perform: + + 1. You can test if the file is readable. Normally, it is a fatal + error if a file named on the command line cannot be opened for + reading. However, you can bypass the fatal error and move on to + the next file on the command line. + + You do this by checking if the `ERRNO' variable is not the empty + string; if so, then `gawk' was not able to open the file. In this + case, your program can execute the `nextfile' statement (*note + Nextfile Statement::). This casuses `gawk' to skip the file + entirely. Otherwise, `gawk' will exit with the usual fatal error. + + 2. If you have written extensions that modify the record handling (by + inserting an "open hook"), you can invoke them at this point, + before `gawk' has started processing the file. (This is a _very_ + advanced feature, currently used only by the XMLgawk project + (http://xgawk.sourceforge.net).) + + The `ENDFILE' rule is called when `gawk' has finished processing the +last record in an input file. It will be called before any `END' rules. + + Normally, when an error occurs when reading input in the normal +input processing loop, the error is fatal. However, if an `ENDFILE' +rule is present, the error becomes non-fatal, and instead `ERRNO' is +set. This makes it possible to catch and process I/O errors at the +level of the `awk' program. + + The `next' statement is not allowed inside either a `BEGINFILE' or +and `ENDFILE' rule. The `nextfile' statement is allowed only inside a +`BEGINFILE' rule, but not inside an `ENDFILE' rule. + + The `getline' statement (*note Getline::) is restricted inside both +`BEGINFILE' and `ENDFILE'. Only the `getline VARIABLE < FILE' form is +allowed. + + `BEGINFILE' and `ENDFILE' are `gawk' extensions. In most other +`awk' implementations, or if `gawk' is in compatibility mode (*note +Options::), they are not special. + + +File: gawk.info, Node: Command line directories, Prev: BEGINFILE/ENDFILE, Up: Reading Files + +3.11 Directories On The Command Line +==================================== + +According to POSIX, files named on the `awk' command line must be text +files. The behavior is "undefined" if they are not. Most versions of +`awk' treat a directory on the command line as a fatal error. + + *FIXME:* Get the version right. Starting with version 3.x of +`gawk', a directory on the command line produces a warning, but is +otherwise skipped. If either of the `--posix' or `--traditional' +options is given, then `gawk' reverts to treating directories on the +command line as a fatal error. + + File: gawk.info, Node: Printing, Next: Expressions, Prev: Reading Files, Up: Top 4 Printing Output @@ -4952,6 +5158,9 @@ So far, the output from `print' and `printf' has gone to the standard output, usually the terminal. Both `print' and `printf' can also send their output to other places. This is called "redirection". + NOTE: When `--sandbox' is specified, redirecting output to files + and pipes is disabled. + A redirection appears after the `print' or `printf' statement. Redirections in `awk' are written just like redirections in shell commands, except that they are written inside the `awk' program. @@ -5110,12 +5319,11 @@ descriptors, process-related information, and TCP/IP networking. * Menu: * Special FD:: Special files for I/O. -* Special Process:: Special files for process information. * Special Network:: Special files for network communications. * Special Caveats:: Things to watch out for. -File: gawk.info, Node: Special FD, Next: Special Process, Up: Special Files +File: gawk.info, Node: Special FD, Next: Special Network, Up: Special Files 4.7.1 Special Files for Standard Descriptors -------------------------------------------- @@ -5181,88 +5389,33 @@ error message in a `gawk' program is to use `/dev/stderr', like this: redirection, the value must be a string. It is a common error to omit the quotes, which leads to confusing results. - -File: gawk.info, Node: Special Process, Next: Special Network, Prev: Special FD, Up: Special Files - -4.7.2 Special Files for Process-Related Information ---------------------------------------------------- - -`gawk' also provides special file names that give access to information -about the running `gawk' process. Each of these "files" provides a -single record of information. To read them more than once, they must -first be closed with the `close' function (*note Close Files And -Pipes::). The file names are: - -`/dev/pid' - Reading this file returns the process ID of the current process, - in decimal form, terminated with a newline. - -`/dev/ppid' - Reading this file returns the parent process ID of the current - process, in decimal form, terminated with a newline. - -`/dev/pgrpid' - Reading this file returns the process group ID of the current - process, in decimal form, terminated with a newline. - -`/dev/user' - Reading this file returns a single record terminated with a - newline. The fields are separated with spaces. The fields - represent the following information: - - `$1' - The return value of the `getuid' system call (the real user - ID number). - - `$2' - The return value of the `geteuid' system call (the effective - user ID number). - - `$3' - The return value of the `getgid' system call (the real group - ID number). - - `$4' - The return value of the `getegid' system call (the effective - group ID number). - - If there are any additional fields, they are the group IDs - returned by the `getgroups' system call. (Multiple groups may not - be supported on all systems.) - - These special file names may be used on the command line as data -files, as well as for I/O redirections within an `awk' program. They -may not be used as source files with the `-f' option. - - NOTE: The special files that provide process-related information - are now considered obsolete and will disappear entirely in the - next release of `gawk'. `gawk' prints a warning message every - time you use one of these files. To obtain process-related - information, use the `PROCINFO' array. *Note Auto-set::. + Finally, usng the `close' function on a file name of the form +`"/dev/fd/N"', for file descriptor numbers above two, will actually +close the given file descriptor. -File: gawk.info, Node: Special Network, Next: Special Caveats, Prev: Special Process, Up: Special Files +File: gawk.info, Node: Special Network, Next: Special Caveats, Prev: Special FD, Up: Special Files -4.7.3 Special Files for Network Communications +4.7.2 Special Files for Network Communications ---------------------------------------------- -Starting with version 3.1 of `gawk', `awk' programs can open a two-way -TCP/IP connection, acting as either a client or a server. This is done -using a special file name of the form: +`awk' programs can open a two-way TCP/IP connection, acting as either a +client or a server. This is done using a special file name of the form: - `/inet/PROTOCOL/LOCAL-PORT/REMOTE-HOST/REMOTE-PORT' + `/NET-TYPE/PROTOCOL/LOCAL-PORT/REMOTE-HOST/REMOTE-PORT' - The PROTOCOL is one of `tcp', `udp', or `raw', and the other fields -represent the other essential pieces of information for making a -networking connection. These file names are used with the `|&' -operator for communicating with a coprocess (*note Two-way I/O::). -This is an advanced feature, mentioned here only for completeness. -Full discussion is delayed until *note TCP/IP Networking::. + The NET-TYPE is one of `inet', `inet4' or `inet6' The PROTOCOL is +one of `tcp', `udp', or `raw', and the other fields represent the other +essential pieces of information for making a networking connection. +These file names are used with the `|&' operator for communicating with +a coprocess (*note Two-way I/O::). This is an advanced feature, +mentioned here only for completeness. Full discussion is delayed until +*note TCP/IP Networking::. File: gawk.info, Node: Special Caveats, Prev: Special Network, Up: Special Files -4.7.4 Special File Name Caveats +4.7.3 Special File Name Caveats ------------------------------- Here is a list of things to bear in mind when using the special file @@ -5479,34 +5632,35 @@ operators. * Menu: +* Values:: Constants, Variables, and Regular Expressions. +* All Operators:: `gawk''s operators. +* Truth Values and Conditions:: Testing for true and false. +* Function Calls:: A function call is an expression. +* Precedence:: How various operators nest. + + +File: gawk.info, Node: Values, Next: All Operators, Up: Expressions + +5.1 Constants, Variables and Conversions +======================================== + +Expressions are built up from values and the operations performed upon +them. This minor node describes the elementary objects which provide +values used in expressions. + +* Menu: + * Constants:: String, numeric and regexp constants. * Using Constant Regexps:: When and how to use a regexp constant. * Variables:: Variables give names to values for later use. * Conversion:: The conversion of strings to numbers and vice versa. -* Arithmetic Ops:: Arithmetic operations (`+', `-', - etc.) -* Concatenation:: Concatenating strings. -* Assignment Ops:: Changing the value of a variable or a field. -* Increment Ops:: Incrementing the numeric value of a variable. -* Truth Values:: What is ``true'' and what is ``false''. -* Typing and Comparison:: How variables acquire types and how this - affects comparison of numbers and strings with - `<', etc. -* Boolean Ops:: Combining comparison expressions using boolean - operators `||' (``or''), `&&' - (``and'') and `!' (``not''). -* Conditional Exp:: Conditional expressions select between two - subexpressions under control of a third - subexpression. -* Function Calls:: A function call is an expression. -* Precedence:: How various operators nest. -File: gawk.info, Node: Constants, Next: Using Constant Regexps, Up: Expressions +File: gawk.info, Node: Constants, Next: Using Constant Regexps, Up: Values -5.1 Constant Expressions -======================== +5.1.1 Constant Expressions +-------------------------- The simplest type of expression is the "constant", which always has the same value. There are three types of constants: numeric, string, and @@ -5525,8 +5679,8 @@ forms, but are stored identically internally. File: gawk.info, Node: Scalar Constants, Next: Nondecimal-numbers, Up: Constants -5.1.1 Numeric and String Constants ----------------------------------- +5.1.1.1 Numeric and String Constants +.................................... A "numeric constant" stands for a number. This number can be an integer, a decimal fraction, or a number in scientific (exponential) @@ -5557,8 +5711,8 @@ these are in IEEE 754 standard format. File: gawk.info, Node: Nondecimal-numbers, Next: Regexp Constants, Prev: Scalar Constants, Up: Constants -5.1.2 Octal and Hexadecimal Numbers ------------------------------------ +5.1.1.2 Octal and Hexadecimal Numbers +..................................... In `awk', all numbers are in decimal; i.e., base 10. Many other programming languages allow you to specify numbers in other bases, often @@ -5632,20 +5786,20 @@ for conversion of numbers to strings: File: gawk.info, Node: Regexp Constants, Prev: Nondecimal-numbers, Up: Constants -5.1.3 Regular Expression Constants ----------------------------------- +5.1.1.3 Regular Expression Constants +.................................... A regexp constant is a regular expression description enclosed in slashes, such as `/^beginning and end$/'. Most regexps used in `awk' programs are constant, but the `~' and `!~' matching operators can also -match computed or "dynamic" regexps (which are just ordinary strings or +match computed or dynamic regexps (which are just ordinary strings or variables that contain a regexp). -File: gawk.info, Node: Using Constant Regexps, Next: Variables, Prev: Constants, Up: Expressions +File: gawk.info, Node: Using Constant Regexps, Next: Variables, Prev: Constants, Up: Values -5.2 Using Regular Expression Constants -====================================== +5.1.2 Using Regular Expression Constants +---------------------------------------- When used on the righthand side of the `~' or `!~' operators, a regexp constant merely stands for the regexp that is to be matched. However, @@ -5719,10 +5873,10 @@ used as a parameter to a user-defined function, since passing a truth value in this way is probably not what was intended. -File: gawk.info, Node: Variables, Next: Conversion, Prev: Using Constant Regexps, Up: Expressions +File: gawk.info, Node: Variables, Next: Conversion, Prev: Using Constant Regexps, Up: Values -5.3 Variables -============= +5.1.3 Variables +--------------- Variables are ways of storing values at one point in your program for use later in another part of your program. They can be manipulated @@ -5739,8 +5893,8 @@ on the `awk' command line. File: gawk.info, Node: Using Variables, Next: Assignment Options, Up: Variables -5.3.1 Using Variables in a Program ----------------------------------- +5.1.3.1 Using Variables in a Program +.................................... Variables let you give names to values and refer to them later. Variables have already been used in many of the examples. The name of @@ -5751,7 +5905,8 @@ it may not begin with a digit. Case is significant in variable names; A variable name is a valid expression by itself; it represents the variable's current value. Variables are given new values with "assignment operators", "increment operators", and "decrement -operators". *Note Assignment Ops::. +operators". *Note Assignment Ops::. *FIXME: NEXT ED:* Can also be +changed by sub, gsub, split. A few variables have special built-in meanings, such as `FS' (the field separator), and `NF' (the number of fields in the current input @@ -5771,8 +5926,8 @@ do in C and in most other traditional languages. File: gawk.info, Node: Assignment Options, Prev: Using Variables, Up: Variables -5.3.2 Assigning Variables on the Command Line ---------------------------------------------- +5.1.3.2 Assigning Variables on the Command Line +............................................... Any `awk' variable can be set by including a "variable assignment" among the arguments on the command line when `awk' is invoked (*note @@ -5817,10 +5972,10 @@ processes the values of command-line assignments for escape sequences (*note Escape Sequences::). (d.c.) -File: gawk.info, Node: Conversion, Next: Arithmetic Ops, Prev: Variables, Up: Expressions +File: gawk.info, Node: Conversion, Prev: Variables, Up: Values -5.4 Conversion of Strings and Numbers -===================================== +5.1.4 Conversion of Strings and Numbers +--------------------------------------- Strings are converted to numbers and numbers are converted to strings, if the context of the `awk' program demands it. For example, if the @@ -5948,10 +6103,27 @@ presented in *note POSIX Floating Point Problems::. doubt that you need to worry about this. -File: gawk.info, Node: Arithmetic Ops, Next: Concatenation, Prev: Conversion, Up: Expressions +File: gawk.info, Node: All Operators, Next: Truth Values and Conditions, Prev: Values, Up: Expressions -5.5 Arithmetic Operators -======================== +5.2 Operators: Doing Something With Values +========================================== + +This minor node introduces the "operators" which make use of the values +provided by constants and variables. + +* Menu: + +* Arithmetic Ops:: Arithmetic operations (`+', `-', + etc.) +* Concatenation:: Concatenating strings. +* Assignment Ops:: Changing the value of a variable or a field. +* Increment Ops:: Incrementing the numeric value of a variable. + + +File: gawk.info, Node: Arithmetic Ops, Next: Concatenation, Up: All Operators + +5.2.1 Arithmetic Operators +-------------------------- The `awk' language uses the common arithmetic operators when evaluating expressions. All of these arithmetic operators follow normal @@ -6033,10 +6205,10 @@ be machine-dependent. operator. -File: gawk.info, Node: Concatenation, Next: Assignment Ops, Prev: Arithmetic Ops, Up: Expressions +File: gawk.info, Node: Concatenation, Next: Assignment Ops, Prev: Arithmetic Ops, Up: All Operators -5.6 String Concatenation -======================== +5.2.2 String Concatenation +-------------------------- It seemed like a good idea at the time. Brian Kernighan @@ -6120,10 +6292,10 @@ Otherwise, you're never quite sure what you'll get. not rely on this. -File: gawk.info, Node: Assignment Ops, Next: Increment Ops, Prev: Concatenation, Up: Expressions +File: gawk.info, Node: Assignment Ops, Next: Increment Ops, Prev: Concatenation, Up: All Operators -5.7 Assignment Expressions -========================== +5.2.3 Assignment Expressions +---------------------------- An "assignment" is an expression that stores a (usually different) value into a variable. For example, let's assign the value one to the @@ -6285,10 +6457,10 @@ A workaround is: versions described in *note Other Versions::. -File: gawk.info, Node: Increment Ops, Next: Truth Values, Prev: Assignment Ops, Up: Expressions +File: gawk.info, Node: Increment Ops, Prev: Assignment Ops, Up: All Operators -5.8 Increment and Decrement Operators -===================================== +5.2.4 Increment and Decrement Operators +--------------------------------------- "Increment" and "decrement operators" increase or decrease the value of a variable by one. An assignment operator can do the same thing, so @@ -6371,10 +6543,34 @@ not anything that you can rely upon for portability. You should avoid such things in your own programs. -File: gawk.info, Node: Truth Values, Next: Typing and Comparison, Prev: Increment Ops, Up: Expressions +File: gawk.info, Node: Truth Values and Conditions, Next: Function Calls, Prev: All Operators, Up: Expressions -5.9 True and False in `awk' -=========================== +5.3 Truth Values and Conditions +=============================== + +In certain contexts, expression values also serve as "truth values;" +i.e., they determine what should happen next as the program runs. This +minor node describes how `awk' defines "true" and "false" and how +values are compared. + +* Menu: + +* Truth Values:: What is ``true'' and what is ``false''. +* Typing and Comparison:: How variables acquire types and how this + affects comparison of numbers and strings with + `<', etc. +* Boolean Ops:: Combining comparison expressions using boolean + operators `||' (``or''), `&&' + (``and'') and `!' (``not''). +* Conditional Exp:: Conditional expressions select between two + subexpressions under control of a third + subexpression. + + +File: gawk.info, Node: Truth Values, Next: Typing and Comparison, Up: Truth Values and Conditions + +5.3.1 True and False in `awk' +----------------------------- Many programming languages have a special representation for the concepts of "true" and "false." Such languages usually use the special @@ -6399,10 +6595,10 @@ the string constant `"0"' is actually true, because it is non-null. (d.c.) -File: gawk.info, Node: Typing and Comparison, Next: Boolean Ops, Prev: Truth Values, Up: Expressions +File: gawk.info, Node: Typing and Comparison, Next: Boolean Ops, Prev: Truth Values, Up: Truth Values and Conditions -5.10 Variable Typing and Comparison Expressions -=============================================== +5.3.2 Variable Typing and Comparison Expressions +------------------------------------------------ The Guide is definitive. Reality is frequently inaccurate. The Hitchhiker's Guide to the Galaxy @@ -6420,8 +6616,8 @@ are typed, and how `awk' compares variables. File: gawk.info, Node: Variable Typing, Next: Comparison Operators, Up: Typing and Comparison -5.10.1 String Type Versus Numeric Type --------------------------------------- +5.3.2.1 String Type Versus Numeric Type +....................................... The 1992 POSIX standard introduced the concept of a "numeric string", which is simply a string that looks like a number--for example, @@ -6516,8 +6712,8 @@ rules for typing and comparison are the same as just described for File: gawk.info, Node: Comparison Operators, Prev: Variable Typing, Up: Typing and Comparison -5.10.2 Comparison Operators ---------------------------- +5.3.2.2 Comparison Operators +............................ "Comparison expressions" compare strings or numbers for relationships such as equality. They are written using "relational operators", which @@ -6626,10 +6822,10 @@ abbreviation for the following comparison expression: Constant Regexps::, where this is discussed in more detail. -File: gawk.info, Node: Boolean Ops, Next: Conditional Exp, Prev: Typing and Comparison, Up: Expressions +File: gawk.info, Node: Boolean Ops, Next: Conditional Exp, Prev: Typing and Comparison, Up: Truth Values and Conditions -5.11 Boolean Expressions -======================== +5.3.3 Boolean Expressions +------------------------- A "Boolean expression" is a combination of comparison expressions or matching expressions, using the Boolean operators "or" (`||'), "and" @@ -6722,10 +6918,10 @@ back to false.(1) would you fix it? -File: gawk.info, Node: Conditional Exp, Next: Function Calls, Prev: Boolean Ops, Up: Expressions +File: gawk.info, Node: Conditional Exp, Prev: Boolean Ops, Up: Truth Values and Conditions -5.12 Conditional Expressions -============================ +5.3.4 Conditional Expressions +----------------------------- A "conditional expression" is a special kind of expression that has three operands. It allows you to use one expression's value to select @@ -6762,10 +6958,10 @@ using backslash continuation (*note Statements/Lines::). If `--posix' is specified (*note Options::), then this extension is disabled. -File: gawk.info, Node: Function Calls, Next: Precedence, Prev: Conditional Exp, Up: Expressions +File: gawk.info, Node: Function Calls, Next: Precedence, Prev: Truth Values and Conditions, Up: Expressions -5.13 Function Calls -=================== +5.4 Function Calls +================== A "function" is a name for a particular calculation. This enables you to ask for it by name at any point in the program. For example, the @@ -6810,6 +7006,11 @@ omitted in calls to user-defined functions, then those arguments are treated as local variables and initialized to the empty string (*note User-defined::). + As an advanced feature, `gawk' provides indirect function calls, +which is a way to choose the function to call at runtime, instead of +when you write the source code to your program. We defer discussion of +this feature until later; *Note Indirect Calls::. + Like every other expression, the function call has a value, which is computed by the function based on the arguments you give it. In this example, the value of `sqrt(ARGUMENT)' is the square root of ARGUMENT. @@ -6850,8 +7051,8 @@ Here is a sample run: File: gawk.info, Node: Precedence, Prev: Function Calls, Up: Expressions -5.14 Operator Precedence (How Operators Nest) -============================================= +5.5 Operator Precedence (How Operators Nest) +============================================ "Operator precedence" determines how operators are grouped when different operators appear close by in one expression. For example, @@ -7664,15 +7865,9 @@ File: gawk.info, Node: Switch Statement, Next: Break Statement, Prev: For Sta 6.4.5 The `switch' Statement ---------------------------- - NOTE: This node describes an experimental feature added in `gawk' - 3.1.3. It is _not_ enabled by default. To enable it, use the - `--enable-switch' option to `configure' when `gawk' is being - configured and built. *Note Additional Configuration Options::, - for more information. - - The `switch' statement allows the evaluation of an expression and -the execution of statements based on a `case' match. Case statements -are checked for a match in the order they are defined. If no suitable +The `switch' statement allows the evaluation of an expression and the +execution of statements based on a `case' match. Case statements are +checked for a match in the order they are defined. If no suitable `case' is found, the `default' section is executed, if supplied. Each `case' contains a single constant, be it numeric, string, or @@ -7719,6 +7914,9 @@ is executed and then falls through into the `default' section, executing its `print' statement. In turn, the -1 case will also be executed since the `default' does not halt execution. + This feature is a `gawk' extension, and is not available in POSIX +`awk'. + File: gawk.info, Node: Break Statement, Next: Continue Statement, Prev: Switch Statement, Up: Statements @@ -7931,6 +8129,9 @@ appeared after `next', `file' was a keyword; otherwise, it was a regular identifier. The old usage is no longer accepted; `next file' generates a syntax error. + The `nextfile' statement has a special purpose when used inside a +`BEGINFILE' rule; see *note BEGINFILE/ENDFILE::. + File: gawk.info, Node: Exit Statement, Prev: Nextfile Statement, Up: Statements @@ -8049,13 +8250,24 @@ specific to `gawk' are marked with a pound sign (`#'). `FIELDWIDTHS #' This is a space-separated list of columns that tells `gawk' how to split input with fixed columnar boundaries. Assigning a value to - `FIELDWIDTHS' overrides the use of `FS' for field splitting. - *Note Constant Size::, for more information. + `FIELDWIDTHS' overrides the use of `FS' and `FPAT' for field + splitting. *Note Constant Size::, for more information. If `gawk' is in compatibility mode (*note Options::), then `FIELDWIDTHS' has no special meaning, and field-splitting operations occur based exclusively on the value of `FS'. +`FPAT #' + This is a regular expression (as a string) that tells `gawk' to + create the fields based on text that matches the regular + expression. Assigning a value to `FPAT' overrides the use of `FS' + and `FIELDWIDTHS' for field splitting. *Note Splitting By + Content::, for more information. + + If `gawk' is in compatibility mode (*note Options::), then `FPAT' + has no special meaning, and field-splitting operations occur based + exclusively on the value of `FS'. + `FS' This is the input field separator (*note Field Separators::). The value is a single-character string or a multi-character regular @@ -8063,7 +8275,8 @@ specific to `gawk' are marked with a pound sign (`#'). record. If the value is the null string (`""'), then each character in the record becomes a separate field. (This behavior is a `gawk' extension. POSIX `awk' does not specify the behavior - when `FS' is the null string.) + when `FS' is the null string.) *FIXME: NEXT ED:* Mark as common + extension. The default value is `" "', a string consisting of a single space. As a special exception, this value means that any sequence of @@ -8244,12 +8457,17 @@ with a pound sign (`#'). during a read for `getline', or during a `close' operation, then `ERRNO' contains a string describing the error. - `ERRNO' works similarly to the C variable `errno'. In particular - `gawk' _never_ clears it (sets it to zero or `""'). Thus, you - should only expect its value to be meaningful when an I/O - operation returns a failure value, such as `getline' returning -1. - You are, of course, free to clear it yourself before doing an I/O - operation. + *FIXME:* Get the version right. Starting with version 3.X, `gawk' + clears `ERRNO' before opening each command line input file. This + enables checking if the file is readable inside a `BEGINFILE' + pattern (*note BEGINFILE/ENDFILE::). + + Otherwise, `ERRNO' works similarly to the C variable `errno'. + Except for the case just mentioned, `gawk' _never_ clears it (sets + it to zero or `""'). Thus, you should only expect its value to be + meaningful when an I/O operation returns a failure value, such as + `getline' returning -1. You are, of course, free to clear it + yourself before doing an I/O operation. This variable is a `gawk' extension. In other `awk' implementations, or if `gawk' is in compatibility mode (*note @@ -8298,9 +8516,10 @@ with a pound sign (`#'). The value of the `geteuid' system call. `PROCINFO["FS"]' - This is `"FS"' if field splitting with `FS' is in effect, or - it is `"FIELDWIDTHS"' if field splitting with `FIELDWIDTHS' - is in effect. + This is `"FS"' if field splitting with `FS' is in effect, + `"FIELDWIDTHS"' if field splitting with `FIELDWIDTHS' is in + effect, or it is `"FPAT"' if field matching with `FPAT' is in + effect. `PROCINFO["gid"]' The value of the `getgid' system call. @@ -8441,7 +8660,8 @@ elements from `ARGV' (*note Delete::). actual processing of the input begins. *Note Split Program::, and see *note Tee Program::, for examples of each way of removing elements from `ARGV'. The following fragment processes `ARGV' in order to examine, -and then remove, command-line options: +and then remove, command-line options: *FIXME: NEXT ED:* Add xref to +rewind() function. BEGIN { for (i = 1; i < ARGC; i++) { @@ -8500,13 +8720,7 @@ cannot have a variable and an array with the same name in the same * Menu: -* Array Intro:: Introduction to Arrays -* Reference to Elements:: How to examine one element of an array. -* Assigning Elements:: How to change an element of an array. -* Array Example:: Basic Example of an Array -* Scanning an Array:: A variation of the `for' statement. It - loops through the indices of an array's - existing elements. +* Array Basics:: The basics of arrays. * Delete:: The `delete' statement removes an element from an array. * Numeric Array Subscripts:: How to use numbers as subscripts in @@ -8514,14 +8728,32 @@ cannot have a variable and an array with the same name in the same * Uninitialized Subscripts:: Using Uninitialized variables as subscripts. * Multi-dimensional:: Emulating multidimensional arrays in `awk'. -* Multi-scanning:: Scanning multidimensional arrays. * Array Sorting:: Sorting array values and indices. -File: gawk.info, Node: Array Intro, Next: Reference to Elements, Up: Arrays +File: gawk.info, Node: Array Basics, Next: Delete, Up: Arrays -7.1 Introduction to Arrays -========================== +7.1 The Basics of Arrays +======================== + +This minor node presents the basics: working with elements in arrays +one at a time, and traversing all of the elements in an array. + +* Menu: + +* Array Intro:: Introduction to Arrays +* Reference to Elements:: How to examine one element of an array. +* Assigning Elements:: How to change an element of an array. +* Array Example:: Basic Example of an Array +* Scanning an Array:: A variation of the `for' statement. It + loops through the indices of an array's + existing elements. + + +File: gawk.info, Node: Array Intro, Next: Reference to Elements, Up: Array Basics + +7.1.1 Introduction to Arrays +---------------------------- Doing linear scans over an associateive array is like tryinng to club someone to death with a loaded Uzi. @@ -8558,6 +8790,7 @@ declared.) example, conceptually, if the element values are 8, `"foo"', `""', and 30: + *FIXME: NEXT ED:* Use real images here +---------+---------+--------+---------+ | 8 | "foo" | "" | 30 | Value +---------+---------+--------+---------+ @@ -8619,10 +8852,10 @@ starting at one. (*Note String Functions::.) independent of the number of elements in the array. -File: gawk.info, Node: Reference to Elements, Next: Assigning Elements, Prev: Array Intro, Up: Arrays +File: gawk.info, Node: Reference to Elements, Next: Assigning Elements, Prev: Array Intro, Up: Array Basics -7.2 Referring to an Array Element -================================= +7.1.2 Referring to an Array Element +----------------------------------- The principal way to use an array is to refer to one of its elements. An array reference is an expression as follows: @@ -8666,10 +8899,10 @@ except to scan all the elements. Also, this _does not_ create print "Subscript 2 is present." -File: gawk.info, Node: Assigning Elements, Next: Array Example, Prev: Reference to Elements, Up: Arrays +File: gawk.info, Node: Assigning Elements, Next: Array Example, Prev: Reference to Elements, Up: Array Basics -7.3 Assigning Array Elements -============================ +7.1.3 Assigning Array Elements +------------------------------ Array elements can be assigned values just like `awk' variables: @@ -8680,10 +8913,10 @@ index of the element of the array that is assigned a value. The expression VALUE is the value to assign to that element of the array. -File: gawk.info, Node: Array Example, Next: Scanning an Array, Prev: Assigning Elements, Up: Arrays +File: gawk.info, Node: Array Example, Next: Scanning an Array, Prev: Assigning Elements, Up: Array Basics -7.4 Basic Array Example -======================= +7.1.4 Basic Array Example +------------------------- The following program takes a list of lines, each beginning with a line number, and prints them out in order of line number. The line numbers @@ -8736,10 +8969,10 @@ easy improvement to the program's `END' rule, as follows: } -File: gawk.info, Node: Scanning an Array, Next: Delete, Prev: Array Example, Up: Arrays +File: gawk.info, Node: Scanning an Array, Prev: Array Example, Up: Array Basics -7.5 Scanning All Elements of an Array -===================================== +7.1.5 Scanning All Elements of an Array +--------------------------------------- In programs that use arrays, it is often necessary to use a loop that executes once for each element of an array. In other languages, where @@ -8792,9 +9025,9 @@ them. Similarly, changing VAR inside the loop may produce strange results. It is best to avoid such things. -File: gawk.info, Node: Delete, Next: Numeric Array Subscripts, Prev: Scanning an Array, Up: Arrays +File: gawk.info, Node: Delete, Next: Numeric Array Subscripts, Prev: Array Basics, Up: Arrays -7.6 The `delete' Statement +7.2 The `delete' Statement ========================== To remove an individual element of an array, use the `delete' statement: @@ -8865,7 +9098,7 @@ regular variable). For example, the following does not work: File: gawk.info, Node: Numeric Array Subscripts, Next: Uninitialized Subscripts, Prev: Delete, Up: Arrays -7.7 Using Numbers to Subscript Arrays +7.3 Using Numbers to Subscript Arrays ===================================== An important aspect about arrays to remember is that _array subscripts @@ -8916,7 +9149,7 @@ on your programs. File: gawk.info, Node: Uninitialized Subscripts, Next: Multi-dimensional, Prev: Numeric Array Subscripts, Up: Arrays -7.8 Using Uninitialized Variables as Subscripts +7.4 Using Uninitialized Variables as Subscripts =============================================== Suppose it's necessary to write a program to print the input data in @@ -8961,16 +9194,20 @@ string as a subscript if `--lint' is provided on the command line (*note Options::). -File: gawk.info, Node: Multi-dimensional, Next: Multi-scanning, Prev: Uninitialized Subscripts, Up: Arrays +File: gawk.info, Node: Multi-dimensional, Next: Array Sorting, Prev: Uninitialized Subscripts, Up: Arrays -7.9 Multidimensional Arrays +7.5 Multidimensional Arrays =========================== -A multidimensional array is an array in which an element is identified -by a sequence of indices instead of a single index. For example, a -two-dimensional array requires two indices. The usual way (in most -languages, including `awk') to refer to an element of a two-dimensional -array named `grid' is with `grid[X,Y]'. +* Menu: + +* Multi-scanning:: Scanning multidimensional arrays. + + A multidimensional array is an array in which an element is +identified by a sequence of indices instead of a single index. For +example, a two-dimensional array requires two indices. The usual way +(in most languages, including `awk') to refer to an element of a +two-dimensional array named `grid' is with `grid[X,Y]'. Multidimensional arrays are supported in `awk' through concatenation of indices into one string. `awk' converts the indices into strings @@ -9043,10 +9280,10 @@ the program produces the following output: 3 2 1 6 -File: gawk.info, Node: Multi-scanning, Next: Array Sorting, Prev: Multi-dimensional, Up: Arrays +File: gawk.info, Node: Multi-scanning, Up: Multi-dimensional -7.10 Scanning Multidimensional Arrays -===================================== +7.5.1 Scanning Multidimensional Arrays +-------------------------------------- There is no special `for' statement for scanning a "multidimensional" array. There cannot be one, because, in truth, there are no @@ -9083,10 +9320,10 @@ The result is to set `separate[1]' to `"1"' and `separate[2]' to recovered. -File: gawk.info, Node: Array Sorting, Prev: Multi-scanning, Up: Arrays +File: gawk.info, Node: Array Sorting, Prev: Multi-dimensional, Up: Arrays -7.11 Sorting Array Values and Indices with `gawk' -================================================= +7.6 Sorting Array Values and Indices with `gawk' +================================================ The order in which an array is scanned with a `for (i in array)' loop is essentially arbitrary. In most `awk' implementations, sorting an @@ -9171,7 +9408,9 @@ to `ind', there is only one copy of the actual index strings. We said previously that comparisons are done using `gawk''s "usual comparison rules." Because `IGNORECASE' affects string comparisons, the value of `IGNORECASE' also affects sorting for both `asort' and -`asorti'. Caveat Emptor. +`asorti'. Note also that the locale's sorting order does _not_ come +into play; comparisons are based on character values only. Caveat +Emptor. File: gawk.info, Node: Functions, Next: Internationalization, Prev: Arrays, Up: Top @@ -9192,6 +9431,7 @@ major node describes these "user-defined" functions. * Built-in:: Summarizes the built-in functions. * User-defined:: Describes User-defined functions in detail. +* Indirect Calls:: Choosing the function to call at runtime. File: gawk.info, Node: Built-in, Next: User-defined, Up: Functions @@ -9492,7 +9732,7 @@ with a pound sign (`#'): found, it returns zero. The REGEXP argument may be either a regexp constant (`/.../') or a - string constant ("..."). In the latter case, the string is + string constant (`"..."'). In the latter case, the string is treated as a regexp to be matched. *note Computed Regexps::, for a discussion of the difference between the two forms, and the implications for writing your program correctly. @@ -9572,20 +9812,40 @@ with a pound sign (`#'): compatibility mode (*note Options::), using a third argument is a fatal error. -`split(STRING, ARRAY [, FIELDSEP])' +`patsplit(STRING, ARRAY [, FIELDPAT [, SEPS ] ])' + This function divides STRING into pieces defined by FIELDPAT and + stores the pieces in ARRAY and the separator strings in the SEPS + array. The first piece is stored in `ARRAY[1]', the second piece + in `ARRAY[2]', and so forth. The string value of the third + argument, FIELDPAT, is a regexp describing the fields in STRING + (just as `FPAT' is a regexp describing the fields in input + records). If FIELDPAT is omitted, the value of `FPAT' is used. + `patsplit' returns the number of elements created. `SEPS[I]' is + the separator string between `ARRAY[I]' and `ARRAY[I+1]'. Any + leading separator will be in `SEPS[0]'. + + The `patsplit' function splits strings into pieces in a manner + similar to the way input lines are split into fields using `FPAT'. + +`split(STRING, ARRAY [, FIELDSEP [, SEPS ] ])' This function divides STRING into pieces separated by FIELDSEP and - stores the pieces in ARRAY. The first piece is stored in - `ARRAY[1]', the second piece in `ARRAY[2]', and so forth. The - string value of the third argument, FIELDSEP, is a regexp - describing where to split STRING (much as `FS' can be a regexp - describing where to split input records). If FIELDSEP is omitted, - the value of `FS' is used. `split' returns the number of elements - created. + stores the pieces in ARRAY and the separator strings in the SEPS + array. The first piece is stored in `ARRAY[1]', the second piece + in `ARRAY[2]', and so forth. The string value of the third + argument, FIELDSEP, is a regexp describing where to split STRING + (much as `FS' can be a regexp describing where to split input + records). If FIELDSEP is omitted, the value of `FS' is used. + `split' returns the number of elements created. SEPS is a `gawk' + extension with `SEPS[I]' being the separator string between + `ARRAY[I]' and `ARRAY[I+1]'. If FIELDSEP is a single space then + any leading whitespace goes into `SEPS[0]' and any trailing + whitespace goes into `SEPS[N]' where N is the return value of + `split()' (that is, the number of elements in ARRAY). The `split' function splits strings into pieces in a manner similar to the way input lines are split into fields. For example: - split("cul-de-sac", a, "-") + split("cul-de-sac", a, "-", seps) splits the string `cul-de-sac' into three fields using `-' as the separator. It sets the contents of the array `a' as follows: @@ -9594,14 +9854,19 @@ with a pound sign (`#'): a[2] = "de" a[3] = "sac" + and sets the contents of the array `seps' as follows: + + seps[1] = "-" + seps[2] = "-" + The value returned by this call to `split' is three. As with input field-splitting, when the value of FIELDSEP is - `" "', leading and trailing whitespace is ignored, and the elements - are separated by runs of whitespace. Also as with input - field-splitting, if FIELDSEP is the null string, each individual - character in the string is split into its own array element. - (This is a `gawk'-specific extension.) + `" "', leading and trailing whitespace is ignored in ARRAY but not + in SEPS, and the elements are separated by runs of whitespace. + Also as with input field-splitting, if FIELDSEP is the null + string, each individual character in the string is split into its + own array element. (This is a `gawk'-specific extension.) Note, however, that `RS' has no effect on the way `split' works. Even though `RS = ""' causes newline to also be an input field @@ -9615,7 +9880,7 @@ with a pound sign (`#'): writing your program correctly. Before splitting the string, `split' deletes any previously - existing elements in the array ARRAY. + existing elements in the arrays ARRAY and SEPS. If STRING is null, the array has no elements. (So this is a portable way to delete an entire array with one statement. *Note @@ -9662,7 +9927,7 @@ with a pound sign (`#'): REPLACEMENT. The modified string becomes the new value of TARGET. The REGEXP argument may be either a regexp constant (`/.../') or a - string constant ("..."). In the latter case, the string is + string constant (`"..."'). In the latter case, the string is treated as a regexp to be matched. *note Computed Regexps::, for a discussion of the difference between the two forms, and the implications for writing your program correctly. @@ -9992,13 +10257,12 @@ Table 8.4: POSIX 2001 rules for sub The only case where the difference is noticeable is the last one: `\\\\' is seen as `\\' and produces `\' instead of `\\'. - Starting with version 3.1.4, `gawk' follows the POSIX rules when -`--posix' is specified (*note Options::). Otherwise, it continues to -follow the 1996 proposed rules, since, as of this writing, that has -been its behavior for over seven years. + Starting with version 3.1.4, `gawk' followed the POSIX rules when +`--posix' is specified (*note Options::). Otherwise, it continued to +follow the 1996 proposed rules, since that had been its behavior for +many seven years. - NOTE: At the next major release, `gawk' will switch to using the - POSIX 2001 rules by default. + As of version 3.2, `gawk' uses the POSIX 2001 rules. The rules for `gensub' are considerably simpler. At the runtime level, whenever `gawk' sees a `\', if the following character is a @@ -10131,6 +10395,10 @@ parameters are enclosed in square brackets ([ ]): an editor. Some operating systems cannot implement the `system' function. `system' causes a fatal error if it is not supported. + NOTE: When `--sandbox' is specified, the `system' function is + disabled. + + Advanced Notes: Interactive Versus Noninteractive Buffering ----------------------------------------------------------- @@ -10486,7 +10754,7 @@ if the time zone is set to UTC: #! /bin/sh # - # date --- approximate the P1003.2 'date' command + # date --- approximate the POSIX 'date' command case $1 in -u) TZ=UTC0 # use UTC @@ -10495,7 +10763,7 @@ if the time zone is set to UTC: esac gawk 'BEGIN { - format = "%a %b %d %H:%M:%S %Z %Y" + format = "%a %b %e %H:%M:%S %Z %Y" exitval = 0 if (ARGC > 2) @@ -10692,7 +10960,7 @@ brackets ([ ]): binding for the given DOMAIN. -File: gawk.info, Node: User-defined, Prev: Built-in, Up: Functions +File: gawk.info, Node: User-defined, Next: Indirect Calls, Prev: Built-in, Up: Functions 8.2 User-Defined Functions ========================== @@ -10724,7 +10992,8 @@ There is no need to put the definition of a function before all uses of the function. This is because `awk' reads the entire program before starting to execute any of it. - The definition of a function named NAME looks like this: + The definition of a function named NAME looks like this: *FIXME: +NEXT ED:* put [ ] around parameter list. function NAME(PARAMETER-LIST) { @@ -10801,7 +11070,8 @@ of the variable `func' with the return value of the function `foo'. If the resulting string is non-null, the action is executed. This is probably not what is desired. (`awk' accepts this input as syntactically valid, because functions may be used before they are -defined in `awk' programs.) +defined in `awk' programs.) *FIXME: NEXT ED:* This won't actually run, +since foo() is undefined ... To ensure that your `awk' programs are portable, always use the keyword `function' when defining a function. @@ -10884,7 +11154,7 @@ built-in `strftime' function (*note Time Functions::) to create an function ctime(ts, format) { - format = "%a %b %d %H:%M:%S %Z %Y" + format = "%a %b %e %H:%M:%S %Z %Y" if (ts == 0) ts = systime() # use current time as default return strftime(format, ts) @@ -11101,6 +11371,293 @@ runtime. Here is an annotated sample program: of them. +File: gawk.info, Node: Indirect Calls, Prev: User-defined, Up: Functions + +8.3 Indirect Function Calls +=========================== + +This section describes a `gawk'-specific extension. + + Often, you may wish to defer the choice of function to call until +runtime. For example, you may have different kinds of records, each of +which should be processed differently. + + Normally, you would have to use a series of `if'-`else' statements +to decide which function to call. By using "indirect" function calls, +you can specify the name of the function to call as a string variable, +and then call the function. Let's look at an example. + + Suppose you have a file with your test scores for the classes you +are taking. The first field is the class name. The following fields +are the functions to call to process the data, up to a "marker" field +`data:'. Following the marker, to the end of the record, are the +various numeric test scores. + + Here is the initial file; you wish to get the sum and the average of +your test scores: + + Biology_101 sum average data: 87.0 92.4 78.5 94.9 + Chemistry_305 sum average data: 75.2 98.3 94.7 88.2 + English_401 sum average data: 100.0 95.6 87.1 93.4 + + To process the data, you might write initially: + + { + class = $1 + for (i = 2; $i != "data:"; i++) { + if ($i == "sum") + sum() # processes the whole record + else if ($i == "average") + average() + ... # and so on + } + } + +This style of programming works, but can be awkward. With "indirect" +function calls, you tell `gawk' to use the _value_ of a variable as the +name of the function to call. + + The syntax is similar to that of a regular function call: an +identifier immediately followed by a left parenthesis, any arguments, +and then a closing right parenthesis, with the addition of a leading `@' +character: + + the_func = "sum" + result = @the_func() # calls the `sum' function + + Here is a full program that processes the previously shown data, +using indirect function calls. + + # indirectcall.awk --- Demonstrate indirect function calls + + # average --- return the average of the values in fields $first - $last + + function average(first, last, sum, i) + { + sum = 0; + for (i = first; i <= last; i++) + sum += $i + + return sum / (last - first + 1) + } + + # sum --- return the average of the values in fields $first - $last + + function sum(first, last, ret, i) + { + ret = 0; + for (i = first; i <= last; i++) + ret += $i + + return ret + } + + These two functions expect to work on fields; thus the parameters +`first' and `last' indicate where in the fields to start. Otherwise +they perform the expected computations and are not unusual. + + # For each record, print the class name and the requested statistics + + { + class_name = $1 + gsub(/_/, " ", class_name) # Replace _ with spaces + + # find start + for (i = 1; i <= NF; i++) { + if ($i == "data:") { + start = i + 1 + break + } + } + + printf("%s:\n", class_name) + for (i = 2; $i != "data:"; i++) { + the_function = $i + printf("\t%s: <%s>\n", $i, @the_function(start, NF) "") + } + print "" + } + + This is the main processing for each record. It prints the class +name (with underscores replaced with spaces). It then finds the start +of the actual data, saving it in `start'. The last part of the code +loops through each function name (from `$2' up to the marker, `data:'), +calling the function named by the field. The indirect function call +itself occurs as a parameter in the call to `printf'. (The `printf' +format string uses `%s' as the format specifier so that we can use +functions that return strings, as well as numbers. Note that the result +from the indirect call is concatenated with the empty string, in order +to force it to be a string value.) + + Here is the result of running the program: + + $ gawk -f indirectcall.awk class_data1 + => Biology 101: + => sum: <352.8> + => average: <88.2> + => + => Chemistry 305: + => sum: <356.4> + => average: <89.1> + => + => English 401: + => sum: <376.1> + => average: <94.025> + + The ability to use indirect function calls is more powerful than you +may think at first. The C and C++ languages provide "function +pointers," which are a mechanism for calling a function chosen at +runtime. One of the most well-known uses of this ablity is the C +`qsort' function, which sorts an array using the well-known "quick +sort" algorithm (see the Wikipedia article +(http://en.wikipedia.org/wiki/Quick_sort) for more information). To +use this function, you supply a pointer to a comparison function. This +mechanism allows you to sort arbitrary data in an arbitrary fashion. + + We can do something similar using `gawk', like this: + + # quicksort.awk --- Quicksort algorithm, with user-supplied + # comparison function + # quicksort --- C.A.R. Hoare's quick sort algorithm. See Wikipedia + # or almost any algorithms or computer science text + + function quicksort(data, left, right, less_than, i, last) + { + if (left >= right) # do nothing if array contains fewer + return # than two elements + + quicksort_swap(data, left, int((left + right) / 2)) + last = left + for (i = left + 1; i <= right; i++) + if (@less_than(data[i], data[left])) + quicksort_swap(data, ++last, i) + quicksort_swap(data, left, last) + quicksort(data, left, last - 1, less_than) + quicksort(data, last + 1, right, less_than) + } + + # quicksort_swap --- helper function for quicksort, should really be inline + + function quicksort_swap(data, i, j, temp) + { + temp = data[i] + data[i] = data[j] + data[j] = temp + } + + The `quicksort' function receives the `data' array, the starting and +ending indices to sort (`left' and `right'), and the name of a function +that performs a "less than" comparison. It then implements the quick +sort algorithm. + + To make use of the sorting function, we return to our previous +example. The first thing to do is write some comparison functions: + + # num_lt --- do a numeric less than comparison + + function num_lt(left, right) + { + return ((left + 0) < (right + 0)) + } + + # num_ge --- do a numeric greater than or equal to comparison + + function num_ge(left, right) + { + return ((left + 0) >= (right + 0)) + } + + The `num_ge' function is needed to perform a descending sort; when +used to perform a "less than" test, it actually does the opposite +(greater than or equal to), which yields data sorted in descending +order. + + Next comes a sorting function. It is parameterized with the +starting and ending field numbers and the comparison function. It +builds an array with the data and calls `quicksort' appropriately, and +then formats the results as a single string: + + # do_sort --- sort the data according to `compare' and return it as a string + + function do_sort(first, last, compare, data, i, retval) + { + delete data + for (i = 1; first <= last; first++) { + data[i] = $first + i++ + } + + quicksort(data, 1, i-1, compare) + + retval = data[1] + for (i = 2; i in data; i++) + retval = retval " " data[i] + + return retval + } + + Finally, the two sorting functions call `do_sort', passing in the +names of the two comparison functions: + + # sort --- sort the data in ascending order and return it as a string + + function sort(first, last) + { + return do_sort(first, last, "num_lt") + } + + # rsort --- sort the data in descending order and return it as a string + + function rsort(first, last) + { + return do_sort(first, last, "num_ge") + } + + Here is an extended version of the data file: + + Biology_101 sum average sort rsort data: 87.0 92.4 78.5 94.9 + Chemistry_305 sum average sort rsort data: 75.2 98.3 94.7 88.2 + English_401 sum average sort rsort data: 100.0 95.6 87.1 93.4 + + Finally, here are the results when the enhanced program is run: + + $ gawk -f quicksort.awk -f indirectcall.awk class_data2 + => Biology 101: + => sum: <352.8> + => average: <88.2> + => sort: <78.5 87.0 92.4 94.9> + => rsort: <94.9 92.4 87.0 78.5> + => + => Chemistry 305: + => sum: <356.4> + => average: <89.1> + => sort: <75.2 88.2 94.7 98.3> + => rsort: <98.3 94.7 88.2 75.2> + => + => English 401: + => sum: <376.1> + => average: <94.025> + => sort: <87.1 93.4 95.6 100.0> + => rsort: <100.0 95.6 93.4 87.1> + + Remember that you must supply a leading `@' in front of an indirect +function call. + + Unfortunately, indirect function calls cannot be used with the +built-in functions. However, you can generally write "wrapper" +functions which call the built-in ones, and those can be called +indirectly. (Other than, perhaps, the mathematical functions, there is +not a lot of reason to try to call the built-in functions indirectly.) + + `gawk' does its best to make indirect function calls efficient. For +example: + + for (i = 1; i <= n; i++) + @the_func() + +`gawk' will look up the actual function to call only once. + + File: gawk.info, Node: Internationalization, Next: Advanced Features, Prev: Functions, Up: Top 9 Internationalization with `gawk' @@ -11392,9 +11949,9 @@ extracted to create the initial `.po' file. As part of translation, it is often helpful to rearrange the order in which arguments to `printf' are output. - `gawk''s `--gen-po' command-line option extracts the messages and is -discussed next. After that, `printf''s ability to rearrange the order -for `printf' arguments at runtime is covered. + `gawk''s `--gen-pot' command-line option extracts the messages and +is discussed next. After that, `printf''s ability to rearrange the +order for `printf' arguments at runtime is covered. * Menu: @@ -11410,12 +11967,12 @@ File: gawk.info, Node: String Extraction, Next: Printf Ordering, Up: Translat Once your `awk' program is working, and all the strings have been marked and you've set (and perhaps bound) the text domain, it is time -to produce translations. First, use the `--gen-po' command-line option -to create the initial `.po' file: +to produce translations. First, use the `--gen-pot' command-line +option to create the initial `.po' file: - $ gawk --gen-po -f guide.awk > guide.po + $ gawk --gen-pot -f guide.awk > guide.po - When run with `--gen-po', `gawk' does not execute your program. + When run with `--gen-pot', `gawk' does not execute your program. Instead, it parses it as usual and prints all marked strings to standard output in the format of a GNU `gettext' Portable Object file. Also included in the output are any constant strings that appear as the @@ -11587,9 +12144,9 @@ source: print "Pardon me, Zaphod who?" } -Run `gawk --gen-po' to create the `.po' file: +Run `gawk --gen-pot' to create the `.po' file: - $ gawk --gen-po -f guide.awk > guide.po + $ gawk --gen-pot -f guide.awk > guide.po This produces: @@ -11902,20 +12459,25 @@ networking connection. You can think of this as just a _very long_ two-way pipeline to a coprocess. The way `gawk' decides that you want to use TCP/IP -networking is by recognizing special file names that begin with -`/inet/'. +networking is by recognizing special file names that begin with one of +`/inet/', `/inet4/' or `/inet6'. The full syntax of the special file name is -`/inet/PROTOCOL/LOCAL-PORT/REMOTE-HOST/REMOTE-PORT'. The components -are: +`/NET-TYPE/PROTOCOL/LOCAL-PORT/REMOTE-HOST/REMOTE-PORT'. The +components are: + +NET-TYPE + Specifies the kind of Internet connection to make. Use `/inet4/' + to force IPv4, and `/inet6/' to force IPv6. Plain `/inet/' (which + used to be the only option) uses the system default, most likely + IPv4. PROTOCOL The protocol to use over IP. This must be either `tcp', `udp', or `raw', for a TCP, UDP, or raw IP connection, respectively. The use of TCP is recommended for most applications. - *Caution:* The use of raw sockets is not currently supported in - version 3.1 of `gawk'. + *Caution:* The use of raw sockets is not currently supported. LOCAL-PORT The local TCP or UDP port number to use. Use a port number of `0' @@ -12211,8 +12773,8 @@ full details. * Other Arguments:: Input file names and variable assignments. * AWKPATH Variable:: Searching directories for `awk' programs. -* Obsolete:: Obsolete Options and/or features. * Exit Status:: `gawk''s exit status. +* Obsolete:: Obsolete Options and/or features. * Undocumented:: Undocumented Options and Features. * Known Bugs:: Known Bugs in `gawk'. @@ -12283,17 +12845,6 @@ options and their meanings are as follows: those variables as it needs to, possibly ignoring any predefined value you may have given. -`-mf N' -`-mr N' - Sets various memory limits to the value N. The `f' flag sets the - maximum number of fields and the `r' flag sets the maximum record - size. These two flags and the `-m' option are from the Bell - Laboratories research version of Unix `awk'. They are provided - for compatibility but otherwise ignored by `gawk', since `gawk' - has no predefined limits. (The Bell Laboratories `awk' no longer - needs these options; it continues to accept them to avoid breaking - old programs.) - `-W GAWK-OPT' Following the POSIX standard, implementation-specific options are supplied as arguments to the `-W' option. These options also have @@ -12311,19 +12862,20 @@ options and their meanings are as follows: shell scripts, if you have file names that will be specified by the user that could start with `-'. - The previous list described options mandated by the POSIX standard, -as well as options available in the Bell Laboratories version of `awk'. + The previous list described options mandated by the POSIX standard. The following list describes `gawk'-specific options: -`-O' -`--optimize' - Enables some optimizations on the internal representation of the - program. At the moment this includes just simple constant - folding. The `gawk' maintainer hopes to add more optimizations - over time. +`-b' +`--characters-as-bytes' + Causes `gawk' to treat all input data as single-byte characters. + Normally, `gawk' follows the POSIX standard and attempts to process + its input data according to the current locale. This can often + involve converting multi-byte characters into wide characters + (internally), and can lead to problems or confusion if the input + data does not contain valid multi-byte characters. This option is + an easy way to tell `gawk': "hands off my data!". -`-W compat' -`-W traditional' +`-c' `--compat' `--traditional' Specifies "compatibility mode", in which the GNU extensions to the @@ -12332,17 +12884,13 @@ The following list describes `gawk'-specific options: is the preferred form of this option. *Note POSIX/GNU::, which summarizes the extensions. Also see *note Compatibility Mode::. -`-W copyright' +`-C' `--copyright' +`--copyleft' Print the short version of the General Public License and then exit. -`-W copyleft' -`--copyleft' - Just like `--copyright'. This option may disappear in a future - version of `gawk'. - -`-W dump-variables[=FILE]' +`-d [FILE]' `--dump-variables[=FILE]' Prints a sorted list of global variables, their types, and final values to FILE. If no FILE is provided, `gawk' prints this list @@ -12356,7 +12904,15 @@ The following list describes `gawk'-specific options: particularly easy mistake to make with simple variable names like `i', `j', etc.) -`-W exec FILE' +`-e PROGRAM-TEXT' +`--source PROGRAM-TEXT' + Allows you to mix source code in files with source code that you + enter on the command line. Program source code is taken from the + PROGRAM-TEXT. This is particularly useful when you have library + functions that you want to use from your command-line programs + (*note AWKPATH Variable::). + +`-E FILE' `--exec FILE' Similar to `-f', reads `awk' program text from FILE. There are two differences. The first is that this option also terminates @@ -12371,26 +12927,25 @@ The following list describes `gawk'-specific options: CGI application. This option should be used with `#!' scripts (*note Executable Scripts::), like so: - #! /usr/local/bin/gawk --exec + #! /usr/local/bin/gawk -E AWK PROGRAM HERE ... -`-W gen-po' -`--gen-po' +`-g' +`--gen-pot' Analyzes the source program and generates a GNU `gettext' Portable Object file on standard output for all string constants that have been marked for translation. *Note Internationalization::, for information about this option. -`-W help' -`-W usage' +`-h' `--help' `--usage' Prints a "usage" message summarizing the short and long style options that `gawk' accepts and then exit. -`-W lint[=fatal]' -`--lint[=fatal]' +`-l [value]' +`--lint[=value]' Warns about constructs that are dubious or nonportable to other `awk' implementations. Some warnings are issued when `gawk' first reads your program. Others are issued at runtime, as your program @@ -12408,12 +12963,12 @@ The following list describes `gawk'-specific options: inappropriate construct. As `awk' programs are usually short, doing so is not burdensome. -`-W lint-old' +`-L' `--lint-old' Warns about constructs that are not available in the original version of `awk' from Version 7 Unix (*note V7/SVR3.1::). -`-W non-decimal-data' +`-n' `--non-decimal-data' Enable automatic interpretation of octal and hexadecimal values in input data (*note Nondecimal Data::). @@ -12421,7 +12976,31 @@ The following list describes `gawk'-specific options: *Caution:* This option can severely break old programs. Use with care. -`-W posix' +`-N' +`--use-lc-numeric' + This option forces the use of the locale's decimal point character + when parsing numeric input data (*note Locales::). + +`-O' +`--optimize' + Enables some optimizations on the internal representation of the + program. At the moment this includes just simple constant + folding. The `gawk' maintainer hopes to add more optimizations + over time. + +`-p [FILE]' +`--profile[=FILE]' + Enable profiling of `awk' programs (*note Profiling::). By + default, profiles are created in a file named `awkprof.out'. The + optional FILE argument allows you to specify a different file name + for the profile file. + + When run with `gawk', the profile is just a "pretty printed" + version of the program. When run with `pgawk', the profile + contains execution counts for each statement in the program in the + left margin, and function call counts for each function. + +`-P' `--posix' Operates in strict POSIX mode. This disables all `gawk' extensions (just like `--traditional') and adds the following @@ -12457,39 +13036,23 @@ The following list describes `gawk'-specific options: line, `--posix' takes precedence. `gawk' also issues a warning if both options are supplied. -`-W profile[=FILE]' -`--profile[=FILE]' - Enable profiling of `awk' programs (*note Profiling::). By - default, profiles are created in a file named `awkprof.out'. The - optional FILE argument allows you to specify a different file name - for the profile file. - - When run with `gawk', the profile is just a "pretty printed" - version of the program. When run with `pgawk', the profile - contains execution counts for each statement in the program in the - left margin, and function call counts for each function. - -`-W re-interval' +`-r' `--re-interval' Allows interval expressions (*note Regexp Operators::) in regexps. - Because interval expressions were traditionally not available in - `awk', `gawk' does not provide them by default. This prevents old - `awk' programs from breaking. - -`-W source PROGRAM-TEXT' -`--source PROGRAM-TEXT' - Allows you to mix source code in files with source code that you - enter on the command line. Program source code is taken from the - PROGRAM-TEXT. This is particularly useful when you have library - functions that you want to use from your command-line programs - (*note AWKPATH Variable::). - -`-W use-lc-numeric' -`--use-lc-numeric' - This option forces the use of the locale's decimal point character - when parsing numeric input data (*note Locales::). - -`-W version' + This is now the default behavior for `gawk'. Nevertheless, this + option remains for both backward compatibility, and for use in + combination with the `--traditional' option. + +`-S' +`--sandbox' + In sandbox mode, the `system' function, input redirections with + `getline', output redirections with `print' and `printf' and + dynamic extensions are disabled. This is particularly useful when + you want to run `awk' scripts from questionable sources and need + to make sure the scripts can't access your system (other then the + specified input data file). + +`-V' `--version' Prints version information for this particular copy of `gawk'. This allows you to determine if your copy of `gawk' is up to date @@ -12612,7 +13175,7 @@ the value of `FS' is not strictly necessary. It remains for historical compatibility. -File: gawk.info, Node: AWKPATH Variable, Next: Obsolete, Prev: Other Arguments, Up: Invoking Gawk +File: gawk.info, Node: AWKPATH Variable, Next: Exit Status, Prev: Other Arguments, Up: Invoking Gawk 11.4 The `AWKPATH' Environment Variable ======================================= @@ -12672,7 +13235,7 @@ the value of `$(datadir)' generated when `gawk' was configured. You probably don't need to worry about this, though. -File: gawk.info, Node: Exit Status, Next: Undocumented, Prev: Obsolete, Up: Invoking Gawk +File: gawk.info, Node: Exit Status, Next: Obsolete, Prev: AWKPATH Variable, Up: Invoking Gawk 11.5 `gawk''s Exit Status ========================= @@ -12690,7 +13253,7 @@ with the value of the C constant `EXIT_SUCCESS'. This is usually zero. non-POSIX systems, this value may be mapped to `EXIT_FAILURE'. -File: gawk.info, Node: Obsolete, Next: Exit Status, Prev: AWKPATH Variable, Up: Invoking Gawk +File: gawk.info, Node: Obsolete, Next: Undocumented, Prev: Exit Status, Up: Invoking Gawk 11.6 Obsolete Options and/or Features ===================================== @@ -12701,19 +13264,15 @@ current version or that are still supported but deprecated (meaning that they will _not_ be in the next release). For version 3.1 of `gawk', there are no deprecated command-line -options from the previous version of `gawk'. The use of `next file' -(two words) for `nextfile' was deprecated in `gawk' 3.0 but still -worked. Starting with version 3.1, the two-word usage is no longer -accepted. +options from the previous version of `gawk'. - The process-related special files described in *note Special -Process::, work as described, but are now considered deprecated. -`gawk' prints a warning message every time they are used. (Use -`PROCINFO' instead; see *note Auto-set::.) They will be removed from -the next release of `gawk'. + The process-related special files `/dev/pid', `/dev/ppid', +`/dev/pgrpid', and `/dev/user' were deprecated in `gawk' 3.1, but still +worked. As of version 3.2, they are no longer interpreted specially by +`gawk'. (Use `PROCINFO' instead; see *note Auto-set::.) -File: gawk.info, Node: Undocumented, Next: Known Bugs, Prev: Exit Status, Up: Invoking Gawk +File: gawk.info, Node: Undocumented, Next: Known Bugs, Prev: Obsolete, Up: Invoking Gawk 11.7 Undocumented Options and Features ====================================== @@ -14124,6 +14683,7 @@ corresponding to the C functions of the same names: oldrs = RS olddol0 = $0 using_fw = (PROCINFO["FS"] == "FIELDWIDTHS") + using_fpat = (PROCINFO["FS"] == "FPAT") FS = ":" RS = "\n" @@ -14139,6 +14699,8 @@ corresponding to the C functions of the same names: FS = oldfs if (using_fw) FIELDWIDTHS = FIELDWIDTHS + else if (using_fpat) + FPAT = FPAT RS = oldrs $0 = olddol0 } @@ -14167,16 +14729,20 @@ This makes it possible to restore the correct field-splitting mechanism later. The test can only be true for `gawk'. It is false if using `FS' or on some other `awk' implementation. + The code that checks for using `FPAT' is similar. + The main part of the function uses a loop to read database lines, split the line into fields, and then store the line into each array as necessary. When the loop is done, `_pw_init' cleans up by closing the pipeline, setting `_pw_inited' to one, and restoring `FS' (and -`FIELDWIDTHS' if necessary), `RS', and `$0'. The use of `_pw_count' is -explained shortly. +`FIELDWIDTHS' or `FPAT' if necessary), `RS', and `$0'. The use of +`_pw_count' is explained shortly. - The `getpwnam' function takes a username as a string argument. If -that user is in the database, it returns the appropriate line. -Otherwise, it returns the null string: + *FIXME: NEXT ED:* All of these functions don't need the ... in ... +test. Just return the array element, which will be "" if not already +there. Duh. The `getpwnam' function takes a username as a string +argument. If that user is in the database, it returns the appropriate +line. Otherwise, it returns the null string: function getpwnam(name) { @@ -14341,6 +14907,7 @@ the same names: oldrs = RS olddol0 = $0 using_fw = (PROCINFO["FS"] == "FIELDWIDTHS") + using_fpat = (PROCINFO["FS"] == "FPAT") FS = ":" RS = "\n" @@ -14371,6 +14938,8 @@ the same names: FS = oldfs if (using_fw) FIELDWIDTHS = FIELDWIDTHS + else if (using_fpat) + FPAT = FPAT RS = oldrs $0 = olddol0 } @@ -14383,9 +14952,8 @@ might want it to be in a different directory on your system. These routines follow the same general outline as the user database routines (*note Passwd Functions::). The `_gr_inited' variable is used to ensure that the database is scanned no more than once. The -`_gr_init' function first saves `FS', `FIELDWIDTHS', `RS', and `$0', -and then sets `FS' and `RS' to the correct values for scanning the -group information. +`_gr_init' function first saves `FS', `RS', and `$0', and then sets +`FS' and `RS' to the correct values for scanning the group information. The group information is stored is several associative arrays. The arrays are indexed by group name (`_gr_byname'), by group ID number @@ -14409,7 +14977,7 @@ time there were no names. This code adds the names with a leading comma. It also doesn't check that there is a `$4'.) Finally, `_gr_init' closes the pipeline to `grcat', restores `FS' -(and `FIELDWIDTHS' if necessary), `RS', and `$0', initializes +(and `FIELDWIDTHS' or `FPAT' if necessary), `RS', and `$0', initializes `_gr_count' to zero (it is used later), and makes `_gr_inited' nonzero. The `getgrnam' function takes a group name as its argument, and if @@ -15268,6 +15836,7 @@ less than two, then no file names were supplied and `tee' prints a usage message and exits. Finally, `awk' is forced to read the standard input by setting `ARGV[1]' to `"-"' and `ARGC' to two: + *FIXME: NEXT ED:* Add more leading commentary in this program # tee.awk --- tee in awk BEGIN \ { @@ -15626,7 +16195,7 @@ lines, words, and characters to zero, and saves the current file name in function beginfile(file) { - chars = lines = words = 0 + lines = words = chars = 0 fname = FILENAME } @@ -15637,9 +16206,9 @@ reset the numbers for the following data file: function endfile(file) { - tchars += chars tlines += lines twords += words + tchars += chars if (do_lines) printf "\t%d", lines if (do_words) @@ -15707,8 +16276,8 @@ hope you find them both interesting and enjoyable. * Simple Sed:: A Simple Stream Editor. * Igawk Program:: A wrapper for `awk' that includes files. -* Signature Program:: People do amazing things with too much time - on their hands. +* Signature Program:: People do amazing things with too much time on + their hands. File: gawk.info, Node: Dupword Program, Next: Alarm Program, Up: Miscellaneous Programs @@ -16121,7 +16690,9 @@ File: gawk.info, Node: Word Sorting, Next: History Sorting, Prev: Labels Prog 13.3.5 Generating Word-Usage Counts ----------------------------------- -The following `awk' program prints the number of occurrences of each +*FIXME: NEXT ED:* Rewrite this whole section and example. + + The following `awk' program prints the number of occurrences of each word in its input. It illustrates the associative nature of `awk' arrays by using strings as subscripts. It also demonstrates the `for (i in array)' mechanism. Finally, it shows how `awk' is used in @@ -17233,7 +17804,8 @@ all be disabled with either the `--traditional' or `--posix' options `getline' returns -1 or `close' fails (*note Built-in Variables::). * The `/dev/pid', `/dev/ppid', `/dev/pgrpid', and `/dev/user' file - name interpretation (*note Special Files::). + name interpretation. (As of version 3.2, these names are no + longer supported.) * The ability to delete all of an array at once with `delete ARRAY' (*note Delete::). @@ -17359,10 +17931,6 @@ all be disabled with either the `--traditional' or `--posix' options treatment of pathnames that begin with `/p' as BSD portals (*note Portal Files::). - * The `--disable-directories-fatal' configuration option which - causes `gawk' to silently skip directories named on the command - line (*note Additional Configuration Options::). - * The use of GNU Automake to help in standardizing the configuration process (*note Quick Installation::). @@ -17396,6 +17964,48 @@ all be disabled with either the `--traditional' or `--posix' options * The `strftime' function acquired a third argument to enable printing times as UTC (*note Time Functions::). + Version 3.2 of `gawk' introduced the following features: + + * The special files `/dev/pid', `/dev/ppid', `/dev/pgrpid', and + `/dev/user' were removed entirely (*note Obsolete::). + + * The `\s' and `\S' escapae sequences in regular expressions (*note + GNU Regexp Operators::). + + * Interval expressions became part of the default matching done if + not in POSIX mode or in compatibility mode. (*note Regexp + Operators::). + + * The `split()' function was given the additional optional fourth + argument which is an array to hold the text of the field + separators. (*note String Functions::). + + * The `BEGINFILE' and `ENDFILE' special patterns. (*note + BEGINFILE/ENDFILE::). + + * The `switch' statement was enabled by default. (*note Switch + Statement::). + + * The `--sandbox' and `--characters-as-bytes' options (*note + Options::). + + * Indirect function calls (*note Indirect Calls::). + + * The `--gen-po' command-line option was renamed `--gen-pot' (*note + String Extraction::). + + * Directories on the command line produce a warning and are skipped + (*note Command line directories::). + + * The `FPAT' variable and its effects (*note Splitting By Content::). + + * The `patsplit' function (*note String Functions::). + + * The `/inet4' and `/inet6' special files for TCP/IP networking + using `|&' to specify which version of the IP protocol to use. + (*note TCP/IP Networking::). + + File: gawk.info, Node: Contributors, Prev: POSIX/GNU, Up: Language History @@ -17469,7 +18079,7 @@ Info file, in approximate chronological order: documentation. * Matthew Woehlke provided improvements for Tandem's POSIX-compliant - systems. Ralf Wildenhues now maintains this port. + systems. * Martin Brown provided the port to BeOS and its documentation. @@ -17814,10 +18424,6 @@ command line when compiling `gawk' from scratch, including: Treat pathnames that begin with `/p' as BSD portal files when doing two-way I/O with the `|&' operator (*note Portal Files::). -`--enable-switch' - Enable the recognition and execution of C-style `switch' statements - in `awk' programs (*note Switch Statement::.) - `--with-whiny-user-strftime' Force use of the included version of the `strftime' function for deficient systems @@ -17842,10 +18448,6 @@ command line when compiling `gawk' from scratch, including: desirable, but it may bring you some slight performance improvement. -`--disable-directories-fatal' - Causes `gawk' to silently skip directories named on the command - line. - As of version 3.1.5, the `--with-included-gettext' configuration option is no longer available, since `gawk' expects the GNU `gettext' library to be installed as an external library. @@ -17934,11 +18536,12 @@ distribution. * Menu: * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling `gawk' for MS-DOS, Windows32, +* PC Compiling:: Compiling `gawk' for MS-DOS, + Windows32, and OS/2. +* PC Dynamic:: Compiling `gawk' for dynamic + libraries. +* PC Using:: Running `gawk' on MS-DOS, Windows32 and OS/2. -* PC Dynamic:: Compiling `gawk' for dynamic libraries. -* PC Using:: Running `gawk' on MS-DOS, Windows32 and - OS/2. * Cygwin:: Building and running `gawk' for Cygwin. * MSYS:: Using `gawk' In The MSYS Environment. @@ -17991,11 +18594,11 @@ B.3.1.2 Compiling `gawk' for PC Operating Systems development tools from DJ Delorie (DJGPP; MS-DOS only) or Eberhard Mattes (EMX; MS-DOS, Windows32 and OS/2). Microsoft Visual C/C++ can be used to build a Windows32 version, and Microsoft C/C++ can be used -to build 16-bit versions for MS-DOS and OS/2. (As of `gawk' 3.1.2, the -MSC version doesn't work. However, the maintainer is working on fixing -it.) The file `README_d/README.pc' in the `gawk' distribution contains -additional notes, and `pc/Makefile' contains important information on -compilation options. +to build 16-bit versions for MS-DOS and OS/2. *FIXME:* (As of `gawk' +3.1.2, the MSC version doesn't work. However, the maintainer is working +on fixing it.) The file `README_d/README.pc' in the `gawk' +distribution contains additional notes, and `pc/Makefile' contains +important information on compilation options. To build `gawk' for MS-DOS, Windows32, and OS/2 (16 bit only; for 32 bit (EMX) you can use the `configure' script and skip the following @@ -18726,10 +19329,9 @@ considered authoritative if it conflicts with this Info file. The people maintaining the non-Unix ports of `gawk' are as follows: -MS-DOS Scott Deifik, <scottd.mail@sbcglobal.net>. MS-Windows using MINGW Eli Zaretskii, <eliz@gnu.org>. -Tandem Stephen Davies, <scldad@sdc.com.au>. -Tandem (POSIX-compliant) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + Scott Deifik, <scottd.mail@sbcglobal.net>. +OS/2 Andreas Buening, <andreas.buening@nexgo.de> VMS Pat Rankin, <rankin@pactechdata.com>. z/OS (OS/390) Dave Pitts, <pitts@cozx.com>. @@ -19170,6 +19772,8 @@ to recompile them for each new `gawk' release. There is no guarantee of binary compatibility between different releases, nor will there ever be such a guarantee. + NOTE: When `--sandbox' is specified, extensions are disabled. + * Menu: * Internals:: A brief look at some `gawk' internals. @@ -19882,6 +20486,9 @@ Integrating the DBUG library Following is a list of probable improvements that will make `gawk' perform better: + *FIXME: NEXT ED:* remove this item. awka and mawk do these + respectively. + Compilation of `awk' programs `gawk' uses a Bison (YACC-like) parser to convert the script given it into a syntax tree; the syntax tree is then executed by a @@ -19936,6 +20543,7 @@ D.1 What a Program Does At the most basic level, the job of a program is to process some input data and produce results. + *FIXME: NEXT ED:* Use real images here _______ +------+ / \ +---------+ | Data | -----> < Program > -----> | Results | @@ -19949,6 +20557,7 @@ uses the instructions in your program to process the data. When you write a program, it usually consists of the following, very basic set of steps: + *FIXME: NEXT ED:* Use real images here ______ +----------------+ / More \ No +----------+ | Initialization | -------> < Data > -------> | Clean Up | @@ -20128,10 +20737,10 @@ in computer science. * Menu: -* String Conversion Precision:: The String Value Can Lie. -* Unexpected Results:: Floating Point Numbers Are Not - Abstract Numbers. -* POSIX Floating Point Problems:: Standards Versus Existing Practice. +* String Conversion Precision:: The String Value Can Lie. +* Unexpected Results:: Floating Point Numbers Are Not Abstract + Numbers. +* POSIX Floating Point Problems:: Standards Versus Existing Practice. File: gawk.info, Node: String Conversion Precision, Next: Unexpected Results, Up: Floating Point Issues @@ -20422,7 +21031,7 @@ Built-in Variable `ARGC', `ARGV', `CONVFMT', `ENVIRON', `FILENAME', `FNR', `FS', `NF', `NR', `OFMT', `OFS', `ORS', `RLENGTH', `RSTART', `RS', and `SUBSEP' are the variables that have special meaning to `awk'. In - addition, `ARGIND', `BINMODE', `ERRNO', `FIELDWIDTHS', + addition, `ARGIND', `BINMODE', `ERRNO', `FIELDWIDTHS', `FPAT', `IGNORECASE', `LINT', `PROCINFO', `RT', and `TEXTDOMAIN' are the variables that have special meaning to `gawk'. Changing some of them affects `awk''s running environment. (*Note Built-in @@ -20563,8 +21172,11 @@ Field separated by whitespace (or by a separator regexp that you can change by setting the built-in variable `FS'). Such pieces are called fields. If the pieces are of fixed length, you can use the - built-in variable `FIELDWIDTHS' to describe their lengths. (*Note - Field Separators::, and *note Constant Size::.) + built-in variable `FIELDWIDTHS' to describe their lengths. If you + wish to specify the contents of fields instead of the field + separator, you can use the built-in variable `FPAT' to do so. + (*Note Field Separators::, *note Constant Size::, and *note + Splitting By Content::.) Flag A variable whose truth value indicates the existence or @@ -20677,12 +21289,10 @@ Keyword meaning. Keywords are reserved and may not be used as variable names. - `gawk''s keywords are: `BEGIN', `END', `if', `else', `while', - `do...while', `for', `for...in', `break', `continue', `delete', - `next', `nextfile', `function', `func', and `exit'. If `gawk' was - configured with the `--enable-switch' option (*note Switch - Statement::), then `switch', `case', and `default' are also - keywords. + `gawk''s keywords are: `BEGIN', `END', `break', `case', `continue', + `default' `delete', `do...while', `else', `exit', `for...in', + `for', `function', `func', `if', `nextfile', `next', `switch', and + `while'. Lesser General Public License This document describes the terms under which binary library @@ -21636,7 +22246,7 @@ GNU Lesser General Public License instead of this License. But first, please read `http://www.gnu.org/philosophy/why-not-lgpl.html'. -File: gawk.info, Node: GNU Free Documentation License, Next: Index, Prev: Copying, Up: Top +File: gawk.info, Node: GNU Free Documentation License, Next: next-edition, Prev: Copying, Up: Top GNU Free Documentation License ****************************** @@ -22122,7 +22732,170 @@ free software license, such as the GNU General Public License, to permit their use in free software. -File: gawk.info, Node: Index, Prev: GNU Free Documentation License, Up: Top +File: gawk.info, Node: next-edition, Next: Index, Prev: GNU Free Documentation License, Up: Top + +Appendix A To Do In The Next Edition +************************************ + +Stuff for working on the manual + +* Menu: + +* unresolved:: unresolved. +* revision:: revision. +* consistency:: consistency. + + +File: gawk.info, Node: unresolved, Next: revision, Up: next-edition + +A.1 Unresovled Issues +===================== + + 1. Robert J. Chassell points out that awk programs should have some + indication of how to use them. It would be useful to perhaps have + a "programming style" section of the manual that would include + this and other tips. + + 2. The default AWKPATH search path should be configurable via + `configure' The default and how this changes needs to be + documented. + + +File: gawk.info, Node: revision, Next: consistency, Prev: unresolved, Up: next-edition + +A.2 Revisions To Make +===================== + + 1. Talk about common extensions, those in nawk, gawk, mawk. + + 2. Use `foo' for variables and `foo()' for functions. + + 3. Standardize the error messages from the functions and programs in + Chapters 12 and 13. + + 4. Nuke the BBS stuff and use something that won't be obsolete. + + +File: gawk.info, Node: consistency, Prev: revision, Up: next-edition + +A.3 Consistency Issues +====================== + + * /.../ regexps are in @code, not @samp + + * ".." strings are in @code, not @samp + + * no @print before @dots + + * values of expressions in the text (`x' has the value 15), should + be in roman, not @code + + * Use TAB and not tab + + * Use ESC and not ESCAPE + + * Use space and not blank to describe the space bar's + character The term "blank" is thus basically reserved for "blank + lines" etc. + + * To make dark corners work, the @value{DARKCORNER} has to be outside + closing `.' of a sentence and after (@pxref{...}). This is a + change from earlier versions. + + * " " should have an around it + + * Use "non-" only with language names or acronyms, or the words bug + and option + + * Use `ftp' when talking about anonymous ftp + + * Use uppercase and lowercase, not "upper-case" and "lower-case" or + "upper case" and "lower case" + + * Use "single precision" and "double precision", not + "single-precision" or "double-precision" + + * Use alphanumeric, not alpha-numeric + + * Use POSIX-compliant, not POSIX compliant + + * Use -foo, not -Wfoo when describing long options + + * Use "Bell Laboratories", but not "Bell Labs". + + * Use "behavior" instead of "behaviour". + + * Use "zeros" instead of "zeroes". + + * Use "nonzero" not "non-zero". + + * Use "runtime" not "run time" or "run-time". + + * Use "command-line" not "command line". + + * Use "online" not "on-line". + + * Use "whitespace" not "white space". + + * Use "Input/Output", not "input/output". Also "I/O", not "i/o". + + * Use "lefthand"/"righthand", not "left-hand"/"right-hand". + + * Use "workaround", not "work-around". + + * Use "startup"/"cleanup", not "start-up"/"clean-up" + + * Use `do', and not `do'-`while', except where actually discussing + the do-while. + + * Use "versus" in text and "vs." in index entries + + * The words "a", "and", "as", "between", "for", "from", "in", "of", + "on", "that", "the", "to", "with", and "without", should not be + capitalized in @chapter, @section etc. "Into" and "How" should. + + * Search for @dfn; make sure important items are also indexed. + + * "e.g." should always be followed by a comma. + + * "i.e." should always be followed by a comma. + + * The numbers zero through ten should be spelled out, except when + talking about file descriptor numbers. > 10 and < 0, it's ok to + use numbers. + + * In tables, put command-line options in @code, while in the text, + put them in @option. + + * When using @strong, use "Note:" or "Caution:" with colons and not + exclamation points. Do not surround the paragraphs with + @quotation ... @end quotation. + + * For most cases, do NOT put a comma before "and", "or" or "but". + But exercise taste with this rule. + + * Don't show the awk command with a program in quotes when it's just + the program. I.e. + + { + ... + } + + and not + awk '{ + ... + }' + + * Do show it when showing command-line arguments, data files, etc, + even if there is no output shown. + + * Use numbered lists only to show a sequential series of steps. + + * Use @code{xxx} for the xxx operator in indexing statements, not + @samp. + + +File: gawk.info, Node: Index, Prev: next-edition, Up: Top Index ***** @@ -22179,11 +22952,11 @@ Index * * (asterisk), * operator, as regexp operator: Regexp Operators. (line 86) * * (asterisk), * operator, null strings, matching: Gory Details. - (line 160) -* * (asterisk), ** operator <1>: Options. (line 199) + (line 159) +* * (asterisk), ** operator <1>: Options. (line 216) * * (asterisk), ** operator <2>: Precedence. (line 49) * * (asterisk), ** operator: Arithmetic Ops. (line 81) -* * (asterisk), **= operator <1>: Options. (line 199) +* * (asterisk), **= operator <1>: Options. (line 216) * * (asterisk), **= operator <2>: Precedence. (line 95) * * (asterisk), **= operator: Assignment Ops. (line 129) * * (asterisk), *= operator <1>: Precedence. (line 95) @@ -22202,65 +22975,83 @@ Index * - (hyphen), -- operator: Increment Ops. (line 48) * - (hyphen), -= operator <1>: Precedence. (line 95) * - (hyphen), -= operator: Assignment Ops. (line 129) -* - (hyphen), filenames beginning with: Options. (line 67) +* - (hyphen), filenames beginning with: Options. (line 56) * - (hyphen), in character lists: Character Lists. (line 17) * --assign option: Options. (line 30) -* --compat option: Options. (line 86) -* --copyleft option: Options. (line 99) -* --copyright option: Options. (line 94) -* --disable-directories-fatal configuration option: Additional Configuration Options. - (line 41) +* --c option: Options. (line 76) +* --characters-as-bytes option: Options. (line 65) +* --compat option: Options. (line 76) +* --copyleft option: Options. (line 85) +* --copyright option: Options. (line 85) * --disable-lint configuration option: Additional Configuration Options. - (line 21) + (line 17) * --disable-nls configuration option: Additional Configuration Options. - (line 36) + (line 32) * --dump-variables option <1>: Library Names. (line 45) -* --dump-variables option: Options. (line 102) +* --dump-variables option: Options. (line 90) * --enable-portals configuration option <1>: Additional Configuration Options. (line 9) * --enable-portals configuration option: Portal Files. (line 6) -* --enable-switch configuration option: Additional Configuration Options. - (line 13) -* --exec option: Options. (line 118) +* --exec option: Options. (line 112) * --field-separator option: Options. (line 21) * --file option: Options. (line 25) -* --gen-po option <1>: Options. (line 137) -* --gen-po option: String Extraction. (line 6) -* --help option: Options. (line 146) -* --lint option <1>: Options. (line 151) +* --gen-pot option <1>: Options. (line 131) +* --gen-pot option: String Extraction. (line 6) +* --help option: Options. (line 139) +* --L option: Options. (line 163) +* --lint option <1>: Options. (line 144) * --lint option: Command Line. (line 20) -* --lint-old option: Options. (line 170) -* --non-decimal-data option <1>: Options. (line 175) +* --lint-old option: Options. (line 163) +* --non-decimal-data option <1>: Options. (line 168) * --non-decimal-data option: Nondecimal Data. (line 6) * --non-decimal-data option, strtonum function and: Nondecimal Data. (line 36) -* --optimize option: Options. (line 77) -* --posix option: Options. (line 183) -* --posix option, --traditional option and: Options. (line 213) -* --profile option <1>: Options. (line 219) +* --optimize option: Options. (line 181) +* --posix option: Options. (line 200) +* --posix option, --traditional option and: Options. (line 230) +* --profile option <1>: Options. (line 188) * --profile option: Profiling. (line 15) -* --re-interval option: Options. (line 231) -* --source option: Options. (line 238) -* --traditional option: Options. (line 86) -* --traditional option, --posix option and: Options. (line 213) -* --usage option: Options. (line 146) -* --use-lc-numeric option: Options. (line 246) -* --version option: Options. (line 251) +* --re-interval option: Options. (line 236) +* --sandbox option: Options. (line 243) +* --sandbox option, disabling system function: I/O Functions. (line 88) +* --sandbox option, input redirection with getline: Getline. (line 19) +* --sandbox option, output redirection with print, printf: Redirection. + (line 6) +* --source option: Options. (line 104) +* --traditional option: Options. (line 76) +* --traditional option, --posix option and: Options. (line 230) +* --usage option: Options. (line 139) +* --use-lc-numeric option: Options. (line 176) +* --version option: Options. (line 252) * --with-whiny-user-strftime configuration option: Additional Configuration Options. - (line 17) + (line 13) +* -b option: Options. (line 65) +* -C option: Options. (line 85) +* -d option: Options. (line 90) +* -E option: Options. (line 112) +* -e option: Options. (line 104) * -f option: Options. (line 25) * -F option <1>: Options. (line 21) * -F option: Command Line Field Separator. (line 6) * -f option: Long. (line 12) -* -F option, -Ft sets FS to TAB: Options. (line 259) -* -f option, on command line: Options. (line 264) +* -F option, -Ft sets FS to TAB: Options. (line 260) +* -f option, on command line: Options. (line 265) * -F option, troubleshooting: Known Bugs. (line 6) -* -mf/-mr options: Options. (line 45) -* -O option: Options. (line 77) +* -g option: Options. (line 131) +* -h option: Options. (line 139) +* -l option: Options. (line 144) +* -N option: Options. (line 176) +* -n option: Options. (line 168) +* -O option: Options. (line 181) +* -P option: Options. (line 200) +* -p option: Options. (line 188) +* -r option: Options. (line 236) +* -S option: Options. (line 243) +* -V option: Options. (line 252) * -v option: Options. (line 30) * -v option, variables, assigning: Assignment Options. (line 12) -* -W option: Options. (line 55) +* -W option: Options. (line 44) * . (period): Regexp Operators. (line 43) * .mo files: Explaining gettext. (line 39) * .mo files, converting from .po: I18N Example. (line 62) @@ -22279,6 +23070,8 @@ Index * /= operator vs. /=.../ regexp constant: Assignment Ops. (line 148) * /dev/... special files (gawk): Special FD. (line 41) * /inet/ files (gawk): TCP/IP Networking. (line 6) +* /inet4/ files (gawk): TCP/IP Networking. (line 6) +* /inet6/ files (gawk): TCP/IP Networking. (line 6) * /p files (gawk): Portal Files. (line 6) * ; (semicolon): Statements/Lines. (line 90) * ; (semicolon), AWKPATH variable and: PC Using. (line 11) @@ -22300,14 +23093,14 @@ Index * > (right angle bracket), > operator <1>: Precedence. (line 65) * > (right angle bracket), > operator: Comparison Operators. (line 11) -* > (right angle bracket), > operator (I/O): Redirection. (line 19) +* > (right angle bracket), > operator (I/O): Redirection. (line 22) * > (right angle bracket), >= operator <1>: Precedence. (line 65) * > (right angle bracket), >= operator: Comparison Operators. (line 11) * > (right angle bracket), >> operator (I/O) <1>: Precedence. (line 65) -* > (right angle bracket), >> operator (I/O): Redirection. (line 47) +* > (right angle bracket), >> operator (I/O): Redirection. (line 50) * ? (question mark) <1>: GNU Regexp Operators. - (line 51) + (line 59) * ? (question mark): Regexp Operators. (line 110) * ? (question mark), ?: operator: Precedence. (line 92) * [] (square brackets): Regexp Operators. (line 55) @@ -22317,31 +23110,35 @@ Index * \ (backslash): Read Terminal. (line 25) * \ (backslash), \" escape sequence: Escape Sequences. (line 76) * \ (backslash), \' operator (gawk): GNU Regexp Operators. - (line 48) + (line 56) * \ (backslash), \/ escape sequence: Escape Sequences. (line 69) * \ (backslash), \< operator (gawk): GNU Regexp Operators. - (line 22) + (line 30) * \ (backslash), \> operator (gawk): GNU Regexp Operators. - (line 26) + (line 34) * \ (backslash), \` operator (gawk): GNU Regexp Operators. - (line 46) + (line 54) * \ (backslash), \a escape sequence: Escape Sequences. (line 34) * \ (backslash), \b escape sequence: Escape Sequences. (line 38) * \ (backslash), \B operator (gawk): GNU Regexp Operators. - (line 35) + (line 43) * \ (backslash), \f escape sequence: Escape Sequences. (line 41) * \ (backslash), \n escape sequence: Escape Sequences. (line 44) * \ (backslash), \NNN escape sequence: Escape Sequences. (line 56) * \ (backslash), \r escape sequence: Escape Sequences. (line 47) +* \ (backslash), \S operator (gawk): GNU Regexp Operators. + (line 17) +* \ (backslash), \s operator (gawk): GNU Regexp Operators. + (line 13) * \ (backslash), \t escape sequence: Escape Sequences. (line 50) * \ (backslash), \v escape sequence: Escape Sequences. (line 53) * \ (backslash), \W operator (gawk): GNU Regexp Operators. - (line 18) + (line 26) * \ (backslash), \w operator (gawk): GNU Regexp Operators. - (line 13) + (line 21) * \ (backslash), \x escape sequence: Escape Sequences. (line 61) * \ (backslash), \y operator (gawk): GNU Regexp Operators. - (line 30) + (line 38) * \ (backslash), as field separators: Command Line Field Separator. (line 27) * \ (backslash), continuing lines and <1>: Egrep Program. (line 218) @@ -22358,11 +23155,11 @@ Index (line 113) * \ (backslash), regexp constants: Computed Regexps. (line 28) * ^ (caret) <1>: GNU Regexp Operators. - (line 51) + (line 59) * ^ (caret): Regexp Operators. (line 22) -* ^ (caret), ^ operator <1>: Options. (line 199) +* ^ (caret), ^ operator <1>: Options. (line 216) * ^ (caret), ^ operator: Precedence. (line 49) -* ^ (caret), ^= operator <1>: Options. (line 199) +* ^ (caret), ^= operator <1>: Options. (line 216) * ^ (caret), ^= operator <2>: Precedence. (line 95) * ^ (caret), ^= operator: Assignment Ops. (line 129) * ^ (caret), in character lists: Character Lists. (line 17) @@ -22384,14 +23181,14 @@ Index * adding, features to gawk: Adding Code. (line 6) * adding, fields: Changing Fields. (line 53) * adding, functions to gawk: Dynamic Extensions. (line 10) -* advanced features, buffering: I/O Functions. (line 96) +* advanced features, buffering: I/O Functions. (line 100) * advanced features, close function: Close Files And Pipes. (line 130) * advanced features, constants, values of: Nondecimal-numbers. (line 67) * advanced features, data files as single record: Records. (line 170) * advanced features, fixed-width data: Constant Size. (line 9) -* advanced features, FNR/NR variables: Auto-set. (line 187) +* advanced features, FNR/NR variables: Auto-set. (line 193) * advanced features, gawk: Advanced Features. (line 6) * advanced features, gawk, BSD portals: Portal Files. (line 6) * advanced features, gawk, network programming: TCP/IP Networking. @@ -22402,15 +23199,17 @@ Index (line 23) * advanced features, network connections, See Also networks, connections: Advanced Features. (line 6) -* advanced features, null strings, matching: Gory Details. (line 160) +* advanced features, null strings, matching: Gory Details. (line 159) * advanced features, operators, precedence: Increment Ops. (line 61) -* advanced features, piping into sh: Redirection. (line 140) +* advanced features, piping into sh: Redirection. (line 143) * advanced features, regexp constants: Assignment Ops. (line 148) +* advanced features, specifying field content: Splitting By Content. + (line 9) * Aho, Alfred <1>: Contributors. (line 12) * Aho, Alfred: History. (line 17) * alarm clock example program: Alarm Program. (line 9) * alarm.awk program: Alarm Program. (line 27) -* algorithms: Basic High Level. (line 66) +* algorithms: Basic High Level. (line 68) * Alpha (DEC): Manual History. (line 28) * amazing awk assembler (aaa): Glossary. (line 12) * amazingly workable formatter (awf): Glossary. (line 20) @@ -22441,7 +23240,7 @@ Index * arithmetic operators: Arithmetic Ops. (line 6) * arrays: Arrays. (line 6) * arrays, as parameters to functions: Function Caveats. (line 55) -* arrays, associative: Array Intro. (line 50) +* arrays, associative: Array Intro. (line 51) * arrays, associative, clearing: Internals. (line 66) * arrays, associative, library functions and: Library Names. (line 57) * arrays, deleting entire contents: Delete. (line 39) @@ -22453,16 +23252,16 @@ Index (line 6) * arrays, elements, retrieving number of: String Functions. (line 18) * arrays, for statement and: Scanning an Array. (line 20) -* arrays, IGNORECASE variable and: Array Intro. (line 92) -* arrays, indexing: Array Intro. (line 50) +* arrays, IGNORECASE variable and: Array Intro. (line 93) +* arrays, indexing: Array Intro. (line 51) * arrays, merging into strings: Join Function. (line 6) -* arrays, multidimensional: Multi-dimensional. (line 6) +* arrays, multidimensional: Multi-dimensional. (line 10) * arrays, multidimensional, scanning: Multi-scanning. (line 11) * arrays, names of: Arrays. (line 17) * arrays, scanning: Scanning an Array. (line 6) * arrays, sorting: Array Sorting. (line 6) * arrays, sorting, IGNORECASE variable and: Array Sorting. (line 86) -* arrays, sparse: Array Intro. (line 71) +* arrays, sparse: Array Intro. (line 72) * arrays, subscripts: Numeric Array Subscripts. (line 6) * arrays, subscripts, uninitialized variables as: Uninitialized Subscripts. @@ -22483,17 +23282,17 @@ Index * assignments as filenames: Ignoring Assigns. (line 6) * assoc_clear internal function: Internals. (line 66) * assoc_lookup internal function: Internals. (line 70) -* associative arrays: Array Intro. (line 50) +* associative arrays: Array Intro. (line 51) * asterisk (*), * operator, as multiplication operator: Precedence. (line 55) * asterisk (*), * operator, as regexp operator: Regexp Operators. (line 86) * asterisk (*), * operator, null strings, matching: Gory Details. - (line 160) -* asterisk (*), ** operator <1>: Options. (line 199) + (line 159) +* asterisk (*), ** operator <1>: Options. (line 216) * asterisk (*), ** operator <2>: Precedence. (line 49) * asterisk (*), ** operator: Arithmetic Ops. (line 81) -* asterisk (*), **= operator <1>: Options. (line 199) +* asterisk (*), **= operator <1>: Options. (line 216) * asterisk (*), **= operator <2>: Precedence. (line 95) * asterisk (*), **= operator: Assignment Ops. (line 129) * asterisk (*), *= operator <1>: Precedence. (line 95) @@ -22517,7 +23316,7 @@ Index * awk programs, location of: Options. (line 25) * awk programs, one-line examples: Very Simple. (line 45) * awk programs, profiling: Profiling. (line 6) -* awk programs, profiling, enabling: Options. (line 219) +* awk programs, profiling, enabling: Options. (line 188) * awk programs, running <1>: Long. (line 6) * awk programs, running: Running gawk. (line 6) * awk programs, running, from shell scripts: One-shot. (line 22) @@ -22528,7 +23327,7 @@ Index * awk, gawk and <1>: This Manual. (line 13) * awk, gawk and: Preface. (line 22) * awk, history of: History. (line 17) -* awk, implementation issues, pipes: Redirection. (line 132) +* awk, implementation issues, pipes: Redirection. (line 135) * awk, implementations: Other Versions. (line 6) * awk, implementations, limits: Getline Notes. (line 14) * awk, invoking: Command Line. (line 6) @@ -22557,38 +23356,42 @@ Index * AWKPATH environment variable: AWKPATH Variable. (line 6) * awkprof.out file: Profiling. (line 10) * awksed.awk program: Simple Sed. (line 25) -* awkvars.out file: Options. (line 102) +* awkvars.out file: Options. (line 90) * backslash (\) <1>: Regexp Operators. (line 18) * backslash (\) <2>: Quoting. (line 31) * backslash (\) <3>: Comments. (line 50) * backslash (\): Read Terminal. (line 25) * backslash (\), \" escape sequence: Escape Sequences. (line 76) * backslash (\), \' operator (gawk): GNU Regexp Operators. - (line 48) + (line 56) * backslash (\), \/ escape sequence: Escape Sequences. (line 69) * backslash (\), \< operator (gawk): GNU Regexp Operators. - (line 22) + (line 30) * backslash (\), \> operator (gawk): GNU Regexp Operators. - (line 26) + (line 34) * backslash (\), \` operator (gawk): GNU Regexp Operators. - (line 46) + (line 54) * backslash (\), \a escape sequence: Escape Sequences. (line 34) * backslash (\), \b escape sequence: Escape Sequences. (line 38) * backslash (\), \B operator (gawk): GNU Regexp Operators. - (line 35) + (line 43) * backslash (\), \f escape sequence: Escape Sequences. (line 41) * backslash (\), \n escape sequence: Escape Sequences. (line 44) * backslash (\), \NNN escape sequence: Escape Sequences. (line 56) * backslash (\), \r escape sequence: Escape Sequences. (line 47) +* backslash (\), \S operator (gawk): GNU Regexp Operators. + (line 17) +* backslash (\), \s operator (gawk): GNU Regexp Operators. + (line 13) * backslash (\), \t escape sequence: Escape Sequences. (line 50) * backslash (\), \v escape sequence: Escape Sequences. (line 53) * backslash (\), \W operator (gawk): GNU Regexp Operators. - (line 18) + (line 26) * backslash (\), \w operator (gawk): GNU Regexp Operators. - (line 13) + (line 21) * backslash (\), \x escape sequence: Escape Sequences. (line 61) * backslash (\), \y operator (gawk): GNU Regexp Operators. - (line 30) + (line 38) * backslash (\), as field separators: Command Line Field Separator. (line 27) * backslash (\), continuing lines and <1>: Egrep Program. (line 218) @@ -22625,9 +23428,10 @@ Index * BEGIN pattern, operators and: Using BEGIN/END. (line 17) * BEGIN pattern, pgawk program: Profiling. (line 69) * BEGIN pattern, print statement and: I/O And BEGIN/END. (line 16) -* BEGIN pattern, pwcat program: Passwd Functions. (line 125) +* BEGIN pattern, pwcat program: Passwd Functions. (line 128) * BEGIN pattern, running awk programs and: Cut Program. (line 66) * BEGIN pattern, TEXTDOMAIN variable and: Programmer i18n. (line 58) +* BEGINFILE special pattern: BEGINFILE/ENDFILE. (line 6) * beginfile user-defined function: Filetrans Function. (line 60) * Bell Laboratories awk extensions: BTL. (line 6) * Benzinger, Michael: Contributors. (line 89) @@ -22663,14 +23467,16 @@ Index * Broder, Alan J.: Contributors. (line 80) * Brown, Martin: Contributors. (line 75) * BSD portals: Portal Files. (line 6) -* BSD-based operating systems: Glossary. (line 581) -* Buening, Andreas: Contributors. (line 84) +* BSD-based operating systems: Glossary. (line 582) +* Buening, Andreas <1>: Bugs. (line 70) +* Buening, Andreas <2>: Contributors. (line 84) +* Buening, Andreas: Acknowledgments. (line 53) * buffering, input/output <1>: Two-way I/O. (line 71) -* buffering, input/output: I/O Functions. (line 128) -* buffering, interactive vs. noninteractive: I/O Functions. (line 96) +* buffering, input/output: I/O Functions. (line 132) +* buffering, interactive vs. noninteractive: I/O Functions. (line 100) * buffers, flushing: I/O Functions. (line 29) * buffers, operators for: GNU Regexp Operators. - (line 40) + (line 48) * bug reports, email address, bug-gawk@gnu.org: Bugs. (line 27) * bug-gawk@gnu.org bug reporting address: Bugs. (line 27) * built-in functions: Functions. (line 6) @@ -22682,23 +23488,23 @@ Index * call by reference: Function Caveats. (line 55) * call by value: Function Caveats. (line 26) * caret (^) <1>: GNU Regexp Operators. - (line 51) + (line 59) * caret (^): Regexp Operators. (line 22) -* caret (^), ^ operator <1>: Options. (line 199) +* caret (^), ^ operator <1>: Options. (line 216) * caret (^), ^ operator: Precedence. (line 49) -* caret (^), ^= operator <1>: Options. (line 199) +* caret (^), ^= operator <1>: Options. (line 216) * caret (^), ^= operator <2>: Precedence. (line 95) * caret (^), ^= operator: Assignment Ops. (line 129) * caret (^), in character lists: Character Lists. (line 17) * case keyword: Switch Statement. (line 6) -* case sensitivity, array indices and: Array Intro. (line 92) -* case sensitivity, converting case: String Functions. (line 467) +* case sensitivity, array indices and: Array Intro. (line 93) +* case sensitivity, converting case: String Functions. (line 492) * case sensitivity, example programs: Library Functions. (line 43) * case sensitivity, gawk: Case-sensitivity. (line 26) -* case sensitivity, regexps and <1>: User-modified. (line 70) +* case sensitivity, regexps and <1>: User-modified. (line 82) * case sensitivity, regexps and: Case-sensitivity. (line 6) -* case sensitivity, string comparisons and: User-modified. (line 70) -* CGI, awk scripts for: Options. (line 118) +* case sensitivity, string comparisons and: User-modified. (line 82) +* CGI, awk scripts for: Options. (line 112) * character encodings: Ordinal Functions. (line 44) * character lists <1>: Character Lists. (line 6) * character lists: Regexp Operators. (line 55) @@ -22744,6 +23550,8 @@ Index * command line, arguments <1>: Other Arguments. (line 6) * command line, arguments <2>: ARGC and ARGV. (line 6) * command line, arguments: Auto-set. (line 11) +* command line, directories on: Command line directories. + (line 6) * command line, formats: Running gawk. (line 12) * command line, FS on, setting: Command Line Field Separator. (line 6) @@ -22752,7 +23560,7 @@ Index * command line, options <2>: Command Line Field Separator. (line 6) * command line, options: Long. (line 12) -* command line, options, end of: Options. (line 62) +* command line, options, end of: Options. (line 51) * command line, variables, assigning on: Assignment Options. (line 6) * command-line options, processing: Getopt Function. (line 6) * command-line options, string extraction: String Extraction. (line 6) @@ -22770,33 +23578,29 @@ Index (line 60) * compatibility mode (gawk), octal numbers: Nondecimal-numbers. (line 60) -* compatibility mode (gawk), specifying: Options. (line 86) +* compatibility mode (gawk), specifying: Options. (line 76) * compiled programs <1>: Glossary. (line 155) -* compiled programs: Basic High Level. (line 14) +* compiled programs: Basic High Level. (line 15) * compl function (gawk): Bitwise Functions. (line 43) * complement, bitwise: Bitwise Functions. (line 25) * compound statements, control statements and: Statements. (line 10) * concatenating: Concatenation. (line 9) * conditional expressions: Conditional Exp. (line 6) -* configuration option, --disable-directories-fatal: Additional Configuration Options. - (line 41) * configuration option, --disable-lint: Additional Configuration Options. - (line 21) + (line 17) * configuration option, --disable-nls: Additional Configuration Options. - (line 36) + (line 32) * configuration option, --enable-portals: Additional Configuration Options. (line 9) -* configuration option, --enable-switch: Additional Configuration Options. - (line 13) * configuration option, --with-whiny-user-strftime: Additional Configuration Options. - (line 17) + (line 13) * configuration options, gawk: Additional Configuration Options. (line 6) * constants, nondecimal: Nondecimal Data. (line 6) * constants, types of: Constants. (line 6) * continue statement: Continue Statement. (line 6) * control statements: Statements. (line 6) -* converting, case: String Functions. (line 467) +* converting, case: String Functions. (line 492) * converting, dates to timestamps: Time Functions. (line 72) * converting, during subscripting: Numeric Array Subscripts. (line 31) @@ -22808,7 +23612,7 @@ Index * CONVFMT variable, array subscripts and: Numeric Array Subscripts. (line 6) * coprocesses <1>: Two-way I/O. (line 44) -* coprocesses: Redirection. (line 99) +* coprocesses: Redirection. (line 102) * coprocesses, closing: Close Files And Pipes. (line 6) * coprocesses, getline from: Getline/Coprocess. (line 6) @@ -22816,7 +23620,7 @@ Index * counting: Wc Program. (line 6) * csh utility: Statements/Lines. (line 44) * csh utility, backslash continuation and: More Complex. (line 15) -* csh utility, POSIXLY_CORRECT environment variable: Options. (line 302) +* csh utility, POSIXLY_CORRECT environment variable: Options. (line 303) * csh utility, |& operator, comparison with: Two-way I/O. (line 44) * ctime user-defined function: Function Example. (line 72) * currency symbols, localization: Explaining gettext. (line 99) @@ -22845,9 +23649,9 @@ Index * dark corner, exit statement: Exit Statement. (line 29) * dark corner, field separators: Field Splitting Summary. (line 47) -* dark corner, FILENAME variable <1>: Auto-set. (line 88) +* dark corner, FILENAME variable <1>: Auto-set. (line 93) * dark corner, FILENAME variable: Getline Notes. (line 19) -* dark corner, FNR/NR variables: Auto-set. (line 187) +* dark corner, FNR/NR variables: Auto-set. (line 193) * dark corner, format-control characters: Control Letters. (line 18) * dark corner, FS as null string: Single Character Fields. (line 20) @@ -22863,10 +23667,10 @@ Index (line 148) * dark corner, regexp constants, as arguments to user-defined functions: Using Constant Regexps. (line 44) -* dark corner, split function: String Functions. (line 234) +* dark corner, split function: String Functions. (line 259) * dark corner, strings, storing: Records. (line 186) * data, fixed-width: Constant Size. (line 9) -* data-driven languages: Basic High Level. (line 83) +* data-driven languages: Basic High Level. (line 85) * database, group, reading: Group Functions. (line 6) * database, users, reading: Passwd Functions. (line 6) * date utility, GNU: Time Functions. (line 17) @@ -22874,7 +23678,6 @@ Index * dates, converting to timestamps: Time Functions. (line 72) * dates, information related to, localization: Explaining gettext. (line 111) -* Davies, Stephen <1>: Bugs. (line 70) * Davies, Stephen: Contributors. (line 69) * dcgettext function (gawk) <1>: Programmer i18n. (line 19) * dcgettext function (gawk): I18N Functions. (line 12) @@ -22887,7 +23690,7 @@ Index * deadlocks: Two-way I/O. (line 71) * debugging gawk: Known Bugs. (line 6) * debugging gawk, bug reports: Bugs. (line 9) -* decimal point character, locale specific: Options. (line 207) +* decimal point character, locale specific: Options. (line 224) * decrement operators: Increment Ops. (line 35) * default keyword: Switch Statement. (line 6) * Deifik, Scott <1>: Bugs. (line 69) @@ -22898,7 +23701,7 @@ Index * deleting entire arrays: Delete. (line 39) * differences between gawk and awk: String Functions. (line 102) * differences in awk and gawk, ARGC/ARGV variables: ARGC and ARGV. - (line 85) + (line 86) * differences in awk and gawk, ARGIND variable: Auto-set. (line 40) * differences in awk and gawk, array elements, deleting: Delete. (line 39) @@ -22916,49 +23719,54 @@ Index * differences in awk and gawk, error messages: Special FD. (line 15) * differences in awk and gawk, FIELDWIDTHS variable: User-modified. (line 35) +* differences in awk and gawk, FPAT variable: User-modified. (line 45) * differences in awk and gawk, function arguments (gawk): Calling Built-in. (line 16) * differences in awk and gawk, getline command: Getline. (line 19) * differences in awk and gawk, IGNORECASE variable: User-modified. - (line 70) + (line 82) * differences in awk and gawk, implementation limitations <1>: Redirection. - (line 132) + (line 135) * differences in awk and gawk, implementation limitations: Getline Notes. (line 14) +* differences in awk and gawk, indirect function calls: Indirect Calls. + (line 6) * differences in awk and gawk, input/output operators <1>: Redirection. - (line 99) + (line 102) * differences in awk and gawk, input/output operators: Getline/Coprocess. (line 6) * differences in awk and gawk, line continuations: Conditional Exp. (line 34) -* differences in awk and gawk, LINT variable: User-modified. (line 85) +* differences in awk and gawk, LINT variable: User-modified. (line 97) * differences in awk and gawk, match function: String Functions. (line 165) * differences in awk and gawk, next/nextfile statements: Nextfile Statement. (line 6) * differences in awk and gawk, print/printf statements: Format Modifiers. (line 13) -* differences in awk and gawk, PROCINFO array: Auto-set. (line 119) +* differences in awk and gawk, PROCINFO array: Auto-set. (line 124) * differences in awk and gawk, record separators: Records. (line 112) * differences in awk and gawk, regexp constants: Using Constant Regexps. (line 44) * differences in awk and gawk, regular expressions: Case-sensitivity. (line 26) * differences in awk and gawk, RS/RT variables: Records. (line 162) -* differences in awk and gawk, RT variable: Auto-set. (line 176) +* differences in awk and gawk, RT variable: Auto-set. (line 182) * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split function: String Functions. - (line 223) + (line 248) * differences in awk and gawk, strings: Scalar Constants. (line 20) * differences in awk and gawk, strings, storing: Records. (line 182) * differences in awk and gawk, strtonum function (gawk): String Functions. - (line 261) + (line 286) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. - (line 140) + (line 152) * differences in awk and gawk, trunc-mod operation: Arithmetic Ops. (line 66) * directories, changing: Sample Library. (line 6) +* directories, command line: Command line directories. + (line 6) * directories, searching <1>: Igawk Program. (line 358) * directories, searching: AWKPATH Variable. (line 6) * division: Arithmetic Ops. (line 44) @@ -23008,11 +23816,12 @@ Index * END pattern, operators and: Using BEGIN/END. (line 17) * END pattern, pgawk program: Profiling. (line 69) * END pattern, print statement and: I/O And BEGIN/END. (line 16) +* ENDFILE special pattern: BEGINFILE/ENDFILE. (line 6) * endfile user-defined function: Filetrans Function. (line 60) -* endgrent function (C library): Group Functions. (line 213) -* endgrent user-defined function: Group Functions. (line 216) -* endpwent function (C library): Passwd Functions. (line 192) -* endpwent user-defined function: Passwd Functions. (line 195) +* endgrent function (C library): Group Functions. (line 215) +* endgrent user-defined function: Group Functions. (line 218) +* endpwent function (C library): Passwd Functions. (line 199) +* endpwent user-defined function: Passwd Functions. (line 202) * ENVIRON variable <1>: Internals. (line 165) * ENVIRON variable: Auto-set. (line 60) * environment variables: Auto-set. (line 60) @@ -23030,7 +23839,7 @@ Index * error output: Special FD. (line 6) * escape processing, gsub/gensub/sub functions: Gory Details. (line 6) * escape sequences: Escape Sequences. (line 6) -* escape sequences, unrecognized: Options. (line 187) +* escape sequences, unrecognized: Options. (line 204) * evaluation order: Increment Ops. (line 61) * evaluation order, concatenation: Concatenation. (line 42) * evaluation order, functions: Calling Built-in. (line 30) @@ -23083,14 +23892,15 @@ Index * Fenlason, Jay <1>: Contributors. (line 19) * Fenlason, Jay: History. (line 30) * fflush function: I/O Functions. (line 25) -* fflush function, unsupported: Options. (line 210) +* fflush function, unsupported: Options. (line 227) * field numbers: Nonconstant Fields. (line 6) * field operator $: Fields. (line 19) * field operators, dollar sign as: Fields. (line 19) -* field separators <1>: User-modified. (line 45) +* field separators <1>: User-modified. (line 56) * field separators: Field Separators. (line 13) * field separators, choice of: Field Separators. (line 49) * field separators, FIELDWIDTHS variable and: User-modified. (line 35) +* field separators, FPAT variable and: User-modified. (line 45) * field separators, in multiline records: Multiple Line. (line 41) * field separators, on command line: Command Line Field Separator. (line 6) @@ -23102,7 +23912,7 @@ Index * field separators, regular expressions as: Field Separators. (line 49) * field separators, See Also OFS: Changing Fields. (line 64) * field separators, spaces as: Cut Program. (line 106) -* fields <1>: Basic High Level. (line 71) +* fields <1>: Basic High Level. (line 73) * fields <2>: Fields. (line 6) * fields: Reading Files. (line 14) * fields, adding: Changing Fields. (line 53) @@ -23121,7 +23931,7 @@ Index * file names, distinguishing: Auto-set. (line 52) * file names, in compatibility mode: Special Caveats. (line 9) * file names, standard streams in gawk: Special FD. (line 41) -* FILENAME variable <1>: Auto-set. (line 88) +* FILENAME variable <1>: Auto-set. (line 93) * FILENAME variable: Reading Files. (line 6) * FILENAME variable, getline, setting with: Getline Notes. (line 19) * filenames, assignments as: Ignoring Assigns. (line 6) @@ -23134,14 +23944,15 @@ Index * files, .po, converting to .mo: I18N Example. (line 62) * files, /dev/... special files: Special FD. (line 41) * files, /inet/ (gawk): TCP/IP Networking. (line 6) +* files, /inet4/ (gawk): TCP/IP Networking. (line 6) +* files, /inet6/ (gawk): TCP/IP Networking. (line 6) * files, /p (gawk): Portal Files. (line 6) * files, as single records: Records. (line 191) * files, awk programs in: Long. (line 6) * files, awkprof.out: Profiling. (line 10) -* files, awkvars.out: Options. (line 102) +* files, awkvars.out: Options. (line 90) * files, closing: I/O Functions. (line 10) * files, descriptors, See file descriptors: Special FD. (line 6) -* files, for process information: Special Process. (line 6) * files, group: Group Functions. (line 6) * files, information about, retrieving: Sample Library. (line 6) * files, initialization and cleanup: Filetrans Function. (line 6) @@ -23166,7 +23977,7 @@ Index * files, portable object: Explaining gettext. (line 36) * files, portable object, converting to message object files: I18N Example. (line 62) -* files, portable object, generating: Options. (line 137) +* files, portable object, generating: Options. (line 131) * files, portal: Portal Files. (line 6) * files, processing, ARGIND variable and: Auto-set. (line 47) * files, reading: Rewind Function. (line 6) @@ -23183,9 +23994,9 @@ Index * floating-point: Unexpected Results. (line 6) * floating-point, numbers: Basic Data Typing. (line 21) * floating-point, numbers, AWKNUM internal type: Internals. (line 19) -* FNR variable <1>: Auto-set. (line 98) +* FNR variable <1>: Auto-set. (line 103) * FNR variable: Records. (line 6) -* FNR variable, changing: Auto-set. (line 187) +* FNR variable, changing: Auto-set. (line 193) * for statement: For Statement. (line 6) * for statement, in arrays: Scanning an Array. (line 20) * force_number internal function: Internals. (line 27) @@ -23205,18 +24016,19 @@ Index * forward slash (/), /= operator, vs. /=.../ regexp constant: Assignment Ops. (line 148) * forward slash (/), patterns and: Expression Patterns. (line 24) +* FPAT variable: User-modified. (line 45) * Free Documentation License (FDL): GNU Free Documentation License. (line 6) -* Free Software Foundation (FSF) <1>: Glossary. (line 283) +* Free Software Foundation (FSF) <1>: Glossary. (line 286) * Free Software Foundation (FSF): Manual History. (line 6) * free_temp internal macro: Internals. (line 102) -* FreeBSD: Glossary. (line 581) -* FS variable <1>: User-modified. (line 45) +* FreeBSD: Glossary. (line 582) +* FS variable <1>: User-modified. (line 56) * FS variable: Field Separators. (line 13) * FS variable, --field-separator option and: Options. (line 21) * FS variable, as null string: Single Character Fields. (line 20) -* FS variable, as TAB character: Options. (line 203) +* FS variable, as TAB character: Options. (line 220) * FS variable, changing value of <1>: Known Bugs. (line 6) * FS variable, changing value of: Field Separators. (line 33) * FS variable, running awk programs and: Cut Program. (line 66) @@ -23224,9 +24036,11 @@ Index (line 6) * FS, containing ^: Regexp Field Splitting. (line 59) -* FSF (Free Software Foundation) <1>: Glossary. (line 283) +* FSF (Free Software Foundation) <1>: Glossary. (line 286) * FSF (Free Software Foundation): Manual History. (line 6) * function calls: Function Calls. (line 6) +* function calls, indirect: Indirect Calls. (line 6) +* function pointers: Indirect Calls. (line 6) * functions, arrays as parameters to: Function Caveats. (line 55) * functions, built-in <1>: Functions. (line 6) * functions, built-in: Function Calls. (line 10) @@ -23256,9 +24070,9 @@ Index * functions, library, rounding numbers: Round Function. (line 6) * functions, library, user database, reading: Passwd Functions. (line 6) -* functions, names of <1>: Definition Syntax. (line 20) +* functions, names of <1>: Definition Syntax. (line 21) * functions, names of: Arrays. (line 17) -* functions, recursive: Definition Syntax. (line 72) +* functions, recursive: Definition Syntax. (line 73) * functions, return values, setting: Internals. (line 146) * functions, string-translation: I18N Functions. (line 6) * functions, undefined: Function Caveats. (line 79) @@ -23270,7 +24084,7 @@ Index (line 39) * functions, user-defined, next/nextfile statements and: Next Statement. (line 39) -* G-d: Acknowledgments. (line 71) +* G-d: Acknowledgments. (line 72) * Garfinkle, Scott: Contributors. (line 37) * gawk, awk and <1>: This Manual. (line 13) * gawk, awk and: Preface. (line 22) @@ -23280,7 +24094,7 @@ Index * gawk, character classes and: Character Lists. (line 92) * gawk, coding style in: Adding Code. (line 32) * gawk, command-line options: GNU Regexp Operators. - (line 62) + (line 70) * gawk, comparison operators and: Comparison Operators. (line 50) * gawk, configuring: Configuration Philosophy. @@ -23292,34 +24106,35 @@ Index * gawk, distribution: Distribution contents. (line 6) * gawk, escape sequences: Escape Sequences. (line 125) -* gawk, extensions, disabling: Options. (line 183) +* gawk, extensions, disabling: Options. (line 200) * gawk, features, adding: Adding Code. (line 6) * gawk, features, advanced: Advanced Features. (line 6) * gawk, fflush function in: I/O Functions. (line 45) -* gawk, field separators and: User-modified. (line 65) +* gawk, field separators and: User-modified. (line 77) * gawk, FIELDWIDTHS variable in: User-modified. (line 41) * gawk, file names in: Special Files. (line 6) * gawk, format-control characters: Control Letters. (line 18) +* gawk, FPAT variable in: User-modified. (line 52) * gawk, function arguments and: Calling Built-in. (line 16) * gawk, functions, adding: Dynamic Extensions. (line 10) * gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42) -* gawk, IGNORECASE variable in: User-modified. (line 81) +* gawk, IGNORECASE variable in: User-modified. (line 93) * gawk, implementation issues: Notes. (line 6) * gawk, implementation issues, debugging: Compatibility Mode. (line 6) * gawk, implementation issues, downward compatibility: Compatibility Mode. (line 6) * gawk, implementation issues, limits: Getline Notes. (line 14) -* gawk, implementation issues, pipes: Redirection. (line 132) +* gawk, implementation issues, pipes: Redirection. (line 135) * gawk, installing: Installation. (line 6) * gawk, internals: Internals. (line 6) * gawk, internationalization and, See internationalization: Internationalization. (line 13) -* gawk, interpreter, adding code to <1>: Future Extensions. (line 87) +* gawk, interpreter, adding code to <1>: Future Extensions. (line 90) * gawk, interpreter, adding code to: Using Internal File Ops. (line 6) * gawk, interval expressions and: Regexp Operators. (line 138) * gawk, line continuation in: Conditional Exp. (line 34) -* gawk, LINT variable in: User-modified. (line 94) +* gawk, LINT variable in: User-modified. (line 106) * gawk, list of contributors to: Contributors. (line 6) * gawk, MS-DOS version of: PC Using. (line 11) * gawk, newlines in: Statements/Lines. (line 12) @@ -23334,19 +24149,19 @@ Index (line 26) * gawk, regular expressions, operators: GNU Regexp Operators. (line 6) -* gawk, regular expressions, precedence: Regexp Operators. (line 154) +* gawk, regular expressions, precedence: Regexp Operators. (line 156) * gawk, See Also awk: Preface. (line 35) * gawk, source code, obtaining: Getting. (line 6) * gawk, splitting fields and: Constant Size. (line 87) * gawk, string-translation functions: I18N Functions. (line 6) * gawk, timestamps: Time Functions. (line 6) * gawk, uses for: Preface. (line 35) -* gawk, versions of, information about, printing: Options. (line 251) +* gawk, versions of, information about, printing: Options. (line 252) * gawk, word-boundary operator: GNU Regexp Operators. - (line 55) -* General Public License (GPL): Glossary. (line 292) + (line 63) +* General Public License (GPL): Glossary. (line 295) * General Public License, See GPL: Manual History. (line 11) -* gensub function (gawk) <1>: String Functions. (line 375) +* gensub function (gawk) <1>: String Functions. (line 400) * gensub function (gawk): Using Constant Regexps. (line 44) * gensub function (gawk), escape processing: Gory Details. (line 6) @@ -23358,16 +24173,16 @@ Index * get_scalar_argument internal macro: Internals. (line 136) * getgrent function (C library): Group Functions. (line 6) * getgrent user-defined function: Group Functions. (line 6) -* getgrgid function (C library): Group Functions. (line 180) -* getgrgid user-defined function: Group Functions. (line 183) -* getgrnam function (C library): Group Functions. (line 168) -* getgrnam user-defined function: Group Functions. (line 172) -* getgruser function (C library): Group Functions. (line 191) -* getgruser function, user-defined: Group Functions. (line 194) +* getgrgid function (C library): Group Functions. (line 182) +* getgrgid user-defined function: Group Functions. (line 185) +* getgrnam function (C library): Group Functions. (line 170) +* getgrnam user-defined function: Group Functions. (line 174) +* getgruser function (C library): Group Functions. (line 193) +* getgruser function, user-defined: Group Functions. (line 196) * getline command: Reading Files. (line 20) * getline command, _gr_init user-defined function: Group Functions. (line 80) -* getline command, _pw_init function: Passwd Functions. (line 136) +* getline command, _pw_init function: Passwd Functions. (line 139) * getline command, coprocesses, using from <1>: Close Files And Pipes. (line 6) * getline command, coprocesses, using from: Getline/Coprocess. @@ -23381,11 +24196,11 @@ Index * getopt user-defined function: Getopt Function. (line 106) * getpwent function (C library): Passwd Functions. (line 16) * getpwent user-defined function: Passwd Functions. (line 16) -* getpwnam function (C library): Passwd Functions. (line 156) -* getpwnam user-defined function: Passwd Functions. (line 160) -* getpwuid function (C library): Passwd Functions. (line 168) -* getpwuid user-defined function: Passwd Functions. (line 172) -* getservbyname function (C library): TCP/IP Networking. (line 34) +* getpwnam function (C library): Passwd Functions. (line 163) +* getpwnam user-defined function: Passwd Functions. (line 167) +* getpwuid function (C library): Passwd Functions. (line 175) +* getpwuid user-defined function: Passwd Functions. (line 179) +* getservbyname function (C library): TCP/IP Networking. (line 39) * gettext function (C library): Explaining gettext. (line 60) * gettext library: Explaining gettext. (line 6) * gettext library, locale categories: Explaining gettext. (line 78) @@ -23395,29 +24210,29 @@ Index * GNU awk, See gawk: Preface. (line 48) * GNU Free Documentation License: GNU Free Documentation License. (line 6) -* GNU General Public License: Glossary. (line 292) -* GNU Lesser General Public License: Glossary. (line 372) +* GNU General Public License: Glossary. (line 295) +* GNU Lesser General Public License: Glossary. (line 373) * GNU long options <1>: Options. (line 6) * GNU long options: Command Line. (line 13) -* GNU long options, printing list of: Options. (line 146) -* GNU Project <1>: Glossary. (line 301) +* GNU long options, printing list of: Options. (line 139) +* GNU Project <1>: Glossary. (line 304) * GNU Project: Manual History. (line 11) -* GNU/Linux <1>: Glossary. (line 581) +* GNU/Linux <1>: Glossary. (line 582) * GNU/Linux <2>: Atari Compiling. (line 16) * GNU/Linux <3>: I18N Example. (line 55) * GNU/Linux: Manual History. (line 28) -* GPL (General Public License) <1>: Glossary. (line 292) +* GPL (General Public License) <1>: Glossary. (line 295) * GPL (General Public License): Manual History. (line 11) -* GPL (General Public License), printing: Options. (line 94) +* GPL (General Public License), printing: Options. (line 85) * grcat program: Group Functions. (line 15) * Grigera, Juan: Contributors. (line 55) * group database, reading: Group Functions. (line 6) * group file: Group Functions. (line 6) * groups, information about: Group Functions. (line 6) -* gsub function <1>: String Functions. (line 359) +* gsub function <1>: String Functions. (line 384) * gsub function: Using Constant Regexps. (line 44) -* gsub function, arguments of: String Functions. (line 339) +* gsub function, arguments of: String Functions. (line 364) * gsub function, escape processing: Gory Details. (line 6) * Hankerson, Darrel <1>: Contributors. (line 57) * Hankerson, Darrel: Acknowledgments. (line 53) @@ -23425,7 +24240,7 @@ Index * Hartholz, Marshall: Acknowledgments. (line 35) * Hasegawa, Isamu: Contributors. (line 86) * hexadecimal numbers: Nondecimal-numbers. (line 6) -* hexadecimal values, enabling interpretation of: Options. (line 175) +* hexadecimal values, enabling interpretation of: Options. (line 168) * histsort.awk program: History Sorting. (line 25) * Hughes, Phil: Acknowledgments. (line 40) * HUP signal: Profiling. (line 207) @@ -23434,7 +24249,7 @@ Index * hyphen (-), -- operator: Increment Ops. (line 48) * hyphen (-), -= operator <1>: Precedence. (line 95) * hyphen (-), -= operator: Assignment Ops. (line 129) -* hyphen (-), filenames beginning with: Options. (line 67) +* hyphen (-), filenames beginning with: Options. (line 56) * hyphen (-), in character lists: Character Lists. (line 17) * id utility: Id Program. (line 6) * id.awk program: Id Program. (line 30) @@ -23442,15 +24257,15 @@ Index * if statement: Regexp Usage. (line 19) * if statement, actions, changing: Ranges. (line 25) * igawk.sh program: Igawk Program. (line 118) -* IGNORECASE variable <1>: User-modified. (line 70) +* IGNORECASE variable <1>: User-modified. (line 82) * IGNORECASE variable: Case-sensitivity. (line 26) * IGNORECASE variable, array sorting and: Array Sorting. (line 86) -* IGNORECASE variable, array subscripts and: Array Intro. (line 92) +* IGNORECASE variable, array subscripts and: Array Intro. (line 93) * IGNORECASE variable, in example programs: Library Functions. (line 43) * implementation issues, gawk: Notes. (line 6) * implementation issues, gawk, debugging: Compatibility Mode. (line 6) -* implementation issues, gawk, limits <1>: Redirection. (line 132) +* implementation issues, gawk, limits <1>: Redirection. (line 135) * implementation issues, gawk, limits: Getline Notes. (line 14) * in operator <1>: Id Program. (line 93) * in operator <2>: For Statement. (line 74) @@ -23462,7 +24277,8 @@ Index (line 25) * increment operators: Increment Ops. (line 6) * index function: String Functions. (line 60) -* indexing arrays: Array Intro. (line 50) +* indexing arrays: Array Intro. (line 51) +* indirect function calls: Indirect Calls. (line 6) * initialization, automatic: More Complex. (line 38) * input files: Reading Files. (line 6) * input files, closing: Close Files And Pipes. @@ -23500,7 +24316,7 @@ Index * internationalization: I18N Functions. (line 6) * internationalization, localization <1>: Internationalization. (line 13) -* internationalization, localization: User-modified. (line 140) +* internationalization, localization: User-modified. (line 152) * internationalization, localization, character classes: Character Lists. (line 92) * internationalization, localization, gawk and: Internationalization. @@ -23512,13 +24328,13 @@ Index * internationalization, localization, portability and: I18N Portability. (line 6) * internationalizing a program: Explaining gettext. (line 6) -* interpreted programs <1>: Glossary. (line 341) -* interpreted programs: Basic High Level. (line 14) +* interpreted programs <1>: Glossary. (line 344) +* interpreted programs: Basic High Level. (line 15) * interval expressions: Regexp Operators. (line 115) * inventory-shipped file: Sample Data Files. (line 32) * IOBUF internal structure: Internals. (line 178) * iop_alloc internal function: Internals. (line 178) -* ISO: Glossary. (line 352) +* ISO: Glossary. (line 355) * ISO 8859-1: Glossary. (line 137) * ISO Latin-1: Glossary. (line 137) * Jacobs, Andrew: Passwd Functions. (line 76) @@ -23537,14 +24353,14 @@ Index * Kernighan, Brian <3>: Contributors. (line 12) * Kernighan, Brian <4>: BTL. (line 6) * Kernighan, Brian <5>: Concatenation. (line 6) -* Kernighan, Brian <6>: Acknowledgments. (line 61) +* Kernighan, Brian <6>: Acknowledgments. (line 62) * Kernighan, Brian <7>: Conventions. (line 33) * Kernighan, Brian: History. (line 17) * kill command, dynamic profiling: Profiling. (line 185) * Knights, jedi: Undocumented. (line 6) * Kwok, Conrad: Contributors. (line 37) * labels.awk program: Labels Program. (line 48) -* languages, data-driven: Basic High Level. (line 83) +* languages, data-driven: Basic High Level. (line 85) * LC_ALL locale category: Explaining gettext. (line 116) * LC_COLLATE locale category: Explaining gettext. (line 89) * LC_CTYPE locale category: Explaining gettext. (line 93) @@ -23565,8 +24381,8 @@ Index * left shift, bitwise: Bitwise Functions. (line 32) * leftmost longest match: Multiple Line. (line 26) * length function: String Functions. (line 71) -* Lesser General Public License (LGPL): Glossary. (line 372) -* LGPL (Lesser General Public License): Glossary. (line 372) +* Lesser General Public License (LGPL): Glossary. (line 373) +* LGPL (Lesser General Public License): Glossary. (line 373) * libraries of awk functions: Library Functions. (line 6) * libraries of awk functions, assertions: Assert Function. (line 6) * libraries of awk functions, associative arrays and: Library Names. @@ -23601,22 +24417,22 @@ Index * lines, duplicate, removing: History Sorting. (line 6) * lines, matching ranges of: Ranges. (line 6) * lines, skipping between markers: Ranges. (line 43) -* lint checking: User-modified. (line 85) +* lint checking: User-modified. (line 97) * lint checking, array elements: Delete. (line 34) * lint checking, array subscripts: Uninitialized Subscripts. (line 42) * lint checking, empty programs: Command Line. (line 16) -* lint checking, issuing warnings: Options. (line 151) +* lint checking, issuing warnings: Options. (line 144) * lint checking, POSIXLY_CORRECT environment variable: Options. - (line 289) + (line 290) * lint checking, undefined functions: Function Caveats. (line 96) -* LINT variable: User-modified. (line 85) -* Linux <1>: Glossary. (line 581) +* LINT variable: User-modified. (line 97) +* Linux <1>: Glossary. (line 582) * Linux <2>: Atari Compiling. (line 16) * Linux <3>: I18N Example. (line 55) * Linux: Manual History. (line 28) * locale categories: Explaining gettext. (line 78) -* locale decimal point character: Options. (line 207) +* locale decimal point character: Options. (line 224) * locale, definition of: Locales. (line 6) * localization: I18N and L10N. (line 6) * localization, See internationalization, localization: I18N and L10N. @@ -23651,11 +24467,10 @@ Index * matching, expressions, See comparison expressions: Typing and Comparison. (line 9) * matching, leftmost longest: Multiple Line. (line 26) -* matching, null strings: Gory Details. (line 160) +* matching, null strings: Gory Details. (line 159) * mawk program: Other Versions. (line 34) * McPhee, Patrick: Contributors. (line 92) * memory, releasing: Internals. (line 102) -* memory, setting limits: Options. (line 45) * message object files: Explaining gettext. (line 39) * message object files, converting from portable object files: I18N Example. (line 62) @@ -23671,16 +24486,16 @@ Index * names, arrays/variables <1>: Library Names. (line 6) * names, arrays/variables: Arrays. (line 17) * names, functions <1>: Library Names. (line 6) -* names, functions: Definition Syntax. (line 20) +* names, functions: Definition Syntax. (line 21) * namespace issues <1>: Library Names. (line 6) * namespace issues: Arrays. (line 17) -* namespace issues, functions: Definition Syntax. (line 20) +* namespace issues, functions: Definition Syntax. (line 21) * nawk utility: Names. (line 17) * negative zero: Unexpected Results. (line 28) -* NetBSD: Glossary. (line 581) +* NetBSD: Glossary. (line 582) * networks, programming: TCP/IP Networking. (line 6) * networks, support for: Special Network. (line 6) -* newlines <1>: Options. (line 190) +* newlines <1>: Options. (line 207) * newlines <2>: Boolean Ops. (line 67) * newlines: Statements/Lines. (line 6) * newlines, as field separators: Field Separators. (line 63) @@ -23691,8 +24506,7 @@ Index * newlines, separating statements in actions <1>: Statements. (line 10) * newlines, separating statements in actions: Action Overview. (line 19) -* next file statement: POSIX/GNU. (line 153) -* next file statement, deprecated: Obsolete. (line 11) +* next file statement: POSIX/GNU. (line 154) * next file statement, in gawk: Nextfile Statement. (line 46) * next statement <1>: Next Statement. (line 6) * next statement: Boolean Ops. (line 85) @@ -23703,20 +24517,19 @@ Index (line 36) * nextfile statement, implementing: Nextfile Function. (line 6) * nextfile statement, in gawk: Nextfile Statement. (line 46) -* nextfile statement, next file statement and: Obsolete. (line 11) * nextfile statement, user-defined functions and: Nextfile Statement. (line 39) * nextfile user-defined function: Nextfile Function. (line 38) -* NF variable <1>: Auto-set. (line 103) +* NF variable <1>: Auto-set. (line 108) * NF variable: Fields. (line 33) * NF variable, decrementing: Changing Fields. (line 107) * noassign.awk program: Ignoring Assigns. (line 15) * NODE internal type: Internals. (line 23) * nodes, duplicating: Internals. (line 97) * not Boolean-logic operator: Boolean Ops. (line 6) -* NR variable <1>: Auto-set. (line 114) +* NR variable <1>: Auto-set. (line 119) * NR variable: Records. (line 6) -* NR variable, changing: Auto-set. (line 187) +* NR variable, changing: Auto-set. (line 193) * null strings <1>: Basic Data Typing. (line 47) * null strings <2>: Truth Values. (line 6) * null strings <3>: Regexp Field Splitting. @@ -23726,7 +24539,7 @@ Index * null strings, as array subscripts: Uninitialized Subscripts. (line 42) * null strings, converting numbers to strings: Conversion. (line 21) -* null strings, matching: Gory Details. (line 160) +* null strings, matching: Gory Details. (line 159) * null strings, quoting and: Quoting. (line 62) * number sign (#), #! (executable scripts): Executable Scripts. (line 6) @@ -23756,15 +24569,15 @@ Index * oawk utility: Names. (line 17) * obsolete features: Obsolete. (line 6) * octal numbers: Nondecimal-numbers. (line 6) -* octal values, enabling interpretation of: Options. (line 175) -* OFMT variable <1>: User-modified. (line 102) +* octal values, enabling interpretation of: Options. (line 168) +* OFMT variable <1>: User-modified. (line 114) * OFMT variable <2>: Conversion. (line 54) * OFMT variable: OFMT. (line 15) * OFMT variable, POSIX awk and: OFMT. (line 27) -* OFS variable <1>: User-modified. (line 111) +* OFS variable <1>: User-modified. (line 123) * OFS variable <2>: Output Separators. (line 6) * OFS variable: Changing Fields. (line 64) -* OpenBSD: Glossary. (line 581) +* OpenBSD: Glossary. (line 582) * OpenSolaris: Other Versions. (line 101) * operating systems, BSD-based <1>: Portal Files. (line 6) * operating systems, BSD-based: Manual History. (line 28) @@ -23783,7 +24596,7 @@ Index * operators, GNU-specific: GNU Regexp Operators. (line 6) * operators, input/output <1>: Precedence. (line 65) -* operators, input/output <2>: Redirection. (line 19) +* operators, input/output <2>: Redirection. (line 22) * operators, input/output <3>: Getline/Coprocess. (line 6) * operators, input/output <4>: Getline/Pipe. (line 6) * operators, input/output: Getline/File. (line 6) @@ -23796,26 +24609,26 @@ Index * operators, string: Concatenation. (line 9) * operators, string-matching: Regexp Usage. (line 19) * operators, string-matching, for buffers: GNU Regexp Operators. - (line 40) + (line 48) * operators, word-boundary (gawk): GNU Regexp Operators. - (line 55) + (line 63) * options, command-line <1>: Options. (line 6) * options, command-line <2>: Command Line Field Separator. (line 6) * options, command-line: Long. (line 12) -* options, command-line, end of: Options. (line 62) +* options, command-line, end of: Options. (line 51) * options, command-line, invoking awk: Command Line. (line 6) * options, command-line, processing: Getopt Function. (line 6) * options, deprecated: Obsolete. (line 6) * options, long <1>: Options. (line 6) * options, long: Command Line. (line 13) -* options, printing list of: Options. (line 146) +* options, printing list of: Options. (line 139) * OR bitwise operation: Bitwise Functions. (line 6) * or Boolean-logic operator: Boolean Ops. (line 6) * or function (gawk): Bitwise Functions. (line 39) * ord user-defined function: Ordinal Functions. (line 16) * order of evaluation, concatenation: Concatenation. (line 42) -* ORS variable <1>: User-modified. (line 116) +* ORS variable <1>: User-modified. (line 128) * ORS variable: Output Separators. (line 20) * output field separator, See OFS variable: Changing Fields. (line 64) * output record separator, See ORS variable: Output Separators. @@ -23827,16 +24640,17 @@ Index (line 6) * output, format specifier, OFMT: OFMT. (line 15) * output, formatted: Printf. (line 6) -* output, pipes: Redirection. (line 54) +* output, pipes: Redirection. (line 57) * output, printing, See printing: Printing. (line 6) * output, records: Output Separators. (line 20) * output, standard: Special FD. (line 6) -* P1003.2 POSIX standard: Glossary. (line 425) +* P1003.2 POSIX standard: Glossary. (line 426) * param_cnt internal variable: Internals. (line 46) * parameters, number of: Internals. (line 46) * parentheses (): Regexp Operators. (line 78) * parentheses (), pgawk program: Profiling. (line 144) * password file: Passwd Functions. (line 16) +* patsplit function: String Functions. (line 200) * patterns: Patterns and Actions. (line 6) * patterns, comparison expressions as: Expression Patterns. (line 14) @@ -23863,8 +24677,8 @@ Index * pipes, closing: Close Files And Pipes. (line 6) * pipes, input: Getline/Pipe. (line 6) -* pipes, output: Redirection. (line 54) -* Pitts, Dave: Bugs. (line 73) +* pipes, output: Redirection. (line 57) +* Pitts, Dave: Bugs. (line 72) * Pitts, Davi: Acknowledgments. (line 53) * plus sign (+): Regexp Operators. (line 101) * plus sign (+), + operator: Precedence. (line 52) @@ -23874,6 +24688,7 @@ Index * plus sign (+), += operator: Assignment Ops. (line 82) * plus sign (+), decrement/increment operators: Increment Ops. (line 11) +* pointers to functions: Indirect Calls. (line 6) * portability: Escape Sequences. (line 94) * portability, #! (executable scripts): Executable Scripts. (line 34) * portability, ** operator and: Arithmetic Ops. (line 81) @@ -23888,7 +24703,7 @@ Index * portability, deleting array elements: Delete. (line 51) * portability, example programs: Library Functions. (line 31) * portability, fflush function and: I/O Functions. (line 29) -* portability, functions, defining: Definition Syntax. (line 92) +* portability, functions, defining: Definition Syntax. (line 94) * portability, gawk: New Ports. (line 6) * portability, gettext library and: Explaining gettext. (line 10) * portability, internationalization and: I18N Portability. (line 6) @@ -23896,16 +24711,16 @@ Index * portability, new awk vs. old awk: Conversion. (line 54) * portability, next statement in user-defined functions: Function Caveats. (line 99) -* portability, NF variable, decrementing: Changing Fields. (line 115) +* portability, NF variable, decrementing: Changing Fields. (line 116) * portability, operators: Increment Ops. (line 61) * portability, operators, not in POSIX awk: Precedence. (line 98) -* portability, POSIXLY_CORRECT environment variable: Options. (line 307) -* portability, substr function: String Functions. (line 457) +* portability, POSIXLY_CORRECT environment variable: Options. (line 308) +* portability, substr function: String Functions. (line 482) * portable object files <1>: Translator i18n. (line 6) * portable object files: Explaining gettext. (line 36) * portable object files, converting to message object files: I18N Example. (line 62) -* portable object files, generating: Options. (line 137) +* portable object files, generating: Options. (line 131) * portal files: Portal Files. (line 6) * porting gawk: New Ports. (line 6) * positional specifiers, printf statement <1>: Printf Ordering. @@ -23933,8 +24748,8 @@ Index * POSIX awk, field separators and <1>: Field Splitting Summary. (line 41) * POSIX awk, field separators and: Fields. (line 6) -* POSIX awk, FS variable and: User-modified. (line 54) -* POSIX awk, function keyword in: Definition Syntax. (line 77) +* POSIX awk, FS variable and: User-modified. (line 66) +* POSIX awk, function keyword in: Definition Syntax. (line 78) * POSIX awk, functions and, gsub/sub: Gory Details. (line 53) * POSIX awk, functions and, length: String Functions. (line 80) * POSIX awk, GNU long options and: Options. (line 15) @@ -23945,25 +24760,25 @@ Index * POSIX awk, OFMT variable and: OFMT. (line 27) * POSIX awk, period (.), using: Regexp Operators. (line 50) * POSIX awk, printf format strings and: Format Modifiers. (line 159) -* POSIX awk, regular expressions and: Regexp Operators. (line 154) +* POSIX awk, regular expressions and: Regexp Operators. (line 156) * POSIX awk, timestamps and: Time Functions. (line 6) * POSIX awk, | I/O operator and: Getline/Pipe. (line 52) -* POSIX mode: Options. (line 183) +* POSIX mode: Options. (line 200) * POSIX, awk and: Preface. (line 22) * POSIX, gawk extensions not included in: POSIX/GNU. (line 6) * POSIX, programs, implementing in awk: Clones. (line 6) -* POSIXLY_CORRECT environment variable: Options. (line 289) +* POSIXLY_CORRECT environment variable: Options. (line 290) * precedence <1>: Precedence. (line 6) * precedence: Increment Ops. (line 61) -* precedence, regexp operators: Regexp Operators. (line 149) +* precedence, regexp operators: Regexp Operators. (line 151) * print statement: Printing. (line 16) * print statement, BEGIN/END patterns and: I/O And BEGIN/END. (line 16) * print statement, commas, omitting: Print Examples. (line 31) * print statement, I/O operators in: Precedence. (line 71) * print statement, line continuations and: Print Examples. (line 76) -* print statement, OFMT variable and: User-modified. (line 111) +* print statement, OFMT variable and: User-modified. (line 123) * print statement, See Also redirection, of output: Redirection. - (line 14) + (line 17) * print statement, sprintf function and: Round Function. (line 6) * printf statement <1>: Printf. (line 6) * printf statement: Printing. (line 16) @@ -23978,21 +24793,20 @@ Index * printf statement, positional specifiers, mixing with regular formats: Printf Ordering. (line 57) * printf statement, See Also redirection, of output: Redirection. - (line 14) + (line 17) * printf statement, sprintf function and: Round Function. (line 6) * printf statement, syntax of: Basic Printf. (line 6) * printing: Printing. (line 6) -* printing, list of options: Options. (line 146) +* printing, list of options: Options. (line 139) * printing, mailing labels: Labels Program. (line 6) * printing, unduplicated lines of text: Uniq Program. (line 6) * printing, user information: Id Program. (line 6) * private variables: Library Names. (line 11) -* process information, files for: Special Process. (line 6) * processes, two-way communications with: Two-way I/O. (line 23) * processing data: Basic High Level. (line 6) * PROCINFO array <1>: Group Functions. (line 6) * PROCINFO array <2>: Passwd Functions. (line 6) -* PROCINFO array <3>: Auto-set. (line 119) +* PROCINFO array <3>: Auto-set. (line 124) * PROCINFO array: Special Caveats. (line 12) * PROCINFO variable: Internals. (line 165) * profiling awk programs: Profiling. (line 6) @@ -24009,7 +24823,7 @@ Index * programming conventions, functions, calling: Calling Built-in. (line 10) * programming conventions, functions, writing: Definition Syntax. - (line 54) + (line 55) * programming conventions, gawk internals: Internal File Ops. (line 33) * programming conventions, nextfile statement: Nextfile Function. (line 20) @@ -24018,12 +24832,12 @@ Index * programming language, recipe for: History. (line 6) * programming languages, data-driven vs. procedural: Getting Started. (line 12) -* programming, basic steps: Basic High Level. (line 19) +* programming, basic steps: Basic High Level. (line 20) * programming, concepts: Basic Concepts. (line 6) * pwcat program: Passwd Functions. (line 23) * QSE Awk: Other Versions. (line 126) * question mark (?) <1>: GNU Regexp Operators. - (line 51) + (line 59) * question mark (?): Regexp Operators. (line 110) * question mark (?), ?: operator: Precedence. (line 92) * QuikTrim Awk: Other Versions. (line 119) @@ -24041,27 +24855,27 @@ Index * random numbers, seed of: Numeric Functions. (line 70) * range expressions: Character Lists. (line 6) * range patterns: Ranges. (line 6) -* Rankin, Pat <1>: Bugs. (line 72) +* Rankin, Pat <1>: Bugs. (line 71) * Rankin, Pat <2>: Contributors. (line 35) * Rankin, Pat <3>: Assignment Ops. (line 100) * Rankin, Pat: Acknowledgments. (line 53) -* raw sockets: TCP/IP Networking. (line 30) +* raw sockets: TCP/IP Networking. (line 36) * readable data files, checking: File Checking. (line 6) * readable.awk program: File Checking. (line 11) * recipe for a programming language: History. (line 6) -* record separators <1>: User-modified. (line 121) +* record separators <1>: User-modified. (line 133) * record separators: Records. (line 14) * record separators, changing: Records. (line 81) * record separators, regular expressions as: Records. (line 112) * record separators, with multiline records: Multiple Line. (line 10) -* records <1>: Basic High Level. (line 71) +* records <1>: Basic High Level. (line 73) * records: Reading Files. (line 14) * records, multiline: Multiple Line. (line 6) * records, printing: Print. (line 22) * records, splitting input into: Records. (line 6) * records, terminating: Records. (line 112) * records, treating files as: Records. (line 191) -* recursive functions: Definition Syntax. (line 72) +* recursive functions: Definition Syntax. (line 73) * redirection of input: Getline/File. (line 6) * redirection of output: Redirection. (line 6) * reference counting, sorting arrays: Array Sorting. (line 79) @@ -24086,7 +24900,7 @@ Index * regular expressions, as patterns <1>: Regexp Patterns. (line 6) * regular expressions, as patterns: Regexp Usage. (line 6) * regular expressions, as record separators: Records. (line 112) -* regular expressions, case sensitivity <1>: User-modified. (line 70) +* regular expressions, case sensitivity <1>: User-modified. (line 82) * regular expressions, case sensitivity: Case-sensitivity. (line 6) * regular expressions, computed: Computed Regexps. (line 6) * regular expressions, constants, See regexp constants: Regexp Usage. @@ -24095,20 +24909,20 @@ Index * regular expressions, dynamic, with embedded newlines: Computed Regexps. (line 59) * regular expressions, gawk, command-line options: GNU Regexp Operators. - (line 62) -* regular expressions, interval expressions and: Options. (line 231) + (line 70) +* regular expressions, interval expressions and: Options. (line 236) * regular expressions, leftmost longest match: Leftmost Longest. (line 6) * regular expressions, operators <1>: Regexp Operators. (line 6) * regular expressions, operators: Regexp Usage. (line 19) * regular expressions, operators, for buffers: GNU Regexp Operators. - (line 40) + (line 48) * regular expressions, operators, for words: GNU Regexp Operators. (line 6) * regular expressions, operators, gawk: GNU Regexp Operators. (line 6) * regular expressions, operators, precedence of: Regexp Operators. - (line 149) + (line 151) * regular expressions, searching for: Egrep Program. (line 6) * relational operators, See comparison operators: Typing and Comparison. (line 9) @@ -24120,15 +24934,15 @@ Index * right angle bracket (>), > operator <1>: Precedence. (line 65) * right angle bracket (>), > operator: Comparison Operators. (line 11) -* right angle bracket (>), > operator (I/O): Redirection. (line 19) +* right angle bracket (>), > operator (I/O): Redirection. (line 22) * right angle bracket (>), >= operator <1>: Precedence. (line 65) * right angle bracket (>), >= operator: Comparison Operators. (line 11) * right angle bracket (>), >> operator (I/O) <1>: Precedence. (line 65) -* right angle bracket (>), >> operator (I/O): Redirection. (line 47) +* right angle bracket (>), >> operator (I/O): Redirection. (line 50) * right shift, bitwise: Bitwise Functions. (line 32) * Ritchie, Dennis: Basic Data Typing. (line 71) -* RLENGTH variable: Auto-set. (line 163) +* RLENGTH variable: Auto-set. (line 169) * RLENGTH variable, match function and: String Functions. (line 129) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 29) @@ -24139,30 +24953,31 @@ Index * Robbins, Arnold: Command Line Field Separator. (line 80) * Robbins, Bill: Getline/Pipe. (line 36) -* Robbins, Harry: Acknowledgments. (line 71) -* Robbins, Jean: Acknowledgments. (line 71) +* Robbins, Harry: Acknowledgments. (line 72) +* Robbins, Jean: Acknowledgments. (line 72) * Robbins, Miriam <1>: Passwd Functions. (line 76) * Robbins, Miriam <2>: Getline/Pipe. (line 36) -* Robbins, Miriam: Acknowledgments. (line 71) +* Robbins, Miriam: Acknowledgments. (line 72) * Robinson, Will: Dynamic Extensions. (line 6) * robot, the: Dynamic Extensions. (line 6) * Rommel, Kai Uwe: Contributors. (line 42) * round user-defined function: Round Function. (line 16) * rounding: Round Function. (line 6) * rounding numbers: Round Function. (line 6) -* RS variable <1>: User-modified. (line 121) +* RS variable <1>: User-modified. (line 133) * RS variable: Records. (line 20) * RS variable, multiline records and: Multiple Line. (line 17) * rshift function (gawk): Bitwise Functions. (line 46) -* RSTART variable: Auto-set. (line 169) +* RSTART variable: Auto-set. (line 175) * RSTART variable, match function and: String Functions. (line 129) -* RT variable <1>: Auto-set. (line 176) +* RT variable <1>: Auto-set. (line 182) * RT variable <2>: Multiple Line. (line 129) * RT variable: Records. (line 112) * Rubin, Paul <1>: Contributors. (line 16) * Rubin, Paul: History. (line 30) * rule, definition of: Getting Started. (line 21) * rvalues/lvalues: Assignment Ops. (line 32) +* sandbox mode: Options. (line 243) * scalar values: Basic Data Typing. (line 13) * Schorr, Andrew: Acknowledgments. (line 53) * Schreiber, Bert: Acknowledgments. (line 35) @@ -24185,16 +25000,17 @@ Index (line 10) * semicolon (;), separating statements in actions: Action Overview. (line 19) -* separators, field: User-modified. (line 45) +* separators, field: User-modified. (line 56) * separators, field, FIELDWIDTHS variable and: User-modified. (line 35) +* separators, field, FPAT variable and: User-modified. (line 45) * separators, field, POSIX and: Fields. (line 6) * separators, for records: Records. (line 14) * separators, for records, regular expressions as: Records. (line 112) * separators, for statements in actions: Action Overview. (line 19) -* separators, record: User-modified. (line 121) -* separators, subscript: User-modified. (line 134) +* separators, record: User-modified. (line 133) +* separators, subscript: User-modified. (line 146) * set_value internal function: Internals. (line 146) -* shells, piping commands into: Redirection. (line 140) +* shells, piping commands into: Redirection. (line 143) * shells, quoting: Using Shell Variables. (line 12) * shells, quoting, rules for: Quoting. (line 18) @@ -24213,7 +25029,7 @@ Index * side effects, conditional expressions: Conditional Exp. (line 22) * side effects, decrement/increment operators: Increment Ops. (line 11) * side effects, FILENAME variable: Getline Notes. (line 19) -* side effects, function calls: Function Calls. (line 49) +* side effects, function calls: Function Calls. (line 54) * side effects, statements: Action Overview. (line 32) * signals, HUP/SIGHUP: Profiling. (line 207) * signals, INT/SIGINT (MS-DOS): Profiling. (line 210) @@ -24230,10 +25046,10 @@ Index * single-precision floating-point: Basic Data Typing. (line 33) * Skywalker, Luke: Undocumented. (line 6) * sleep utility: Alarm Program. (line 102) -* sockets: TCP/IP Networking. (line 30) +* sockets: TCP/IP Networking. (line 36) * Solaris, POSIX compliant awk: Other Versions. (line 101) * sort function, arrays, sorting: Array Sorting. (line 6) -* sort utility: Word Sorting. (line 54) +* sort utility: Word Sorting. (line 56) * sort utility, coprocesses and: Two-way I/O. (line 84) * sorting characters in different languages: Explaining gettext. (line 89) @@ -24241,23 +25057,23 @@ Index * source code, Bell Laboratories awk: Other Versions. (line 13) * source code, gawk: Gawk Distribution. (line 6) * source code, mawk: Other Versions. (line 34) -* source code, mixing: Options. (line 238) +* source code, mixing: Options. (line 104) * source files, search path for: Igawk Program. (line 358) -* sparse arrays: Array Intro. (line 71) +* sparse arrays: Array Intro. (line 72) * Spencer, Henry: Glossary. (line 12) -* split function: String Functions. (line 200) +* split function: String Functions. (line 215) * split function, array elements, deleting: Delete. (line 56) * split utility: Split Program. (line 6) * split.awk program: Split Program. (line 30) -* sprintf function <1>: String Functions. (line 253) +* sprintf function <1>: String Functions. (line 278) * sprintf function: OFMT. (line 15) -* sprintf function, OFMT variable and: User-modified. (line 111) +* sprintf function, OFMT variable and: User-modified. (line 123) * sprintf function, print/printf statements and: Round Function. (line 6) * sqrt function: Numeric Functions. (line 18) * square brackets ([]): Regexp Operators. (line 55) * srand function: Numeric Functions. (line 80) -* Stallman, Richard <1>: Glossary. (line 283) +* Stallman, Richard <1>: Glossary. (line 286) * Stallman, Richard <2>: Contributors. (line 24) * Stallman, Richard <3>: Acknowledgments. (line 18) * Stallman, Richard: Manual History. (line 6) @@ -24293,27 +25109,27 @@ Index * strings, null: Regexp Field Splitting. (line 43) * strings, numeric: Variable Typing. (line 6) -* strings, splitting: String Functions. (line 214) -* strtonum function (gawk): String Functions. (line 261) +* strings, splitting: String Functions. (line 234) +* strtonum function (gawk): String Functions. (line 286) * strtonum function (gawk), --non-decimal-data option and: Nondecimal Data. (line 36) -* sub function <1>: String Functions. (line 282) +* sub function <1>: String Functions. (line 307) * sub function: Using Constant Regexps. (line 44) -* sub function, arguments of: String Functions. (line 339) +* sub function, arguments of: String Functions. (line 364) * sub function, escape processing: Gory Details. (line 6) -* subscript separators: User-modified. (line 134) -* subscripts in arrays, multidimensional: Multi-dimensional. (line 6) +* subscript separators: User-modified. (line 146) +* subscripts in arrays, multidimensional: Multi-dimensional. (line 10) * subscripts in arrays, multidimensional, scanning: Multi-scanning. (line 11) * subscripts in arrays, numbers as: Numeric Array Subscripts. (line 6) * subscripts in arrays, uninitialized variables as: Uninitialized Subscripts. (line 6) -* SUBSEP variable: User-modified. (line 134) +* SUBSEP variable: User-modified. (line 146) * SUBSEP variable, multidimensional arrays: Multi-dimensional. - (line 12) -* substr function: String Functions. (line 426) + (line 16) +* substr function: String Functions. (line 451) * Sumner, Andrew: Other Versions. (line 81) * switch statement: Switch Statement. (line 6) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. @@ -24343,7 +25159,7 @@ Index * text, printing, unduplicated lines of: Uniq Program. (line 6) * textdomain function (C library): Explaining gettext. (line 27) * TEXTDOMAIN variable <1>: Programmer i18n. (line 9) -* TEXTDOMAIN variable: User-modified. (line 140) +* TEXTDOMAIN variable: User-modified. (line 152) * TEXTDOMAIN variable, BEGIN pattern and: Programmer i18n. (line 58) * TEXTDOMAIN variable, portability and: I18N Portability. (line 20) * tilde (~), ~ operator <1>: Expression Patterns. (line 24) @@ -24365,11 +25181,11 @@ Index (line 6) * tmp_number internal function: Internals. (line 92) * tmp_string internal function: Internals. (line 87) -* tolower function: String Functions. (line 468) -* toupper function: String Functions. (line 474) +* tolower function: String Functions. (line 493) +* toupper function: String Functions. (line 499) * tr utility: Translate Program. (line 6) * translate.awk program: Translate Program. (line 55) -* troubleshooting, --non-decimal-data option: Options. (line 178) +* troubleshooting, --non-decimal-data option: Options. (line 171) * troubleshooting, -F option: Known Bugs. (line 6) * troubleshooting, == operator: Comparison Operators. (line 37) @@ -24389,20 +25205,20 @@ Index * troubleshooting, gawk, fatal errors, function arguments: Calling Built-in. (line 16) * troubleshooting, getline function: File Checking. (line 24) -* troubleshooting, gsub/sub functions: String Functions. (line 349) +* troubleshooting, gsub/sub functions: String Functions. (line 374) * troubleshooting, match function: String Functions. (line 195) * troubleshooting, print statement, omitting commas: Print Examples. (line 31) -* troubleshooting, printing: Redirection. (line 115) +* troubleshooting, printing: Redirection. (line 118) * troubleshooting, quotes with file names: Special FD. (line 63) * troubleshooting, readable data files: File Checking. (line 6) * troubleshooting, regexp constants vs. string constants: Computed Regexps. (line 38) * troubleshooting, string concatenation: Concatenation. (line 27) -* troubleshooting, substr function: String Functions. (line 444) +* troubleshooting, substr function: String Functions. (line 469) * troubleshooting, system function: I/O Functions. (line 88) * troubleshooting, typographical errors, global variables: Options. - (line 108) + (line 94) * true, logical: Truth Values. (line 6) * Trueman, David <1>: Contributors. (line 31) * Trueman, David <2>: Acknowledgments. (line 44) @@ -24421,7 +25237,7 @@ Index (line 6) * uniq utility: Uniq Program. (line 6) * uniq.awk program: Uniq Program. (line 65) -* Unix: Glossary. (line 581) +* Unix: Glossary. (line 582) * Unix awk, backslashes in escape sequences: Escape Sequences. (line 125) * Unix awk, close function and: Close Files And Pipes. @@ -24448,7 +25264,7 @@ Index * variables: Other Features. (line 6) * variables, assigning on command line: Assignment Options. (line 6) * variables, built-in <1>: Built-in Variables. (line 6) -* variables, built-in: Using Variables. (line 17) +* variables, built-in: Using Variables. (line 18) * variables, built-in, -v option, setting with: Options. (line 38) * variables, built-in, conveying information: Auto-set. (line 6) * variables, flag: Boolean Ops. (line 67) @@ -24460,12 +25276,12 @@ Index (line 6) * variables, getline command into, using: Getline/Variable. (line 6) * variables, global, for library functions: Library Names. (line 11) -* variables, global, printing list of: Options. (line 102) -* variables, initializing: Using Variables. (line 17) +* variables, global, printing list of: Options. (line 90) +* variables, initializing: Using Variables. (line 18) * variables, names of: Arrays. (line 17) * variables, private: Library Names. (line 11) * variables, setting: Options. (line 30) -* variables, shadowing: Definition Syntax. (line 60) +* variables, shadowing: Definition Syntax. (line 61) * variables, types of: Assignment Ops. (line 40) * variables, types of, comparison expressions and: Typing and Comparison. (line 9) @@ -24488,7 +25304,7 @@ Index * Wall, Larry <1>: Future Extensions. (line 6) * Wall, Larry: Array Intro. (line 6) * Wallin, Anders: Acknowledgments. (line 53) -* warnings, issuing: Options. (line 151) +* warnings, issuing: Options. (line 144) * wc utility: Wc Program. (line 6) * wc.awk program: Wc Program. (line 45) * Weinberger, Peter <1>: Contributors. (line 12) @@ -24497,19 +25313,17 @@ Index * while statement: Regexp Usage. (line 19) * whitespace, as field separators: Field Separators. (line 63) * whitespace, functions, calling: Calling Built-in. (line 10) -* whitespace, newlines as: Options. (line 190) -* Wildenhues, Ralf <1>: Bugs. (line 71) -* Wildenhues, Ralf: Contributors. (line 72) +* whitespace, newlines as: Options. (line 207) * Williams, Kent: Contributors. (line 37) * Woehlke, Matthew: Contributors. (line 72) * Woods, John: Contributors. (line 28) * word boundaries, matching: GNU Regexp Operators. - (line 30) + (line 38) * word, regexp definition of: GNU Regexp Operators. (line 6) * word-boundary operator (gawk): GNU Regexp Operators. - (line 55) -* wordfreq.awk program: Word Sorting. (line 60) + (line 63) +* wordfreq.awk program: Word Sorting. (line 62) * words, counting: Wc Program. (line 6) * words, duplicate, searching for: Dupword Program. (line 6) * words, usage counts, generating: Word Sorting. (line 6) @@ -24527,11 +25341,11 @@ Index * {} (braces), statements, grouping: Statements. (line 10) * | (vertical bar): Regexp Operators. (line 68) * | (vertical bar), | operator (I/O) <1>: Precedence. (line 65) -* | (vertical bar), | operator (I/O) <2>: Redirection. (line 54) +* | (vertical bar), | operator (I/O) <2>: Redirection. (line 57) * | (vertical bar), | operator (I/O): Getline/Pipe. (line 6) * | (vertical bar), |& operator (I/O) <1>: Two-way I/O. (line 44) * | (vertical bar), |& operator (I/O) <2>: Precedence. (line 65) -* | (vertical bar), |& operator (I/O) <3>: Redirection. (line 99) +* | (vertical bar), |& operator (I/O) <3>: Redirection. (line 102) * | (vertical bar), |& operator (I/O): Getline/Coprocess. (line 6) * | (vertical bar), |& operator (I/O), pipes, closing: Close Files And Pipes. (line 117) @@ -24551,366 +25365,379 @@ Index Tag Table: Node: Top1340 -Node: Foreword27566 -Node: Preface31887 -Ref: Preface-Footnote-134756 -Node: History34988 -Node: Names37204 -Ref: Names-Footnote-138676 -Node: This Manual38748 -Ref: This Manual-Footnote-143503 -Node: Conventions43603 -Node: Manual History45477 -Ref: Manual History-Footnote-148930 -Ref: Manual History-Footnote-248971 -Node: How To Contribute49045 -Node: Acknowledgments50189 -Node: Getting Started54049 -Node: Running gawk56421 -Node: One-shot57607 -Node: Read Terminal58832 -Ref: Read Terminal-Footnote-160490 -Node: Long60661 -Node: Executable Scripts62037 -Ref: Executable Scripts-Footnote-163933 -Ref: Executable Scripts-Footnote-264084 -Node: Comments64535 -Node: Quoting66903 -Node: DOS Quoting71483 -Node: Sample Data Files72155 -Node: Very Simple75187 -Node: Two Rules79792 -Node: More Complex81939 -Ref: More Complex-Footnote-184862 -Ref: More Complex-Footnote-285310 -Node: Statements/Lines85393 -Ref: Statements/Lines-Footnote-189775 -Node: Other Features90040 -Node: When90892 -Node: Regexp93148 -Node: Regexp Usage94602 -Node: Escape Sequences96654 -Node: Regexp Operators102393 -Ref: Regexp Operators-Footnote-1109500 -Ref: Regexp Operators-Footnote-2109647 -Node: Character Lists109745 -Ref: table-char-classes111702 -Node: GNU Regexp Operators114327 -Node: Case-sensitivity117971 -Ref: Case-sensitivity-Footnote-1121144 -Node: Leftmost Longest121379 -Node: Computed Regexps122570 -Node: Locales125951 -Node: Reading Files128217 -Node: Records129974 -Ref: Records-Footnote-1138532 -Node: Fields138569 -Ref: Fields-Footnote-1141599 -Node: Nonconstant Fields141685 -Node: Changing Fields143887 -Node: Field Separators149168 -Node: Regexp Field Splitting152659 -Node: Single Character Fields156212 -Node: Command Line Field Separator157263 -Node: Field Splitting Summary160702 -Ref: Field Splitting Summary-Footnote-1163888 -Node: Constant Size163989 -Node: Multiple Line168466 -Ref: Multiple Line-Footnote-1174197 -Node: Getline174376 -Node: Plain Getline176444 -Node: Getline/Variable178531 -Node: Getline/File179672 -Node: Getline/Variable/File180996 -Ref: Getline/Variable/File-Footnote-1182593 -Node: Getline/Pipe182680 -Node: Getline/Variable/Pipe185277 -Node: Getline/Coprocess186384 -Node: Getline/Variable/Coprocess187627 -Node: Getline Notes188341 -Node: Getline Summary189984 -Ref: table-getline-variants190268 -Node: Printing190834 -Node: Print192463 -Node: Print Examples193789 -Node: Output Separators196584 -Node: OFMT198345 -Node: Printf199700 -Node: Basic Printf200619 -Node: Control Letters202154 -Node: Format Modifiers206037 -Node: Printf Examples212047 -Node: Redirection214764 -Node: Special Files221661 -Node: Special FD222295 -Node: Special Process225321 -Node: Special Network227556 -Node: Special Caveats228398 -Ref: Special Caveats-Footnote-1229596 -Node: Close Files And Pipes229979 -Ref: Close Files And Pipes-Footnote-1236900 -Ref: Close Files And Pipes-Footnote-2237048 -Node: Expressions237196 -Node: Constants239385 -Node: Scalar Constants240066 -Ref: Scalar Constants-Footnote-1240921 -Node: Nondecimal-numbers241103 -Node: Regexp Constants244161 -Node: Using Constant Regexps244634 -Node: Variables247717 -Node: Using Variables248373 -Node: Assignment Options249883 -Node: Conversion251760 -Ref: table-locale-affects257191 -Ref: Conversion-Footnote-1257815 -Node: Arithmetic Ops257924 -Node: Concatenation260436 -Ref: Concatenation-Footnote-1263218 -Node: Assignment Ops263309 -Ref: table-assign-ops268287 -Node: Increment Ops269688 -Node: Truth Values273181 -Node: Typing and Comparison274231 -Node: Variable Typing274934 -Ref: Variable Typing-Footnote-1278620 -Node: Comparison Operators278764 -Ref: table-relational-ops279140 -Node: Boolean Ops282689 -Ref: Boolean Ops-Footnote-1286749 -Node: Conditional Exp286840 -Node: Function Calls288577 -Node: Precedence291859 -Node: Patterns and Actions295511 -Node: Pattern Overview296565 -Node: Regexp Patterns298002 -Node: Expression Patterns298545 -Node: Ranges302095 -Node: BEGIN/END305184 -Node: Using BEGIN/END305934 -Ref: Using BEGIN/END-Footnote-1308666 -Node: I/O And BEGIN/END308780 -Node: Empty311047 -Node: Using Shell Variables311355 -Node: Action Overview313636 -Node: Statements315994 -Node: If Statement317850 -Node: While Statement319349 -Node: Do Statement321381 -Node: For Statement322530 -Node: Switch Statement325670 -Node: Break Statement327946 -Node: Continue Statement330003 -Node: Next Statement331907 -Node: Nextfile Statement334187 -Node: Exit Statement336784 -Node: Built-in Variables339055 -Node: User-modified340150 -Ref: User-modified-Footnote-1347515 -Node: Auto-set347577 -Ref: Auto-set-Footnote-1355917 -Node: ARGC and ARGV356122 -Node: Arrays359834 -Node: Array Intro361742 -Node: Reference to Elements366076 -Node: Assigning Elements367965 -Node: Array Example368446 -Node: Scanning an Array370168 -Node: Delete372448 -Ref: Delete-Footnote-1374841 -Node: Numeric Array Subscripts374898 -Node: Uninitialized Subscripts377085 -Node: Multi-dimensional378691 -Node: Multi-scanning381704 -Node: Array Sorting383319 -Node: Functions386982 -Node: Built-in387717 -Node: Calling Built-in388687 -Node: Numeric Functions390654 -Ref: Numeric Functions-Footnote-1394396 -Ref: Numeric Functions-Footnote-2394722 -Node: String Functions394991 -Ref: String Functions-Footnote-1415372 -Ref: String Functions-Footnote-2415501 -Ref: String Functions-Footnote-3415749 -Node: Gory Details415836 -Ref: table-sub-escapes417471 -Ref: table-sub-posix-92418806 -Ref: table-sub-proposed420145 -Ref: table-posix-2001-sub421497 -Ref: table-gensub-escapes422834 -Ref: Gory Details-Footnote-1424020 -Node: I/O Functions424071 -Ref: I/O Functions-Footnote-1430722 -Node: Time Functions430813 -Ref: Time Functions-Footnote-1441605 -Ref: Time Functions-Footnote-2441673 -Ref: Time Functions-Footnote-3441831 -Ref: Time Functions-Footnote-4441942 -Ref: Time Functions-Footnote-5442067 -Ref: Time Functions-Footnote-6442294 -Node: Bitwise Functions442556 -Ref: table-bitwise-ops443134 -Ref: Bitwise Functions-Footnote-1447368 -Node: I18N Functions447552 -Node: User-defined449273 -Node: Definition Syntax450054 -Node: Function Example454630 -Node: Function Caveats457210 -Node: Return Statement461135 -Node: Dynamic Typing463792 -Node: Internationalization464529 -Node: I18N and L10N465948 -Node: Explaining gettext466632 -Ref: Explaining gettext-Footnote-1471539 -Ref: Explaining gettext-Footnote-2471778 -Node: Programmer i18n471947 -Node: Translator i18n476170 -Node: String Extraction476960 -Ref: String Extraction-Footnote-1477910 -Node: Printf Ordering478036 -Ref: Printf Ordering-Footnote-1480814 -Node: I18N Portability480878 -Ref: I18N Portability-Footnote-1483306 -Node: I18N Example483369 -Ref: I18N Example-Footnote-1485981 -Node: Gawk I18N486053 -Node: Advanced Features486631 -Node: Nondecimal Data488030 -Node: Two-way I/O489589 -Ref: Two-way I/O-Footnote-1495070 -Node: TCP/IP Networking495147 -Node: Portal Files497702 -Node: Profiling498346 -Node: Invoking Gawk505802 -Node: Command Line507036 -Node: Options507821 -Ref: Options-Footnote-1520899 -Node: Other Arguments520924 -Node: AWKPATH Variable523605 -Ref: AWKPATH Variable-Footnote-1526377 -Node: Exit Status526637 -Node: Obsolete527300 -Node: Undocumented528299 -Node: Known Bugs528564 -Node: Library Functions529166 -Ref: Library Functions-Footnote-1532147 -Node: Library Names532318 -Ref: Library Names-Footnote-1535791 -Ref: Library Names-Footnote-2536010 -Node: General Functions536096 -Node: Nextfile Function537155 -Node: Strtonum Function541519 -Node: Assert Function544454 -Node: Round Function547758 -Node: Cliff Random Function549291 -Node: Ordinal Functions550304 -Ref: Ordinal Functions-Footnote-1553364 -Node: Join Function553580 -Ref: Join Function-Footnote-1555340 -Node: Gettimeofday Function555540 -Node: Data File Management559243 -Node: Filetrans Function559875 -Node: Rewind Function563301 -Node: File Checking564747 -Node: Empty Files565777 -Node: Ignoring Assigns568002 -Node: Getopt Function569550 -Ref: Getopt Function-Footnote-1580828 -Node: Passwd Functions581029 -Ref: Passwd Functions-Footnote-1589690 -Node: Group Functions589778 -Node: Sample Programs597776 -Node: Running Examples598453 -Node: Clones599181 -Node: Cut Program600313 -Node: Egrep Program610070 -Ref: Egrep Program-Footnote-1617820 -Node: Id Program617930 -Node: Split Program621537 -Node: Tee Program625001 -Node: Uniq Program627678 -Node: Wc Program635046 -Ref: Wc Program-Footnote-1639290 -Node: Miscellaneous Programs639486 -Node: Dupword Program640606 -Node: Alarm Program642637 -Node: Translate Program647177 -Ref: Translate Program-Footnote-1651545 -Ref: Translate Program-Footnote-2651782 -Node: Labels Program651916 -Ref: Labels Program-Footnote-1655207 -Node: Word Sorting655291 -Node: History Sorting659572 -Node: Extract Program661410 -Node: Simple Sed668762 -Node: Igawk Program671817 -Ref: Igawk Program-Footnote-1686548 -Ref: Igawk Program-Footnote-2686749 -Node: Signature Program686887 -Node: Language History687967 -Node: V7/SVR3.1689351 -Node: SVR4691624 -Node: POSIX693063 -Node: BTL694671 -Node: POSIX/GNU696350 -Node: Contributors704265 -Node: Installation707906 -Node: Gawk Distribution708877 -Node: Getting709361 -Node: Extracting710187 -Node: Distribution contents711575 -Node: Unix Installation716656 -Node: Quick Installation717247 -Node: Additional Configuration Options718949 -Node: Configuration Philosophy721121 -Node: Non-Unix Installation723485 -Node: PC Installation723950 -Node: PC Binary Installation725224 -Node: PC Compiling727067 -Node: PC Dynamic731563 -Node: PC Using733924 -Node: Cygwin738474 -Node: MSYS739470 -Node: VMS Installation739976 -Node: VMS Compilation740580 -Node: VMS Installation Details742157 -Node: VMS Running743787 -Node: VMS POSIX745384 -Node: VMS Old Gawk746682 -Node: Unsupported747151 -Node: Atari Installation747613 -Node: Atari Compiling748900 -Node: Atari Using750785 -Node: BeOS Installation753630 -Node: Tandem Installation754777 -Node: Bugs756456 -Node: Other Versions760349 -Node: Notes765567 -Node: Compatibility Mode766259 -Node: Additions767053 -Node: Adding Code767803 -Node: New Ports773853 -Node: Dynamic Extensions777985 -Node: Internals779242 -Node: Sample Library790245 -Node: Internal File Description790904 -Node: Internal File Ops794597 -Ref: Internal File Ops-Footnote-1799923 -Node: Using Internal File Ops800071 -Node: Future Extensions802094 -Node: Basic Concepts806047 -Node: Basic High Level806804 -Ref: Basic High Level-Footnote-1810836 -Node: Basic Data Typing811030 -Node: Floating Point Issues815467 -Node: String Conversion Precision816560 -Ref: String Conversion Precision-Footnote-1818254 -Node: Unexpected Results818363 -Node: POSIX Floating Point Problems820189 -Ref: POSIX Floating Point Problems-Footnote-1823663 -Node: Glossary823701 -Node: Copying847401 -Node: GNU Free Documentation License884958 -Node: Index910095 +Node: Foreword28547 +Node: Preface32868 +Ref: Preface-Footnote-135737 +Node: History35969 +Node: Names38185 +Ref: Names-Footnote-139657 +Node: This Manual39729 +Ref: This Manual-Footnote-144484 +Node: Conventions44584 +Node: Manual History46458 +Ref: Manual History-Footnote-149911 +Ref: Manual History-Footnote-249952 +Node: How To Contribute50026 +Node: Acknowledgments51170 +Node: Getting Started55048 +Node: Running gawk57420 +Node: One-shot58606 +Node: Read Terminal59831 +Ref: Read Terminal-Footnote-161492 +Ref: Read Terminal-Footnote-261768 +Node: Long61939 +Node: Executable Scripts63315 +Ref: Executable Scripts-Footnote-165211 +Ref: Executable Scripts-Footnote-265362 +Node: Comments65813 +Node: Quoting68181 +Node: DOS Quoting72758 +Node: Sample Data Files73430 +Node: Very Simple76462 +Node: Two Rules81067 +Node: More Complex83214 +Ref: More Complex-Footnote-186137 +Ref: More Complex-Footnote-286585 +Node: Statements/Lines86668 +Ref: Statements/Lines-Footnote-191050 +Node: Other Features91315 +Node: When92167 +Node: Regexp94423 +Node: Regexp Usage95877 +Node: Escape Sequences97929 +Node: Regexp Operators103668 +Ref: Regexp Operators-Footnote-1110877 +Ref: Regexp Operators-Footnote-2111024 +Node: Character Lists111122 +Ref: table-char-classes113079 +Node: GNU Regexp Operators115704 +Node: Case-sensitivity119434 +Ref: Case-sensitivity-Footnote-1122607 +Node: Leftmost Longest122842 +Node: Computed Regexps124033 +Node: Locales127414 +Node: Reading Files129680 +Node: Records131692 +Ref: Records-Footnote-1140250 +Node: Fields140287 +Ref: Fields-Footnote-1143317 +Node: Nonconstant Fields143403 +Node: Changing Fields145605 +Node: Field Separators150926 +Node: Regexp Field Splitting154417 +Node: Single Character Fields157970 +Node: Command Line Field Separator159021 +Node: Field Splitting Summary162460 +Ref: Field Splitting Summary-Footnote-1165646 +Node: Constant Size165747 +Node: Splitting By Content170231 +Ref: Splitting By Content-Footnote-1173460 +Node: Multiple Line173500 +Ref: Multiple Line-Footnote-1179238 +Node: Getline179417 +Node: Plain Getline181620 +Node: Getline/Variable183707 +Node: Getline/File184848 +Node: Getline/Variable/File186172 +Ref: Getline/Variable/File-Footnote-1187769 +Node: Getline/Pipe187856 +Node: Getline/Variable/Pipe190453 +Node: Getline/Coprocess191560 +Node: Getline/Variable/Coprocess192803 +Node: Getline Notes193517 +Node: Getline Summary195160 +Ref: table-getline-variants195444 +Node: BEGINFILE/ENDFILE196010 +Node: Command line directories198848 +Node: Printing199525 +Node: Print201154 +Node: Print Examples202480 +Node: Output Separators205275 +Node: OFMT207036 +Node: Printf208391 +Node: Basic Printf209310 +Node: Control Letters210845 +Node: Format Modifiers214728 +Node: Printf Examples220738 +Node: Redirection223455 +Node: Special Files230451 +Node: Special FD231014 +Node: Special Network234207 +Node: Special Caveats235062 +Ref: Special Caveats-Footnote-1236260 +Node: Close Files And Pipes236643 +Ref: Close Files And Pipes-Footnote-1243564 +Ref: Close Files And Pipes-Footnote-2243712 +Node: Expressions243860 +Node: Values244929 +Node: Constants245601 +Node: Scalar Constants246281 +Ref: Scalar Constants-Footnote-1247140 +Node: Nondecimal-numbers247322 +Node: Regexp Constants250384 +Node: Using Constant Regexps250859 +Node: Variables253941 +Node: Using Variables254596 +Node: Assignment Options256170 +Node: Conversion258051 +Ref: table-locale-affects263458 +Ref: Conversion-Footnote-1264082 +Node: All Operators264191 +Node: Arithmetic Ops264821 +Node: Concatenation267320 +Ref: Concatenation-Footnote-1270108 +Node: Assignment Ops270199 +Ref: table-assign-ops275183 +Node: Increment Ops276584 +Node: Truth Values and Conditions280062 +Node: Truth Values281145 +Node: Typing and Comparison282193 +Node: Variable Typing282914 +Ref: Variable Typing-Footnote-1286602 +Node: Comparison Operators286746 +Ref: table-relational-ops287124 +Node: Boolean Ops290673 +Ref: Boolean Ops-Footnote-1294751 +Node: Conditional Exp294842 +Node: Function Calls296574 +Node: Precedence300125 +Node: Patterns and Actions303775 +Node: Pattern Overview304829 +Node: Regexp Patterns306266 +Node: Expression Patterns306809 +Node: Ranges310359 +Node: BEGIN/END313448 +Node: Using BEGIN/END314198 +Ref: Using BEGIN/END-Footnote-1316930 +Node: I/O And BEGIN/END317044 +Node: Empty319311 +Node: Using Shell Variables319619 +Node: Action Overview321900 +Node: Statements324258 +Node: If Statement326114 +Node: While Statement327613 +Node: Do Statement329645 +Node: For Statement330794 +Node: Switch Statement333934 +Node: Break Statement335982 +Node: Continue Statement338039 +Node: Next Statement339943 +Node: Nextfile Statement342223 +Node: Exit Statement344939 +Node: Built-in Variables347210 +Node: User-modified348305 +Ref: User-modified-Footnote-1356230 +Node: Auto-set356292 +Ref: Auto-set-Footnote-1364980 +Node: ARGC and ARGV365185 +Node: Arrays368946 +Node: Array Basics370393 +Node: Array Intro371104 +Node: Reference to Elements375490 +Node: Assigning Elements377389 +Node: Array Example377880 +Node: Scanning an Array379612 +Node: Delete381887 +Ref: Delete-Footnote-1384275 +Node: Numeric Array Subscripts384332 +Node: Uninitialized Subscripts386519 +Node: Multi-dimensional388125 +Node: Multi-scanning391216 +Node: Array Sorting392796 +Node: Functions396578 +Node: Built-in397387 +Node: Calling Built-in398357 +Node: Numeric Functions400324 +Ref: Numeric Functions-Footnote-1404066 +Ref: Numeric Functions-Footnote-2404392 +Node: String Functions404661 +Ref: String Functions-Footnote-1426447 +Ref: String Functions-Footnote-2426576 +Ref: String Functions-Footnote-3426824 +Node: Gory Details426911 +Ref: table-sub-escapes428546 +Ref: table-sub-posix-92429881 +Ref: table-sub-proposed431220 +Ref: table-posix-2001-sub432572 +Ref: table-gensub-escapes433841 +Ref: Gory Details-Footnote-1435027 +Node: I/O Functions435078 +Ref: I/O Functions-Footnote-1441823 +Node: Time Functions441914 +Ref: Time Functions-Footnote-1452704 +Ref: Time Functions-Footnote-2452772 +Ref: Time Functions-Footnote-3452930 +Ref: Time Functions-Footnote-4453041 +Ref: Time Functions-Footnote-5453166 +Ref: Time Functions-Footnote-6453393 +Node: Bitwise Functions453655 +Ref: table-bitwise-ops454233 +Ref: Bitwise Functions-Footnote-1458467 +Node: I18N Functions458651 +Node: User-defined460372 +Node: Definition Syntax461176 +Node: Function Example465874 +Node: Function Caveats468454 +Node: Return Statement472379 +Node: Dynamic Typing475036 +Node: Indirect Calls475773 +Node: Internationalization485408 +Node: I18N and L10N486827 +Node: Explaining gettext487511 +Ref: Explaining gettext-Footnote-1492418 +Ref: Explaining gettext-Footnote-2492657 +Node: Programmer i18n492826 +Node: Translator i18n497049 +Node: String Extraction497840 +Ref: String Extraction-Footnote-1498793 +Node: Printf Ordering498919 +Ref: Printf Ordering-Footnote-1501697 +Node: I18N Portability501761 +Ref: I18N Portability-Footnote-1504189 +Node: I18N Example504252 +Ref: I18N Example-Footnote-1506866 +Node: Gawk I18N506938 +Node: Advanced Features507516 +Node: Nondecimal Data508915 +Node: Two-way I/O510474 +Ref: Two-way I/O-Footnote-1515955 +Node: TCP/IP Networking516032 +Node: Portal Files518825 +Node: Profiling519469 +Node: Invoking Gawk526925 +Node: Command Line528159 +Node: Options528944 +Ref: Options-Footnote-1542064 +Node: Other Arguments542089 +Node: AWKPATH Variable544770 +Ref: AWKPATH Variable-Footnote-1547545 +Node: Exit Status547805 +Node: Obsolete548472 +Node: Undocumented549271 +Node: Known Bugs549533 +Node: Library Functions550135 +Ref: Library Functions-Footnote-1553116 +Node: Library Names553287 +Ref: Library Names-Footnote-1556760 +Ref: Library Names-Footnote-2556979 +Node: General Functions557065 +Node: Nextfile Function558124 +Node: Strtonum Function562488 +Node: Assert Function565423 +Node: Round Function568727 +Node: Cliff Random Function570260 +Node: Ordinal Functions571273 +Ref: Ordinal Functions-Footnote-1574333 +Node: Join Function574549 +Ref: Join Function-Footnote-1576309 +Node: Gettimeofday Function576509 +Node: Data File Management580212 +Node: Filetrans Function580844 +Node: Rewind Function584270 +Node: File Checking585716 +Node: Empty Files586746 +Node: Ignoring Assigns588971 +Node: Getopt Function590519 +Ref: Getopt Function-Footnote-1601797 +Node: Passwd Functions601998 +Ref: Passwd Functions-Footnote-1610978 +Node: Group Functions611066 +Node: Sample Programs619163 +Node: Running Examples619840 +Node: Clones620568 +Node: Cut Program621700 +Node: Egrep Program631457 +Ref: Egrep Program-Footnote-1639207 +Node: Id Program639317 +Node: Split Program642924 +Node: Tee Program646388 +Node: Uniq Program649131 +Node: Wc Program656499 +Ref: Wc Program-Footnote-1660743 +Node: Miscellaneous Programs660939 +Node: Dupword Program662059 +Node: Alarm Program664090 +Node: Translate Program668630 +Ref: Translate Program-Footnote-1672998 +Ref: Translate Program-Footnote-2673235 +Node: Labels Program673369 +Ref: Labels Program-Footnote-1676660 +Node: Word Sorting676744 +Node: History Sorting681087 +Node: Extract Program682925 +Node: Simple Sed690277 +Node: Igawk Program693332 +Ref: Igawk Program-Footnote-1708063 +Ref: Igawk Program-Footnote-2708264 +Node: Signature Program708402 +Node: Language History709482 +Node: V7/SVR3.1710866 +Node: SVR4713139 +Node: POSIX714578 +Node: BTL716186 +Node: POSIX/GNU717865 +Node: Contributors727081 +Node: Installation730680 +Node: Gawk Distribution731651 +Node: Getting732135 +Node: Extracting732961 +Node: Distribution contents734349 +Node: Unix Installation739430 +Node: Quick Installation740021 +Node: Additional Configuration Options741723 +Node: Configuration Philosophy743641 +Node: Non-Unix Installation746005 +Node: PC Installation746470 +Node: PC Binary Installation747776 +Node: PC Compiling749619 +Node: PC Dynamic754124 +Node: PC Using756485 +Node: Cygwin761035 +Node: MSYS762031 +Node: VMS Installation762537 +Node: VMS Compilation763141 +Node: VMS Installation Details764718 +Node: VMS Running766348 +Node: VMS POSIX767945 +Node: VMS Old Gawk769243 +Node: Unsupported769712 +Node: Atari Installation770174 +Node: Atari Compiling771461 +Node: Atari Using773346 +Node: BeOS Installation776191 +Node: Tandem Installation777338 +Node: Bugs779017 +Node: Other Versions782849 +Node: Notes788067 +Node: Compatibility Mode788759 +Node: Additions789553 +Node: Adding Code790303 +Node: New Ports796353 +Node: Dynamic Extensions800485 +Node: Internals801810 +Node: Sample Library812813 +Node: Internal File Description813472 +Node: Internal File Ops817165 +Ref: Internal File Ops-Footnote-1822491 +Node: Using Internal File Ops822639 +Node: Future Extensions824662 +Node: Basic Concepts828699 +Node: Basic High Level829456 +Ref: Basic High Level-Footnote-1833572 +Node: Basic Data Typing833766 +Node: Floating Point Issues838203 +Node: String Conversion Precision839286 +Ref: String Conversion Precision-Footnote-1840980 +Node: Unexpected Results841089 +Node: POSIX Floating Point Problems842915 +Ref: POSIX Floating Point Problems-Footnote-1846389 +Node: Glossary846427 +Node: Copying870183 +Node: GNU Free Documentation License907740 +Node: next-edition932884 +Node: unresolved933236 +Node: revision933736 +Node: consistency934159 +Node: Index937512 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 5da5fe08..329718e7 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -291,6 +291,7 @@ particular records in a file and perform operations upon them. * Copying:: Your right to copy and distribute @command{gawk}. * GNU Free Documentation License:: The license for this @value{DOCUMENT}. +* next-edition:: next-edition. * Index:: Concept and Variable Index. @detailmenu @@ -349,6 +350,7 @@ particular records in a file and perform operations upon them. * Command Line Field Separator:: Setting @code{FS} from the command-line. * Field Splitting Summary:: Some final points and a summary table. * Constant Size:: Reading constant width data. +* Splitting By Content:: Defining Fields By Content * Multiple Line:: Reading multi-line records. * Getline:: Reading files under explicit program control using the @code{getline} function. @@ -366,6 +368,9 @@ particular records in a file and perform operations upon them. * Getline Notes:: Important things to know about @code{getline}. * Getline Summary:: Summary of @code{getline} Variants. +* BEGINFILE/ENDFILE:: Two special patterns for advanced control. +* Command line directories:: What happens if you put a directory on the + command line. * Print:: The @code{print} statement. * Print Examples:: Simple examples of @code{print} statements. * Output Separators:: The output separators and how to change @@ -383,10 +388,11 @@ particular records in a file and perform operations upon them. @command{gawk} allows access to inherited file descriptors. * Special FD:: Special files for I/O. -* Special Process:: Special files for process information. * Special Network:: Special files for network communications. * Special Caveats:: Things to watch out for. * Close Files And Pipes:: Closing Input and Output Files and Pipes. +* Values:: Constants, Variables, and Regular + Expressions. * Constants:: String, numeric and regexp constants. * Scalar Constants:: Numeric and string constants. * Nondecimal-numbers:: What are octal and hex numbers. @@ -400,6 +406,7 @@ particular records in a file and perform operations upon them. advanced method of input. * Conversion:: The conversion of strings to numbers and vice versa. +* All Operators:: @command{gawk}'s operators. * Arithmetic Ops:: Arithmetic operations (@samp{+}, @samp{-}, etc.) * Concatenation:: Concatenating strings. @@ -407,6 +414,7 @@ particular records in a file and perform operations upon them. field. * Increment Ops:: Incrementing the numeric value of a variable. +* Truth Values and Conditions:: Testing for true and false. * Truth Values:: What is ``true'' and what is ``false''. * Typing and Comparison:: How variables acquire types and how this affects comparison of numbers and strings @@ -458,6 +466,7 @@ particular records in a file and perform operations upon them. * Auto-set:: Built-in variables where @command{awk} gives you information. * ARGC and ARGV:: Ways to use @code{ARGC} and @code{ARGV}. +* Array Basics:: The basics of arrays. * Array Intro:: Introduction to Arrays * Reference to Elements:: How to examine one element of an array. * Assigning Elements:: How to change an element of an array. @@ -497,6 +506,7 @@ particular records in a file and perform operations upon them. * Function Caveats:: Things to watch out for. * Return Statement:: Specifying the value a function returns. * Dynamic Typing:: How variable types can change at runtime. +* Indirect Calls:: Choosing the function to call at runtime. * I18N and L10N:: Internationalization and Localization. * Explaining gettext:: How GNU @code{gettext} works. * Programmer i18n:: Features for the programmer. @@ -518,8 +528,8 @@ particular records in a file and perform operations upon them. * Other Arguments:: Input file names and variable assignments. * AWKPATH Variable:: Searching directories for @command{awk} programs. -* Obsolete:: Obsolete Options and/or features. * Exit Status:: @command{gawk}'s exit status. +* Obsolete:: Obsolete Options and/or features. * Undocumented:: Undocumented Options and Features. * Known Bugs:: Known Bugs in @command{gawk}. * Library Names:: How to best name private global variables @@ -527,6 +537,8 @@ particular records in a file and perform operations upon them. * General Functions:: Functions that are of general use. * Nextfile Function:: Two implementations of a @code{nextfile} function. +* Strtonum Function:: A replacement for the built-in + @code{strtonum} function. * Assert Function:: A function for assertions in @command{awk} programs. * Round Function:: A function for rounding if @code{sprintf} @@ -596,14 +608,16 @@ particular records in a file and perform operations upon them. * PC Installation:: Installing and Compiling @command{gawk} on MS-DOS and OS/2. * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling @command{gawk} for MS-DOS, Windows32, - and OS/2. -* PC Using:: Running @command{gawk} on MS-DOS, Windows32 and - OS/2. +* PC Compiling:: Compiling @command{gawk} for MS-DOS, + Windows32, and OS/2. * PC Dynamic:: Compiling @command{gawk} for dynamic libraries. +* PC Using:: Running @command{gawk} on MS-DOS, Windows32 + and OS/2. * Cygwin:: Building and running @command{gawk} for Cygwin. +* MSYS:: Using @command{gawk} In The MSYS + Environment. * VMS Installation:: Installing @command{gawk} on VMS. * VMS Compilation:: How to compile @command{gawk} under VMS. * VMS Installation Details:: How to install @command{gawk} under VMS. @@ -641,9 +655,12 @@ particular records in a file and perform operations upon them. * Basic Data Typing:: A very quick intro to data types. * Floating Point Issues:: Stuff to know about floating-point numbers. * String Conversion Precision:: The String Value Can Lie. -* Unexpected Results:: Floating Point Numbers Are Not - Abstract Numbers. +* Unexpected Results:: Floating Point Numbers Are Not Abstract + Numbers. * POSIX Floating Point Problems:: Standards Versus Existing Practice. +* unresolved:: unresolved. +* revision:: revision. +* consistency:: consistency. @end detailmenu @end menu @@ -1461,15 +1478,14 @@ Drepper, provided invaluable help and feedback for the design of the internationalization features. @c @cindex Brown, Martin -@c @cindex Buening, Andreas @c @cindex Hasegawa, Isamu @c @cindex Rommel, Kai Uwe @c Martin Brown, -@c Andreas Buening, @c Isamu Hasegawa, @c Kai Uwe Rommel, @cindex Beebe, Nelson +@cindex Buening, Andreas @cindex Colombo, Antonio @cindex Deifik, Scott @cindex DuBois, John @@ -1484,7 +1500,8 @@ internationalization features. @cindex Wallin, Anders @cindex Zaretskii, Eli Nelson Beebe, -Antonio Colombo +Andreas Buening, +Antonio Colombo, Scott Deifik, John H. DuBois III, Darrel Hankerson, @@ -1766,7 +1783,12 @@ For example, on OS/2 and MS-DOS, it is @kbd{@value{CTL}-z}.) @cindex @command{awk} programs, running, without input files As an example, the following program prints a friendly piece of advice (from Douglas Adams's @cite{The Hitchhiker's Guide to the Galaxy}), -to keep you from worrying about the complexities of computer programming +to keep you from worrying about the complexities of computer +programming@footnote{If you use @command{bash} as your shell, you should execute +the command @samp{set +H} before running this program interactively, +to disable the @command{csh}-style command history, which treats +@samp{!} as a special character. We recommend putting this command into +your personal startup file.} (@code{BEGIN} is a feature we haven't discussed yet): @example @@ -2008,7 +2030,7 @@ The next @value{SUBSECTION} describes the shell's quoting rules. @cindex quoting, rules for @menu -* DOS Quoting:: Quoting in MS-DOS Batch Files. +* DOS Quoting:: Quoting in MS-DOS Batch Files. @end menu For short to medium length @command{awk} programs, it is most convenient @@ -3335,13 +3357,19 @@ They were added as part of the POSIX standard to make @command{awk} and @command{egrep} consistent with each other. @cindex @command{gawk}, interval expressions and -However, because old programs may use @samp{@{} and @samp{@}} in regexp -constants, by default @command{gawk} does @emph{not} match interval expressions -in regexps. If either @option{--posix} or @option{--re-interval} are specified -(@pxref{Options}), then interval expressions -are allowed in regexps. +Initially, because old programs may use @samp{@{} and @samp{@}} in regexp +constants, +@command{gawk} did @emph{not} match interval expressions +in regexps. + +However, +beginning with version 3.2 @strong{(FIXME: version)} +@command{gawk} does match interval expressions by default. +This is because compatibility with POSIX has become more +important to most @command{gawk} users than compatibility with +old programs. -For new programs that use @samp{@{} and @samp{@}} in regexp constants, +For programs that use @samp{@{} and @samp{@}} in regexp constants, it is good practice to always escape them with a backslash. Then the regexp constants are valid and work the way you want them to, using any version of @command{awk}.@footnote{Use two backslashes if you're @@ -3523,6 +3551,22 @@ For our purposes, a @dfn{word} is a sequence of one or more letters, digits, or underscores (@samp{_}): @table @code +@c @cindex operators, @code{\s} (@command{gawk}) +@cindex backslash (@code{\}), @code{\s} operator (@command{gawk}) +@cindex @code{\} (backslash), @code{\s} operator (@command{gawk}) +@item \s +Matches any whitespace character. +Think of it as shorthand for +@w{@code{[[:space:]]}}. + +@c @cindex operators, @code{\S} (@command{gawk}) +@cindex backslash (@code{\}), @code{\S} operator (@command{gawk}) +@cindex @code{\} (backslash), @code{\S} operator (@command{gawk}) +@item \S +Matches any character that is not whitespace. +Think of it as shorthand for +@w{@code{[^[:space:]]}}. + @c @cindex operators, @code{\w} (@command{gawk}) @cindex backslash (@code{\}), @code{\w} operator (@command{gawk}) @cindex @code{\} (backslash), @code{\w} operator (@command{gawk}) @@ -3639,7 +3683,6 @@ GNU regexp operators. GNU regexp operators described in @ref{Regexp Operators}. @end ifnottex -However, interval expressions are not supported. @item @code{--posix} Only POSIX regexps are supported; the GNU operators are not special @@ -3655,10 +3698,9 @@ treated literally, even if they represent regexp metacharacters. Also, @command{gawk} silently skips directories named on the command line. @item @code{--re-interval} -Allow interval expressions in regexps, even if @option{--traditional} -has been provided. (@option{--posix} automatically enables -interval expressions, so @option{--re-interval} is redundant -when @option{--posix} is is used.) +Allow interval expressions in regexps, if @option{--traditional} +has been provided. +Otherwise, interval expressions are available by default. @end table @c ENDOFRANGE gregexp @c ENDOFRANGE regexpg @@ -4014,9 +4056,13 @@ used with it do not have to be named on the @command{awk} command line * Changing Fields:: Changing the Contents of a Field. * Field Separators:: The field separator and how to change it. * Constant Size:: Reading constant width data. +* Splitting By Content:: Defining Fields By Content * Multiple Line:: Reading multi-line records. * Getline:: Reading files under explicit program control using the @code{getline} function. +* BEGINFILE/ENDFILE:: Two special patterns for advanced control. +* Command line directories:: What happens if you put a directory on the + command line. @end menu @node Records @@ -4571,7 +4617,7 @@ The intervening field, @code{$5}, is created with an empty value (indicated by the second pair of adjacent colons), and @code{NF} is updated with the value six. -@c FIXME: Verify that this is in POSIX +@strong{FIXME:} Verify that this is in POSIX. @cindex dark corner, @code{NF} variable, decrementing @cindex @code{NF} variable, decrementing Decrementing @code{NF} throws away the values of the fields @@ -5236,6 +5282,117 @@ read some records, and then restore the original settings (@pxref{Passwd Functions}, for an example of such a function). +@node Splitting By Content +@section Defining Fields By Content + +@ifnotinfo +@quotation NOTE +This @value{SECTION} discusses an advanced +feature of @command{gawk}. If you are a novice @command{awk} user, +you might want to skip it on the first reading. +@end quotation +@end ifnotinfo + +@ifinfo +(This @value{SECTION} discusses an advanced feature of @command{awk}. +If you are a novice @command{awk} user, you might want to skip it on +the first reading.) +@end ifinfo + +@cindex advanced features, specifying field content +Normally, when using @code{FS}, @command{gawk} defines the fields as the +parts of the record that occur in between each field separator. In other +words, @code{FS} defines what a field @emph{is not}, and not what a field +@emph{is}. +However, there are times when you really want to define the fields by +what they are, and not by what they are not. + +The most notorious such case +is so-called Comma-Separated-Value (CSV) data. Many spreadsheet programs, +for example, can export their data into text files, where each record is +terminated with a newline, and fields are separated by commas. If only +commas separated the data, there wouldn't be an issue. The problem comes when +one of the fields contains an @emph{embedded} comma. While there is no +formal standard specification for CSV data@footnote{At least, we don't know of one.}, +in such cases, most programs embed the field in double quotes. So we might +have data like this: + +@example +@c file eg/misc/addresses.csv +Robbins,Arnold,"1234 A Pretty Street, NE",MyTown,MyState,12345-6789,USA +@c endfile +@end example + +The @code{FPAT} variable offers a solution for cases like this. +The value of @code{FPAT} should be a string that provides a regular expression. +This regular expression describes the contents of each field. + +In the case of CSV data as presented above, each field is either ``anything that +is not a comma,'' or ``a double quote, anything that is not a double quote, and a +closing double quote.'' If written as a regular expression constant +(@pxref{Regexp}), +we would have @code{/([^,]+)|("[^"]+")/}. +Writing this as a string requires us to escape the double quotes, leading to: + +@example +FPAT = "([^,]+)|(\"[^\"]+\")" +@end example + +Putting this to use, here is a simple program to parse the data: + +@example +@c file eg/misc/simple-csv.awk +BEGIN @{ + FPAT = "([^,]+)|(\"[^\"]+\")" +@} + +@{ + print "NF = ", NF + for (i = 1; i <= NF; i++) @{ + printf("$%d = <%s>\n", i, $i) + @} +@} +@c endfile +@end example + +When run, we get the following: + +@example +$ @kbd{gawk -f simple-csv.awk addresses.csv} +NF = 7 +$1 = <Robbins> +$2 = <Arnold> +$3 = <"1234 A Pretty Street, NE"> +$4 = <MyTown> +$5 = <MyState> +$6 = <12345-6789> +$7 = <USA> +@end example + +Note the embedded comma in the value of @code{$3}. + +A straightforward improvement when processing CSV data of this sort +would be to remove the quotes when they occur, with something like this: + +@example +if (substr($i, 1, 1) == "\"") @{ + len = length($i) + $i = substr($i, 2, len - 2) # Get text within the two quotes +@} +@end example + +As with @code{FS}, the @code{IGNORECASE} variable (@pxref{User-modified}) +affects field splitting with @code{FPAT}. + +@quotation NOTE +Some programs export CSV data that contains embedded newlines between +the double quotes. @command{gawk} provides no way to deal with this. +Since there is no formal specification for CSV data, there isn't much +more to be done; +the @code{FPAT} mechanism provides an elegant solution for the majority +of cases, and the @command{gawk} maintainer is satisfied with that. +@end quotation + @node Multiple Line @section Multiple-Line Records @@ -5436,6 +5593,8 @@ rest of this @value{DOCUMENT} and have a good knowledge of how @command{awk} wor @cindex @code{ERRNO} variable @cindex differences in @command{awk} and @command{gawk}, @code{getline} command @cindex @code{getline} command, return values +@cindex @code{--sandbox} option, input redirection with @command{getline} + The @code{getline} command returns one if it finds a record and zero if it encounters the end of the file. If there is some error in getting a record, such as a file that cannot be opened, then @code{getline} @@ -5445,6 +5604,10 @@ returns @minus{}1. In this case, @command{gawk} sets the variable In the following examples, @var{command} stands for a string value that represents a shell command. +@quotation NOTE +When @option{--sandbox} is specified, reading lines from files, pipes and coprocesses is disabled. +@end quotation + @menu * Plain Getline:: Using @code{getline} with no arguments. * Getline/Variable:: Using @code{getline} into a variable. @@ -5920,6 +6083,90 @@ listing which built-in variables are set by each one. @c ENDOFRANGE inex @c ENDOFRANGE infir +@node BEGINFILE/ENDFILE +@section The @code{BEGINFILE} and @code{ENDFILE} Special Patterns +@cindex @code{BEGINFILE} special pattern +@cindex @code{ENDFILE} special pattern + +@strong{FIXME:} Get the version right. +@quotation NOTE +This @value{SECTION} describes a @command{gawk}-specific feature +added in @command{gawk} 3.X. +@end quotation + +Two special kinds of rule, @code{BEGINFILE} and @code{ENDFILE}, give you ``hooks'' +into @command{gawk}'s command-line file processing loop. As with the @code{BEGIN} +and @code{END} rules (@pxref{BEGIN/END}), +all @code{BEGINFILE} rules in a program are merged, +in the order they are read by @command{gawk}, and all @code{ENDFILE} rules are +merged as well. + +The body of the @code{BEGINFILE} rules is executed just before @command{gawk} +reads the first record from a file. @code{FILENAME} is set to the name of the current file, +and @code{FNR} is set to zero. + +The @code{BEGINFILE} rule provides you the opportunity for two +tasks that would otherwise be difficult or impossible to perform: + +@enumerate 1 +@item +You can test if the file is readable. +Normally, it is a fatal error if a file named on the command line cannot be +opened for reading. However, you can +bypass the fatal error and move on to the next file on the command line. + +You do this by checking if +the @code{ERRNO} variable is not +the empty string; if so, then @command{gawk} was not able to open the file. In +this case, your program can execute the @code{nextfile} statement (@pxref{Nextfile Statement}). +This casuses @command{gawk} to skip the file entirely. +Otherwise, @command{gawk} will exit with the usual fatal error. + +@item +If you have written extensions that modify the record handling (by inserting +an ``open hook''), you can invoke them at this point, before @command{gawk} +has started processing the file. (This is a @emph{very} advanced feature, +currently used only by the @uref{http://xgawk.sourceforge.net, XMLgawk project}.) +@end enumerate + +The @code{ENDFILE} rule is called when @command{gawk} has finished processing +the last record in an input file. It will be called before any @code{END} rules. + +Normally, when an error occurs when reading input in the normal input processing +loop, the error is fatal. However, if an @code{ENDFILE} rule is present, the +error becomes non-fatal, and instead @code{ERRNO} is set. This makes it possible +to catch and process I/O errors at the level of the @command{awk} program. + +The @code{next} statement is not allowed inside either a @code{BEGINFILE} or +and @code{ENDFILE} rule. The @code{nextfile} statement is allowed only inside +a @code{BEGINFILE} rule, but not inside an @code{ENDFILE} rule. + +The @code{getline} statement (@pxref{Getline}) is restricted inside both @code{BEGINFILE} +and @code{ENDFILE}. Only the @samp{getline @var{variable} < @var{file}} form is +allowed. + +@code{BEGINFILE} and @code{ENDFILE} are @command{gawk} extensions. +In most other @command{awk} implementations, +or if @command{gawk} is in compatibility mode +(@pxref{Options}), +they are not special. + + +@node Command line directories +@section Directories On The Command Line +@cindex directories, command line +@cindex command line, directories on + +According to POSIX, files named on the @command{awk} command line must be +text files. The behavior is ``undefined'' if they are not. Most versions +of @command{awk} treat a directory on the command line as a fatal error. + +@strong{FIXME:} Get the version right. +Starting with version 3.x of @command{gawk}, a directory on the command line +produces a warning, but is otherwise skipped. If either of the @option{--posix} +or @option{--traditional} options is given, then @command{gawk} reverts to +treating directories on the command line as a fatal error. + @node Printing @chapter Printing Output @@ -6699,12 +6946,17 @@ on the @code{print} statement @cindex output redirection @cindex redirection of output +@cindex @code{--sandbox} option, output redirection with @command{print}, @command{printf} So far, the output from @code{print} and @code{printf} has gone to the standard output, usually the terminal. Both @code{print} and @code{printf} can also send their output to other places. This is called @dfn{redirection}. +@quotation NOTE +When @option{--sandbox} is specified, redirecting output to files and pipes is disabled. +@end quotation + A redirection appears after the @code{print} or @code{printf} statement. Redirections in @command{awk} are written just like redirections in shell commands, except that they are written inside the @command{awk} program. @@ -6923,7 +7175,6 @@ process-related information, and TCP/IP networking. @menu * Special FD:: Special files for I/O. -* Special Process:: Special files for process information. * Special Network:: Special files for network communications. * Special Caveats:: Things to watch out for. @end menu @@ -7024,93 +7275,25 @@ It is a common error to omit the quotes, which leads to confusing results. @c Exercise: What does it do? :-) -@node Special Process -@subsection Special Files for Process-Related Information - -@cindex files, for process information -@cindex process information, files for -@command{gawk} also provides special @value{FN}s that give access to information -about the running @command{gawk} process. Each of these ``files'' provides -a single record of information. To read them more than once, they must -first be closed with the @code{close} function -(@pxref{Close Files And Pipes}). -The @value{FN}s are: - -@c @cindex @code{/dev/pid} special file -@c @cindex @code{/dev/pgrpid} special file -@c @cindex @code{/dev/ppid} special file -@c @cindex @code{/dev/user} special file -@table @file -@item /dev/pid -Reading this file returns the process ID of the current process, -in decimal form, terminated with a newline. - -@item /dev/ppid -Reading this file returns the parent process ID of the current process, -in decimal form, terminated with a newline. - -@item /dev/pgrpid -Reading this file returns the process group ID of the current process, -in decimal form, terminated with a newline. - -@item /dev/user -Reading this file returns a single record terminated with a newline. -The fields are separated with spaces. The fields represent the -following information: - -@table @code -@item $1 -The return value of the @code{getuid} system call -(the real user ID number). - -@item $2 -The return value of the @code{geteuid} system call -(the effective user ID number). - -@item $3 -The return value of the @code{getgid} system call -(the real group ID number). - -@item $4 -The return value of the @code{getegid} system call -(the effective group ID number). -@end table - -If there are any additional fields, they are the group IDs returned by -the @code{getgroups} system call. -(Multiple groups may not be supported on all systems.) -@end table - -These special @value{FN}s may be used on the command line as @value{DF}s, -as well as for I/O redirections within an @command{awk} program. -They may not be used as source files with the @option{-f} option. - -@c @cindex automatic warnings -@c @cindex warnings, automatic -@quotation NOTE -The special files that provide process-related information are now considered -obsolete and will disappear entirely -in the next release of @command{gawk}. -@command{gawk} prints a warning message every time you use one of -these files. -To obtain process-related information, use the @code{PROCINFO} array. -@xref{Auto-set}. -@end quotation +Finally, usng the @code{close} function on a @value{FN} of the +form @code{"/dev/fd/@var{N}"}, for file descriptor numbers +above two, will actually close the given file descriptor. @node Special Network @subsection Special Files for Network Communications @cindex networks, support for @cindex TCP/IP, support for -Starting with @value{PVERSION} 3.1 of @command{gawk}, @command{awk} programs +@command{awk} programs can open a two-way TCP/IP connection, acting as either a client or a server. This is done using a special @value{FN} of the form: @example -@file{/inet/@var{protocol}/@var{local-port}/@var{remote-host}/@var{remote-port}} +@file{/@var{net-type}/@var{protocol}/@var{local-port}/@var{remote-host}/@var{remote-port}} @end example +The @var{net-type} is one of @samp{inet}, @samp{inet4} or @samp{inet6} The @var{protocol} is one of @samp{tcp}, @samp{udp}, or @samp{raw}, and the other fields represent the other essential pieces of information for making a networking connection. @@ -7388,35 +7571,6 @@ different implementations vary in what they report when closing pipes; thus the return value cannot be used portably. @value{DARKCORNER} -@ignore -@c 4/27/2003: Commenting this out for now, given the above -@c return of 16-bit value -The return value for closing a pipeline is particularly useful. -It allows you to get the output from a command as well as its -exit status. -@c 8/21/2002, FIXME: Maybe the code and this doc should be adjusted to -@c create values indicating death-by-signal? Sigh. - -@cindex pipes, closing -@cindex POSIX @command{awk}, pipes@comma{} closing -For POSIX-compliant systems, -if the exit status is a number above 128, then the program -was terminated by a signal. Subtract 128 to get the signal number: - -@example -exit_val = close(command) -if (exit_val > 128) - print command, "died with signal", exit_val - 128 -else - print command, "exited with code", exit_val -@end example - -Currently, in @command{gawk}, this only works for commands -piping into @code{getline}. For commands piped into -from @code{print} or @code{printf}, the -return value from @code{close} is that of the library's -@code{pclose} function. -@end ignore @c ENDOFRANGE ifc @c ENDOFRANGE ofc @c ENDOFRANGE pc @@ -7441,32 +7595,30 @@ variables, array references, constants, and function calls, as well as combinations of these with various operators. @menu +* Values:: Constants, Variables, and Regular Expressions. +* All Operators:: @command{gawk}'s operators. +* Truth Values and Conditions:: Testing for true and false. +* Function Calls:: A function call is an expression. +* Precedence:: How various operators nest. +@end menu + +@node Values +@section Constants, Variables and Conversions + +Expressions are built up from values and the operations performed +upon them. This @value{SECTION} describes the elementary objects +which provide values used in expressions. + +@menu * Constants:: String, numeric and regexp constants. * Using Constant Regexps:: When and how to use a regexp constant. * Variables:: Variables give names to values for later use. * Conversion:: The conversion of strings to numbers and vice versa. -* Arithmetic Ops:: Arithmetic operations (@samp{+}, @samp{-}, - etc.) -* Concatenation:: Concatenating strings. -* Assignment Ops:: Changing the value of a variable or a field. -* Increment Ops:: Incrementing the numeric value of a variable. -* Truth Values:: What is ``true'' and what is ``false''. -* Typing and Comparison:: How variables acquire types and how this - affects comparison of numbers and strings with - @samp{<}, etc. -* Boolean Ops:: Combining comparison expressions using boolean - operators @samp{||} (``or''), @samp{&&} - (``and'') and @samp{!} (``not''). -* Conditional Exp:: Conditional expressions select between two - subexpressions under control of a third - subexpression. -* Function Calls:: A function call is an expression. -* Precedence:: How various operators nest. @end menu @node Constants -@section Constant Expressions +@subsection Constant Expressions @cindex constants, types of The simplest type of expression is the @dfn{constant}, which always has @@ -7484,7 +7636,7 @@ have different forms, but are stored identically internally. @end menu @node Scalar Constants -@subsection Numeric and String Constants +@subsubsection Numeric and String Constants @cindex numeric, constants A @dfn{numeric constant} stands for a number. This number can be an @@ -7520,7 +7672,7 @@ Other @command{awk} implementations may have difficulty with some character codes. @node Nondecimal-numbers -@subsection Octal and Hexadecimal Numbers +@subsubsection Octal and Hexadecimal Numbers @cindex octal numbers @cindex hexadecimal numbers @cindex numbers, octal @@ -7620,7 +7772,7 @@ $ gawk 'BEGIN @{ printf "0x11 is <%s>\n", 0x11 @}' @end example @node Regexp Constants -@subsection Regular Expression Constants +@subsubsection Regular Expression Constants @c STARTOFRANGE rec @cindex regexp constants @@ -7631,12 +7783,12 @@ $ gawk 'BEGIN @{ printf "0x11 is <%s>\n", 0x11 @}' A regexp constant is a regular expression description enclosed in slashes, such as @code{@w{/^beginning and end$/}}. Most regexps used in @command{awk} programs are constant, but the @samp{~} and @samp{!~} -matching operators can also match computed or ``dynamic'' regexps +matching operators can also match computed or dynamic regexps (which are just ordinary strings or variables that contain a regexp). @c ENDOFRANGE cnst @node Using Constant Regexps -@section Using Regular Expression Constants +@subsection Using Regular Expression Constants @cindex dark corner, regexp constants When used on the righthand side of the @samp{~} or @samp{!~} @@ -7749,7 +7901,7 @@ this way is probably not what was intended. @c ENDOFRANGE rec @node Variables -@section Variables +@subsection Variables @cindex variables, user-defined @cindex user-defined, variables @@ -7766,7 +7918,7 @@ on the @command{awk} command line. @end menu @node Using Variables -@subsection Using Variables in a Program +@subsubsection Using Variables in a Program Variables let you give names to values and refer to them later. Variables have already been used in many of the examples. The name of a variable @@ -7779,7 +7931,7 @@ variable's current value. Variables are given new values with @dfn{assignment operators}, @dfn{increment operators}, and @dfn{decrement operators}. @xref{Assignment Ops}. -@c NEXT ED: Can also be changed by sub, gsub, split +@strong{FIXME: NEXT ED:} Can also be changed by sub, gsub, split. @cindex variables, built-in @cindex variables, initializing @@ -7798,7 +7950,7 @@ is zero if converted to a number. There is no need to which is what you would do in C and in most other traditional languages. @node Assignment Options -@subsection Assigning Variables on the Command Line +@subsubsection Assigning Variables on the Command Line @cindex variables, assigning on command line @cindex command line, variables@comma{} assigning on @@ -7864,7 +8016,7 @@ sequences @value{DARKCORNER} @node Conversion -@section Conversion of Strings and Numbers +@subsection Conversion of Strings and Numbers @cindex converting, strings to numbers @cindex strings, converting @@ -8019,8 +8171,22 @@ representation can have an unusual but important effect on the way @command{gawk} converts some special string values to numbers. The details are presented in @ref{POSIX Floating Point Problems}. +@node All Operators +@section Operators: Doing Something With Values + +This @value{SECTION} introduces the @dfn{operators} which make use +of the values provided by constants and variables. + +@menu +* Arithmetic Ops:: Arithmetic operations (@samp{+}, @samp{-}, + etc.) +* Concatenation:: Concatenating strings. +* Assignment Ops:: Changing the value of a variable or a field. +* Increment Ops:: Incrementing the numeric value of a variable. +@end menu + @node Arithmetic Ops -@section Arithmetic Operators +@subsection Arithmetic Operators @cindex arithmetic operators @cindex operators, arithmetic @c @cindex addition @@ -8135,7 +8301,7 @@ For maximum portability, do not use the @samp{**} operator. @end quotation @node Concatenation -@section String Concatenation +@subsection String Concatenation @cindex Kernighan, Brian @quotation @i{It seemed like a good idea at the time.}@* @@ -8268,7 +8434,7 @@ when doing concatenation, @emph{parenthesize}. Otherwise, you're never quite sure what you'll get. @node Assignment Ops -@section Assignment Expressions +@subsection Assignment Expressions @c STARTOFRANGE asop @cindex assignment operators @c STARTOFRANGE opas @@ -8525,7 +8691,7 @@ freely available versions described in @c ENDOFRANGE asop @node Increment Ops -@section Increment and Decrement Operators +@subsection Increment and Decrement Operators @c STARTOFRANGE inop @cindex increment operators @@ -8646,8 +8812,29 @@ You should avoid such things in your own programs. @c ENDOFRANGE opde @c ENDOFRANGE deop +@node Truth Values and Conditions +@section Truth Values and Conditions + +In certain contexts, expression values also serve as ``truth values;'' i.e., +they determine what should happen next as the program runs. This +@value{SECTION} describes how @command{awk} defines ``true'' and ``false'' +and how values are compared. + +@menu +* Truth Values:: What is ``true'' and what is ``false''. +* Typing and Comparison:: How variables acquire types and how this + affects comparison of numbers and strings with + @samp{<}, etc. +* Boolean Ops:: Combining comparison expressions using boolean + operators @samp{||} (``or''), @samp{&&} + (``and'') and @samp{!} (``not''). +* Conditional Exp:: Conditional expressions select between two + subexpressions under control of a third + subexpression. +@end menu + @node Truth Values -@section True and False in @command{awk} +@subsection True and False in @command{awk} @cindex truth values @cindex logical false/true @cindex false, logical @@ -8682,7 +8869,7 @@ the string constant @code{"0"} is actually true, because it is non-null. @value{DARKCORNER} @node Typing and Comparison -@section Variable Typing and Comparison Expressions +@subsection Variable Typing and Comparison Expressions @quotation @i{The Guide is definitive. Reality is frequently inaccurate.}@* The Hitchhiker's Guide to the Galaxy @@ -8712,7 +8899,7 @@ compares variables. @end menu @node Variable Typing -@subsection String Type Versus Numeric Type +@subsubsection String Type Versus Numeric Type @cindex numeric, strings @cindex strings, numeric @@ -8869,7 +9056,7 @@ $ echo ' +3.14' | gawk '@{ print $1 == 3.14 @}' @i{True} @end example @node Comparison Operators -@subsection Comparison Operators +@subsubsection Comparison Operators @dfn{Comparison expressions} compare strings or numbers for relationships such as equality. They are written using @dfn{relational @@ -9031,7 +9218,7 @@ where this is discussed in more detail. @c ENDOFRANGE varting @node Boolean Ops -@section Boolean Expressions +@subsection Boolean Expressions @cindex and Boolean-logic operator @cindex or Boolean-logic operator @cindex not Boolean-logic operator @@ -9174,7 +9361,7 @@ The reason it's there is to avoid printing the bracketing @c ENDOFRANGE boex @node Conditional Exp -@section Conditional Expressions +@subsection Conditional Expressions @cindex conditional expressions @cindex expressions, conditional @cindex expressions, selecting @@ -9290,6 +9477,11 @@ are omitted in calls to user-defined functions, then those arguments are treated as local variables and initialized to the empty string (@pxref{User-defined}). +As an advanced feature, @command{gawk} provides indirect function calls, +which is a way to choose the function to call at runtime, instead of +when you write the source code to your program. We defer discussion of +this feature until later; @xref{Indirect Calls}. + @cindex side effects, function calls Like every other expression, the function call has a value, which is computed by the function based on the arguments you give it. In this @@ -10420,14 +10612,6 @@ for more information on this version of the @code{for} loop. @cindex @code{case} keyword @cindex @code{default} keyword -@quotation NOTE -This @value{SUBSECTION} describes an experimental feature -added in @command{gawk} 3.1.3. It is @emph{not} enabled by default. To -enable it, use the @option{--enable-switch} option to @command{configure} -when @command{gawk} is being configured and built. -@xref{Additional Configuration Options}, for more information. -@end quotation - The @code{switch} statement allows the evaluation of an expression and the execution of statements based on a @code{case} match. Case statements are checked for a match in the order they are defined. If no suitable @@ -10483,6 +10667,9 @@ the @code{print} statement is executed and then falls through into the the @minus{}1 case will also be executed since the @code{default} does not halt execution. +This feature is a @command{gawk} extension, and is not available in +POSIX @command{awk}. + @node Break Statement @subsection The @code{break} Statement @cindex @code{break} statement @@ -10755,6 +10942,9 @@ inconsistent. When it appeared after @code{next}, @samp{file} was a keyword; otherwise, it was a regular identifier. The old usage is no longer accepted; @samp{next file} generates a syntax error. +The @code{nextfile} statement has a special purpose when used inside a +@code{BEGINFILE} rule; see @ref{BEGINFILE/ENDFILE}. + @node Exit Statement @subsection The @code{exit} Statement @@ -10915,7 +11105,7 @@ Its default value is @code{"%.6g"}. This is a space-separated list of columns that tells @command{gawk} how to split input with fixed columnar boundaries. Assigning a value to @code{FIELDWIDTHS} -overrides the use of @code{FS} for field splitting. +overrides the use of @code{FS} and @code{FPAT} for field splitting. @xref{Constant Size}, for more information. @cindex @command{gawk}, @code{FIELDWIDTHS} variable in @@ -10924,6 +11114,23 @@ If @command{gawk} is in compatibility mode has no special meaning, and field-splitting operations occur based exclusively on the value of @code{FS}. +@cindex @code{FPAT} variable +@cindex differences in @command{awk} and @command{gawk}, @code{FPAT} variable +@cindex field separators, @code{FPAT} variable and +@cindex separators, field, @code{FPAT} variable and +@item FPAT # +This is a regular expression (as a string) that tells @command{gawk} +to create the fields based on text that matches the regular expression. +Assigning a value to @code{FPAT} +overrides the use of @code{FS} and @code{FIELDWIDTHS} for field splitting. +@xref{Splitting By Content}, for more information. + +@cindex @command{gawk}, @code{FPAT} variable in +If @command{gawk} is in compatibility mode +(@pxref{Options}), then @code{FPAT} +has no special meaning, and field-splitting operations occur based +exclusively on the value of @code{FS}. + @cindex @code{FS} variable @cindex separators, field @cindex field separators @@ -10936,7 +11143,7 @@ record. If the value is the null string (@code{""}), then each character in the record becomes a separate field. (This behavior is a @command{gawk} extension. POSIX @command{awk} does not specify the behavior when @code{FS} is the null string.) -@c NEXT ED: Mark as common extension +@strong{FIXME: NEXT ED:} Mark as common extension. @cindex POSIX @command{awk}, @code{FS} variable and The default value is @w{@code{" "}}, a string consisting of a single @@ -11186,8 +11393,15 @@ If a system error occurs during a redirection for @code{getline}, during a read for @code{getline}, or during a @code{close} operation, then @code{ERRNO} contains a string describing the error. +@strong{FIXME:} Get the version right. +Starting with @value{PVERSION} 3.X, @command{gawk} clears @code{ERRNO} +before opening each command line input file. This enables checking if +the file is readable inside a @code{BEGINFILE} pattern (@pxref{BEGINFILE/ENDFILE}). + +Otherwise, @code{ERRNO} works similarly to the C variable @code{errno}. -In particular @command{gawk} @emph{never} clears it (sets it +Except for the case just mentioned, +@command{gawk} @emph{never} clears it (sets it to zero or @code{""}). Thus, you should only expect its value to be meaningful when an I/O operation returns a failure value, such as @code{getline} returning @minus{}1. @@ -11269,8 +11483,9 @@ The value of the @code{geteuid} system call. @item PROCINFO["FS"] This is -@code{"FS"} if field splitting with @code{FS} is in effect, or it is -@code{"FIELDWIDTHS"} if field splitting with @code{FIELDWIDTHS} is in effect. +@code{"FS"} if field splitting with @code{FS} is in effect, +@code{"FIELDWIDTHS"} if field splitting with @code{FIELDWIDTHS} is in effect, +or it is @code{"FPAT"} if field matching with @code{FPAT} is in effect. @item PROCINFO["gid"] The value of the @code{getgid} system call. @@ -11444,7 +11659,7 @@ before actual processing of the input begins. of each way of removing elements from @code{ARGV}. The following fragment processes @code{ARGV} in order to examine, and then remove, command-line options: -@c NEXT ED: Add xref to rewind() function +@strong{FIXME: NEXT ED:} Add xref to rewind() function. @example BEGIN @{ @@ -11518,13 +11733,7 @@ Thus, you cannot have a variable and an array with the same name in the same @command{awk} program. @menu -* Array Intro:: Introduction to Arrays -* Reference to Elements:: How to examine one element of an array. -* Assigning Elements:: How to change an element of an array. -* Array Example:: Basic Example of an Array -* Scanning an Array:: A variation of the @code{for} statement. It - loops through the indices of an array's - existing elements. +* Array Basics:: The basics of arrays. * Delete:: The @code{delete} statement removes an element from an array. * Numeric Array Subscripts:: How to use numbers as subscripts in @@ -11532,12 +11741,28 @@ same @command{awk} program. * Uninitialized Subscripts:: Using Uninitialized variables as subscripts. * Multi-dimensional:: Emulating multidimensional arrays in @command{awk}. -* Multi-scanning:: Scanning multidimensional arrays. * Array Sorting:: Sorting array values and indices. @end menu +@node Array Basics +@section The Basics of Arrays + +This @value{SECTION} presents the basics: working with elements +in arrays one at a time, and traversing all of the elements in +an array. + +@menu +* Array Intro:: Introduction to Arrays +* Reference to Elements:: How to examine one element of an array. +* Assigning Elements:: How to change an element of an array. +* Array Example:: Basic Example of an Array +* Scanning an Array:: A variation of the @code{for} statement. It + loops through the indices of an array's + existing elements. +@end menu + @node Array Intro -@section Introduction to Arrays +@subsection Introduction to Arrays @cindex Wall, Larry @quotation @@ -11578,7 +11803,7 @@ A contiguous array of four elements might look like the following example, conceptually, if the element values are 8, @code{"foo"}, @code{""}, and 30: -@c NEXT ED: Use real images here +@strong{FIXME: NEXT ED:} Use real images here @iftex @c from Karl Berry, much thanks for the help. @tex @@ -11696,7 +11921,7 @@ is independent of the number of elements in the array. @c ENDOFRANGE inarr @node Reference to Elements -@section Referring to an Array Element +@subsection Referring to an Array Element @cindex arrays, elements, referencing @cindex elements in arrays @@ -11758,7 +11983,7 @@ if (frequencies[2] != "") @end example @node Assigning Elements -@section Assigning Array Elements +@subsection Assigning Array Elements @cindex arrays, elements, assigning @cindex elements in arrays, assigning @@ -11776,7 +12001,7 @@ assigned a value. The expression @var{value} is the value to assign to that element of the array. @node Array Example -@section Basic Array Example +@subsection Basic Array Example The following program takes a list of lines, each beginning with a line number, and prints them out in order of line number. The line numbers @@ -11844,7 +12069,7 @@ END @{ @end example @node Scanning an Array -@section Scanning All Elements of an Array +@subsection Scanning All Elements of an Array @cindex elements in arrays, scanning @cindex arrays, scanning @@ -12136,6 +12361,10 @@ on the command line (@pxref{Options}). @node Multi-dimensional @section Multidimensional Arrays +@menu +* Multi-scanning:: Scanning multidimensional arrays. +@end menu + @cindex subscripts in arrays, multidimensional @cindex arrays, multidimensional A multidimensional array is an array in which an element is identified @@ -12232,7 +12461,7 @@ the program produces the following output: @end example @node Multi-scanning -@section Scanning Multidimensional Arrays +@subsection Scanning Multidimensional Arrays There is no special @code{for} statement for scanning a ``multidimensional'' array. There cannot be one, because, in truth, there @@ -12390,6 +12619,8 @@ We said previously that comparisons are done using @command{gawk}'s ``usual comparison rules.'' Because @code{IGNORECASE} affects string comparisons, the value of @code{IGNORECASE} also affects sorting for both @code{asort} and @code{asorti}. +Note also that the locale's sorting order does @emph{not} +come into play; comparisons are based on character values only. Caveat Emptor. @c ENDOFRANGE arrs @@ -12414,6 +12645,7 @@ The second half of this @value{CHAPTER} describes these @menu * Built-in:: Summarizes the built-in functions. * User-defined:: Describes User-defined functions in detail. +* Indirect Calls:: Choosing the function to call at runtime. @end menu @node Built-in @@ -12777,7 +13009,7 @@ at which that substring begins (one, if it starts at the beginning of @var{string}). If no match is found, it returns zero. The @var{regexp} argument may be either a regexp constant -(@samp{/@dots{}/}) or a string constant (@var{"@dots{}"}). +(@code{/@dots{}/}) or a string constant (@code{"@dots{}"}). In the latter case, the string is treated as a regexp to be matched. @ref{Computed Regexps}, for a discussion of the difference between the two forms, and the @@ -12884,22 +13116,51 @@ The @var{array} argument to @code{match} is a (@pxref{Options}), using a third argument is a fatal error. -@item split(@var{string}, @var{array} @r{[}, @var{fieldsep}@r{]}) +@item patsplit(@var{string}, @var{array} @r{[}, @var{fieldpat} @r{[}, @var{seps} @r{]} @r{]}) +@cindex @code{patsplit} function +This function divides @var{string} into pieces defined by @var{fieldpat} +and stores the pieces in @var{array} and the separator strings in the +@var{seps} array. The first piece is stored in +@code{@var{array}[1]}, the second piece in @code{@var{array}[2]}, and so +forth. The string value of the third argument, @var{fieldpat}, is +a regexp describing the fields in @var{string} (just as @code{FPAT} is +a regexp describing the fields in input records). If +@var{fieldpat} is omitted, the value of @code{FPAT} is used. +@code{patsplit} returns the number of elements created. +@code{@var{seps}[@var{i}]} is +the separator string +between @code{@var{array}[@var{i}]} and @code{@var{array}[@var{i}+1]}. +Any leading separator will be in @code{@var{seps}[0]}. + +The @code{patsplit} function splits strings into pieces in a +manner similar to the way input lines are split into fields using @code{FPAT}. + +@item split(@var{string}, @var{array} @r{[}, @var{fieldsep} @r{[}, @var{seps} @r{]} @r{]}) @cindex @code{split} function This function divides @var{string} into pieces separated by @var{fieldsep} -and stores the pieces in @var{array}. The first piece is stored in +and stores the pieces in @var{array} and the separator strings in the +@var{seps} array. The first piece is stored in @code{@var{array}[1]}, the second piece in @code{@var{array}[2]}, and so forth. The string value of the third argument, @var{fieldsep}, is a regexp describing where to split @var{string} (much as @code{FS} can be a regexp describing where to split input records). If @var{fieldsep} is omitted, the value of @code{FS} is used. @code{split} returns the number of elements created. +@var{seps} is a @command{gawk} extension with @code{@var{seps}[@var{i}]} +being the separator string +between @code{@var{array}[@var{i}]} and @code{@var{array}[@var{i}+1]}. +If @var{fieldsep} is a single +space then any leading whitespace goes into @code{@var{seps}[0]} and +any trailing +whitespace goes into @code{@var{seps}[@var{n}]} where @var{n} is the +return value of +@code{split()} (that is, the number of elements in @var{array}). The @code{split} function splits strings into pieces in a manner similar to the way input lines are split into fields. For example: @example -split("cul-de-sac", a, "-") +split("cul-de-sac", a, "-", seps) @end example @noindent @@ -12913,12 +13174,20 @@ a[2] = "de" a[3] = "sac" @end example +and sets the contents of the array @code{seps} as follows: + +@example +seps[1] = "-" +seps[2] = "-" +@end example + @noindent The value returned by this call to @code{split} is three. @cindex differences in @command{awk} and @command{gawk}, @code{split} function As with input field-splitting, when the value of @var{fieldsep} is -@w{@code{" "}}, leading and trailing whitespace is ignored, and the elements +@w{@code{" "}}, leading and trailing whitespace is ignored in +@var{array} but not in @var{seps}, and the elements are separated by runs of whitespace. Also as with input field-splitting, if @var{fieldsep} is the null string, each individual character in the string is split into its own array element. @@ -12939,7 +13208,7 @@ discussion of the difference between using a string constant or a regexp constan and the implications for writing your program correctly. Before splitting the string, @code{split} deletes any previously existing -elements in the array @var{array}. +elements in the arrays @var{array} and @var{seps}. If @var{string} is null, the array has no elements. (So this is a portable way to delete an entire array with one statement. @@ -13001,7 +13270,7 @@ changed by replacing the matched text with @var{replacement}. The modified string becomes the new value of @var{target}. The @var{regexp} argument may be either a regexp constant -(@samp{/@dots{}/}) or a string constant (@var{"@dots{}"}). +(@code{/@dots{}/}) or a string constant (@code{"@dots{}"}). In the latter case, the string is treated as a regexp to be matched. @ref{Computed Regexps}, for a discussion of the difference between the two forms, and the @@ -13535,15 +13804,12 @@ These rules are presented in @ref{table-posix-2001-sub}. The only case where the difference is noticeable is the last one: @samp{\\\\} is seen as @samp{\\} and produces @samp{\} instead of @samp{\\}. -Starting with version 3.1.4, @command{gawk} follows the POSIX rules +Starting with version 3.1.4, @command{gawk} followed the POSIX rules when @option{--posix} is specified (@pxref{Options}). Otherwise, -it continues to follow the 1996 proposed rules, since, as of this -writing, that has been its behavior for over seven years. +it continued to follow the 1996 proposed rules, since +that had been its behavior for many seven years. -@quotation NOTE -At the next major release, @command{gawk} will switch to using -the POSIX 2001 rules by default. -@end quotation +As of version 3.2, @command{gawk} uses the POSIX 2001 rules. The rules for @code{gensub} are considerably simpler. At the runtime level, whenever @command{gawk} sees a @samp{\}, if the following character @@ -13733,11 +13999,17 @@ close("/bin/sh") @noindent @cindex troubleshooting, @code{system} function +@cindex @code{--sandbox} option, disabling @command{system} function However, if your @command{awk} program is interactive, @code{system} is useful for cranking up large self-contained programs, such as a shell or an editor. Some operating systems cannot implement the @code{system} function. @code{system} causes a fatal error if it is not supported. + +@quotation NOTE +When @option{--sandbox} is specified, the @code{system} function is disabled. +@end quotation + @end table @c fakenode --- for prepinfo @@ -14189,7 +14461,7 @@ is set to UTC: @example #! /bin/sh # -# date --- approximate the P1003.2 'date' command +# date --- approximate the POSIX 'date' command case $1 in -u) TZ=UTC0 # use UTC @@ -14197,9 +14469,8 @@ case $1 in shift ;; esac -@c FIXME: One day, change %d to %e, when C 99 is common. gawk 'BEGIN @{ - format = "%a %b %d %H:%M:%S %Z %Y" + format = "%a %b %e %H:%M:%S %Z %Y" exitval = 0 if (ARGC > 2) @@ -14631,7 +14902,7 @@ before all uses of the function. This is because @command{awk} reads the entire program before starting to execute any of it. The definition of a function named @var{name} looks like this: -@c NEXT ED: put [ ] around parameter list +@strong{FIXME: NEXT ED:} put [ ] around parameter list. @example function @var{name}(@var{parameter-list}) @@ -14728,7 +14999,7 @@ If the resulting string is non-null, the action is executed. This is probably not what is desired. (@command{awk} accepts this input as syntactically valid, because functions may be used before they are defined in @command{awk} programs.) -@c NEXT ED: This won't actually run, since foo() is undefined ... +@strong{FIXME: NEXT ED:} This won't actually run, since foo() is undefined ... @cindex portability, functions@comma{} defining To ensure that your @command{awk} programs are portable, always use the @@ -14825,7 +15096,6 @@ The following example uses the built-in @code{strftime} function to create an @command{awk} version of @code{ctime}: @cindex @code{ctime} user-defined function -@c FIXME: One day, change %d to %e, when C 99 is common. @example @c file eg/lib/ctime.awk # ctime.awk @@ -14834,7 +15104,7 @@ to create an @command{awk} version of @code{ctime}: function ctime(ts, format) @{ - format = "%a %b %d %H:%M:%S %Z %Y" + format = "%a %b %e %H:%M:%S %Z %Y" if (ts == 0) ts = systime() # use current time as default return strftime(format, ts) @@ -15091,6 +15361,362 @@ BEGIN @{ Usually, such things aren't a big issue, but it's worth being aware of them. @c ENDOFRANGE udfunc + +@node Indirect Calls +@section Indirect Function Calls + +@cindex indirect function calls +@cindex function calls, indirect +@cindex function pointers +@cindex pointers to functions +@cindex differences in @command{awk} and @command{gawk}, indirect function calls + +This section describes a @command{gawk}-specific extension. + +Often, you may wish to defer the choice of function to call until runtime. +For example, you may have different kinds of records, each of which +should be processed differently. + +Normally, you would have to use a series of @code{if}-@code{else} +statements to decide which function to call. By using @dfn{indirect} +function calls, you can specify the name of the function to call as a +string variable, and then call the function. Let's look at an example. + +Suppose you have a file with your test scores for the classes you +are taking. The first field is the class name. The following fields +are the functions to call to process the data, up to a ``marker'' +field @samp{data:}. Following the marker, to the end of the record, +are the various numeric test scores. + +Here is the initial file; you wish to get the sum and the average of +your test scores: + +@example +@c file eg/data/class_data1 +Biology_101 sum average data: 87.0 92.4 78.5 94.9 +Chemistry_305 sum average data: 75.2 98.3 94.7 88.2 +English_401 sum average data: 100.0 95.6 87.1 93.4 +@c endfile +@end example + +To process the data, you might write initially: + +@example +@{ + class = $1 + for (i = 2; $i != "data:"; i++) @{ + if ($i == "sum") + sum() # processes the whole record + else if ($i == "average") + average() + @dots{} # and so on + @} +@} +@end example + +@noindent +This style of programming works, but can be awkward. With @dfn{indirect} +function calls, you tell @command{gawk} to use the @emph{value} of a +variable as the name of the function to call. + +The syntax is similar to that of a regular function call: an identifier +immediately followed by a left parenthesis, any arguments, and then +a closing right parenthesis, with the addition of a leading @code{@@} +character: + +@example +the_func = "sum" +result = @@the_func() # calls the `sum' function +@end example + +Here is a full program that processes the previously shown data, +using indirect function calls. + +@example +@c file eg/prog/indirectcall.awk +# indirectcall.awk --- Demonstrate indirect function calls +@c endfile +@ignore +@c file eg/prog/indirectcall.awk +# +# Arnold Robbins, arnold@skeeve.com, Public Domain +# January 2009 +@c endfile +@end ignore + +@c file eg/prog/indirectcall.awk +# average --- return the average of the values in fields $first - $last + +function average(first, last, sum, i) +@{ + sum = 0; + for (i = first; i <= last; i++) + sum += $i + + return sum / (last - first + 1) +@} + +# sum --- return the average of the values in fields $first - $last + +function sum(first, last, ret, i) +@{ + ret = 0; + for (i = first; i <= last; i++) + ret += $i + + return ret +@} +@c endfile +@end example + +These two functions expect to work on fields; thus the parameters +@code{first} and @code{last} indicate where in the fields to start. +Otherwise they perform the expected computations and are not unusual. + +@example +@c file eg/prog/indirectcall.awk +# For each record, print the class name and the requested statistics + +@{ + class_name = $1 + gsub(/_/, " ", class_name) # Replace _ with spaces + + # find start + for (i = 1; i <= NF; i++) @{ + if ($i == "data:") @{ + start = i + 1 + break + @} + @} + + printf("%s:\n", class_name) + for (i = 2; $i != "data:"; i++) @{ + the_function = $i + printf("\t%s: <%s>\n", $i, @@the_function(start, NF) "") + @} + print "" +@} +@c endfile +@end example + +This is the main processing for each record. It prints the class name (with +underscores replaced with spaces). It then finds the start of the actual data, +saving it in @code{start}. +The last part of the code loops through each function name (from @code{$2} up to +the marker, @samp{data:}), calling the function named by the field. The indirect +function call itself occurs as a parameter in the call to @code{printf}. +(The @code{printf} format string uses @samp{%s} as the format specifier so that we +can use functions that return strings, as well as numbers. Note that the result +from the indirect call is concatenated with the empty string, in order to force +it to be a string value.) + +Here is the result of running the program: + +@example +$ @kbd{gawk -f indirectcall.awk class_data1} +@result{} Biology 101: +@result{} sum: <352.8> +@result{} average: <88.2> +@result{} +@result{} Chemistry 305: +@result{} sum: <356.4> +@result{} average: <89.1> +@result{} +@result{} English 401: +@result{} sum: <376.1> +@result{} average: <94.025> +@end example + +The ability to use indirect function calls is more powerful than you may +think at first. The C and C++ languages provide ``function pointers,'' which +are a mechanism for calling a function chosen at runtime. One of the most +well-known uses of this ablity is the C @code{qsort} function, which sorts +an array using the well-known ``quick sort'' algorithm +(see @uref{http://en.wikipedia.org/wiki/Quick_sort, the Wikipedia article} +for more information). To use this function, you supply a pointer to a comparison +function. This mechanism allows you to sort arbitrary data in an arbitrary +fashion. + +We can do something similar using @command{gawk}, like this: + +@example +@c file eg/lib/quicksort.awk +# quicksort.awk --- Quicksort algorithm, with user-supplied +# comparison function +@c endfile +@ignore +@c file eg/lib/quicksort.awk +# +# Arnold Robbins, arnold@skeeve.com, Public Domain +# January 2009 +@c endfile + +@end ignore +@c file eg/lib/quicksort.awk +# quicksort --- C.A.R. Hoare's quick sort algorithm. See Wikipedia +# or almost any algorithms or computer science text +@c endfile +@ignore +@c file eg/lib/quicksort.awk +# +# Adapted from K&R-II, page 110 +@end ignore +@c file eg/lib/quicksort.awk + +function quicksort(data, left, right, less_than, i, last) +@{ + if (left >= right) # do nothing if array contains fewer + return # than two elements + + quicksort_swap(data, left, int((left + right) / 2)) + last = left + for (i = left + 1; i <= right; i++) + if (@@less_than(data[i], data[left])) + quicksort_swap(data, ++last, i) + quicksort_swap(data, left, last) + quicksort(data, left, last - 1, less_than) + quicksort(data, last + 1, right, less_than) +@} + +# quicksort_swap --- helper function for quicksort, should really be inline + +function quicksort_swap(data, i, j, temp) +@{ + temp = data[i] + data[i] = data[j] + data[j] = temp +@} +@c endfile +@end example + +The @code{quicksort} function receives the @code{data} array, the starting and ending +indices to sort (@code{left} and @code{right}), and the name of a function that +performs a ``less than'' comparison. It then implements the quick sort algorithm. + +To make use of the sorting function, we return to our previous example. The +first thing to do is write some comparison functions: + +@example +@c file eg/prog/indirectcall.awk +# num_lt --- do a numeric less than comparison + +function num_lt(left, right) +@{ + return ((left + 0) < (right + 0)) +@} + +# num_ge --- do a numeric greater than or equal to comparison + +function num_ge(left, right) +@{ + return ((left + 0) >= (right + 0)) +@} +@c endfile +@end example + +The @code{num_ge} function is needed to perform a descending sort; when used +to perform a ``less than'' test, it actually does the opposite (greater than +or equal to), which yields data sorted in descending order. + +Next comes a sorting function. It is parameterized with the starting and +ending field numbers and the comparison function. It builds an array with +the data and calls @code{quicksort} appropriately, and then formats the +results as a single string: + +@example +@c file eg/prog/indirectcall.awk +# do_sort --- sort the data according to `compare' and return it as a string + +function do_sort(first, last, compare, data, i, retval) +@{ + delete data + for (i = 1; first <= last; first++) @{ + data[i] = $first + i++ + @} + + quicksort(data, 1, i-1, compare) + + retval = data[1] + for (i = 2; i in data; i++) + retval = retval " " data[i] + + return retval +@} +@c endfile +@end example + +Finally, the two sorting functions call @code{do_sort}, passing in the +names of the two comparison functions: + +@example +@c file eg/prog/indirectcall.awk +# sort --- sort the data in ascending order and return it as a string + +function sort(first, last) +@{ + return do_sort(first, last, "num_lt") +@} + +# rsort --- sort the data in descending order and return it as a string + +function rsort(first, last) +@{ + return do_sort(first, last, "num_ge") +@} +@c endfile +@end example + +Here is an extended version of the data file: + +@example +@c file eg/data/class_data2 +Biology_101 sum average sort rsort data: 87.0 92.4 78.5 94.9 +Chemistry_305 sum average sort rsort data: 75.2 98.3 94.7 88.2 +English_401 sum average sort rsort data: 100.0 95.6 87.1 93.4 +@c endfile +@end example + +Finally, here are the results when the enhanced program is run: + +@example +$ @kbd{gawk -f quicksort.awk -f indirectcall.awk class_data2} +@result{} Biology 101: +@result{} sum: <352.8> +@result{} average: <88.2> +@result{} sort: <78.5 87.0 92.4 94.9> +@result{} rsort: <94.9 92.4 87.0 78.5> +@result{} +@result{} Chemistry 305: +@result{} sum: <356.4> +@result{} average: <89.1> +@result{} sort: <75.2 88.2 94.7 98.3> +@result{} rsort: <98.3 94.7 88.2 75.2> +@result{} +@result{} English 401: +@result{} sum: <376.1> +@result{} average: <94.025> +@result{} sort: <87.1 93.4 95.6 100.0> +@result{} rsort: <100.0 95.6 93.4 87.1> +@end example + +Remember that you must supply a leading @samp{@@} in front of an indirect function call. + +Unfortunately, indirect function calls cannot be used with the built-in functions. However, +you can generally write ``wrapper'' functions which call the built-in ones, and those can +be called indirectly. (Other than, perhaps, the mathematical functions, there is not a lot +of reason to try to call the built-in functions indirectly.) + +@command{gawk} does its best to make indirect function calls efficient. For example: + +@example +for (i = 1; i <= n; i++) + @@the_func() +@end example + +@noindent +@code{gawk} will look up the actual function to call only once. + @c ENDOFRANGE funcud @node Internationalization @@ -15496,7 +16122,7 @@ be extracted to create the initial @file{.po} file. As part of translation, it is often helpful to rearrange the order in which arguments to @code{printf} are output. -@command{gawk}'s @option{--gen-po} command-line option extracts +@command{gawk}'s @option{--gen-pot} command-line option extracts the messages and is discussed next. After that, @code{printf}'s ability to rearrange the order for @code{printf} arguments at runtime @@ -15512,25 +16138,25 @@ is covered. @subsection Extracting Marked Strings @cindex strings, extracting @cindex marked strings@comma{} extracting -@cindex @code{--gen-po} option +@cindex @code{--gen-pot} option @cindex command-line options, string extraction @cindex string extraction (internationalization) @cindex marked string extraction (internationalization) @cindex extraction, of marked strings (internationalization) -@cindex @code{--gen-po} option +@cindex @code{--gen-pot} option Once your @command{awk} program is working, and all the strings have been marked and you've set (and perhaps bound) the text domain, it is time to produce translations. -First, use the @option{--gen-po} command-line option to create +First, use the @option{--gen-pot} command-line option to create the initial @file{.po} file: @example -$ gawk --gen-po -f guide.awk > guide.po +$ gawk --gen-pot -f guide.awk > guide.po @end example @cindex @code{xgettext} utility -When run with @option{--gen-po}, @command{gawk} does not execute your +When run with @option{--gen-pot}, @command{gawk} does not execute your program. Instead, it parses it as usual and prints all marked strings to standard output in the format of a GNU @code{gettext} Portable Object file. Also included in the output are any constant strings that @@ -15739,10 +16365,10 @@ BEGIN @{ @end example @noindent -Run @samp{gawk --gen-po} to create the @file{.po} file: +Run @samp{gawk --gen-pot} to create the @file{.po} file: @example -$ gawk --gen-po -f guide.awk > guide.po +$ gawk --gen-pot -f guide.awk > guide.po @end example @noindent @@ -16162,6 +16788,10 @@ using regular pipes. @cindex TCP/IP @cindex @code{/inet/} files (@command{gawk}) @cindex files, @code{/inet/} (@command{gawk}) +@cindex @code{/inet4/} files (@command{gawk}) +@cindex files, @code{/inet4/} (@command{gawk}) +@cindex @code{/inet6/} files (@command{gawk}) +@cindex files, @code{/inet6/} (@command{gawk}) @cindex @code{EMISTERED} @quotation @code{EMISTERED}: @i{A host is a host from coast to coast,@* @@ -16179,13 +16809,21 @@ another process on another system across an IP networking connection. You can think of this as just a @emph{very long} two-way pipeline to a coprocess. The way @command{gawk} decides that you want to use TCP/IP networking is -by recognizing special @value{FN}s that begin with @samp{/inet/}. +by recognizing special @value{FN}s that begin with one of @samp{/inet/}, +@samp{/inet4/} or @samp{/inet6}. The full syntax of the special @value{FN} is -@file{/inet/@var{protocol}/@var{local-port}/@var{remote-host}/@var{remote-port}}. +@file{/@var{net-type}/@var{protocol}/@var{local-port}/@var{remote-host}/@var{remote-port}}. The components are: @table @var +@item net-type +Specifies the kind of Internet connection to make. +Use @samp{/inet4/} to force IPv4, and +@samp{/inet6/} to force IPv6. +Plain @samp{/inet/} (which used to be the only option) uses +the system default, most likely IPv4. + @item protocol The protocol to use over IP. This must be either @samp{tcp}, @samp{udp}, or @samp{raw}, for a TCP, UDP, or raw IP connection, @@ -16193,8 +16831,7 @@ respectively. The use of TCP is recommended for most applications. @cindex raw sockets @cindex sockets -@strong{Caution:} The use of raw sockets is not currently supported -in @value{PVERSION} 3.1 of @command{gawk}. +@strong{Caution:} The use of raw sockets is not currently supported. @item local-port @cindex @code{getservbyname} function (C library) @@ -16601,8 +17238,8 @@ full details. * Other Arguments:: Input file names and variable assignments. * AWKPATH Variable:: Searching directories for @command{awk} programs. -* Obsolete:: Obsolete Options and/or features. * Exit Status:: @command{gawk}'s exit status. +* Obsolete:: Obsolete Options and/or features. * Undocumented:: Undocumented Options and Features. * Known Bugs:: Known Bugs in @command{gawk}. @end menu @@ -16712,6 +17349,7 @@ variables may lead to surprising results. @command{awk} will reset the values of those variables as it needs to, possibly ignoring any predefined value you may have given. +@ignore @item -mf @var{N} @itemx -mr @var{N} @cindex @code{-mf}/@code{-mr} options @@ -16724,6 +17362,7 @@ for compatibility but otherwise ignored by @command{gawk}, since @command{gawk} has no predefined limits. (The Bell Laboratories @command{awk} no longer needs these options; it continues to accept them to avoid breaking old programs.) +@end ignore @item -W @var{gawk-opt} @cindex @code{-W} option @@ -16751,23 +17390,26 @@ by the user that could start with @samp{-}. @c ENDOFRANGE gnulo @c ENDOFRANGE longo -The previous list described options mandated by the POSIX standard, -as well as options available in the Bell Laboratories version of @command{awk}. +The previous list described options mandated by the POSIX standard. The following list describes @command{gawk}-specific options: @table @code -@item -O -@itemx --optimize -@cindex @code{--optimize} option -@cindex @code{-O} option -Enables some optimizations on the internal representation of the program. -At the moment this includes just simple constant folding. The @command{gawk} -maintainer hopes to add more optimizations over time. +@item -b +@itemx --characters-as-bytes +@cindex @code{-b} option +@cindex @code{--characters-as-bytes} option +Causes @command{gawk} to treat all input data as single-byte characters. +Normally, @command{gawk} follows the POSIX standard and attempts to process +its input data according to the current locale. This can often involve +converting multi-byte characters into wide characters (internally), and +can lead to problems or confusion if the input data does not contain valid +multi-byte characters. This option is an easy way to tell @command{gawk}: +``hands off my data!''. -@item -W compat -@itemx -W traditional +@item -c @itemx --compat @itemx --traditional +@cindex @code{--c} option @cindex @code{--compat} option @cindex @code{--traditional} option @cindex compatibility mode (@command{gawk}), specifying @@ -16779,24 +17421,22 @@ like the Bell Laboratories research version of Unix @command{awk}. which summarizes the extensions. Also see @ref{Compatibility Mode}. -@item -W copyright +@item -C @itemx --copyright +@itemx --copyleft +@cindex @code{-C} option @cindex @code{--copyright} option +@cindex @code{--copyleft} option @cindex GPL (General Public License), printing Print the short version of the General Public License and then exit. -@item -W copyleft -@itemx --copyleft -@cindex @code{--copyleft} option -Just like @option{--copyright}. -This option may disappear in a future version of @command{gawk}. - +@item -d @r{[}@var{file}@r{]} +@itemx --dump-variables@r{[}=@var{file}@r{]} +@cindex @code{-d} option @cindex @code{--dump-variables} option @cindex @code{awkvars.out} file @cindex files, @code{awkvars.out} @cindex variables, global, printing list of -@item -W dump-variables@r{[}=@var{file}@r{]} -@itemx --dump-variables@r{[}=@var{file}@r{]} Prints a sorted list of global variables, their types, and final values to @var{file}. If no @var{file} is provided, @command{gawk} prints this list to the file named @file{awkvars.out} in the current directory. @@ -16810,8 +17450,21 @@ inadvertently use global variables that you meant to be local. (This is a particularly easy mistake to make with simple variable names like @code{i}, @code{j}, etc.) -@item -W exec @var{file} +@item -e @var{program-text} +@itemx --source @var{program-text} +@cindex @code{-e} option +@cindex @code{--source} option +@cindex source code, mixing +Allows you to mix source code in files with source +code that you enter on the command line. +Program source code is taken from the @var{program-text}. +This is particularly useful +when you have library functions that you want to use from your command-line +programs (@pxref{AWKPATH Variable}). + +@item -E @var{file} @itemx --exec @var{file} +@cindex @code{-E} option @cindex @code{--exec} option @cindex @command{awk} programs, location of @cindex CGI, @command{awk} scripts for @@ -16828,14 +17481,15 @@ that pass arguments through the URL; using this option prevents a malicious with @samp{#!} scripts (@pxref{Executable Scripts}), like so: @example -#! /usr/local/bin/gawk --exec +#! /usr/local/bin/gawk -E @var{awk program here @dots{}} @end example -@item -W gen-po -@itemx --gen-po -@cindex @code{--gen-po} option +@item -g +@itemx --gen-pot +@cindex @code{-g} option +@cindex @code{--gen-pot} option @cindex portable object files, generating @cindex files, portable object, generating Analyzes the source program and @@ -16844,10 +17498,10 @@ output for all string constants that have been marked for translation. @xref{Internationalization}, for information about this option. -@item -W help -@itemx -W usage +@item -h @itemx --help @itemx --usage +@cindex @code{-h} option @cindex @code{--help} option @cindex @code{--usage} option @cindex GNU long options, printing list of @@ -16856,8 +17510,9 @@ for information about this option. Prints a ``usage'' message summarizing the short and long style options that @command{gawk} accepts and then exit. -@item -W lint@r{[}=fatal@r{]} -@itemx --lint@r{[}=fatal@r{]} +@item -l @r{[}value@r{]} +@itemx --lint@r{[}=value@r{]} +@cindex @code{-l} option @cindex @code{--lint} option @cindex lint checking, issuing warnings @cindex warnings, issuing @@ -16878,15 +17533,17 @@ problems pointed out by @option{--lint}, you should take care to search for all occurrences of each inappropriate construct. As @command{awk} programs are usually short, doing so is not burdensome. -@item -W lint-old +@item -L @itemx --lint-old +@cindex @code{--L} option @cindex @code{--lint-old} option Warns about constructs that are not available in the original version of @command{awk} from Version 7 Unix (@pxref{V7/SVR3.1}). -@item -W non-decimal-data +@item -n @itemx --non-decimal-data +@cindex @code{-n} option @cindex @code{--non-decimal-data} option @cindex hexadecimal values@comma{} enabling interpretation of @cindex octal values@comma{} enabling interpretation of @@ -16898,8 +17555,40 @@ values in input data @strong{Caution:} This option can severely break old programs. Use with care. -@item -W posix +@item -N +@itemx --use-lc-numeric +@cindex @code{-N} option +@cindex @code{--use-lc-numeric} option +This option forces the use of the locale's decimal point character +when parsing numeric input data (@pxref{Locales}). + +@item -O +@itemx --optimize +@cindex @code{--optimize} option +@cindex @code{-O} option +Enables some optimizations on the internal representation of the program. +At the moment this includes just simple constant folding. The @command{gawk} +maintainer hopes to add more optimizations over time. + +@item -p @r{[}@var{file}@r{]} +@itemx --profile@r{[}=@var{file}@r{]} +@cindex @code{-p} option +@cindex @code{--profile} option +@cindex @command{awk} programs, profiling, enabling +Enable profiling of @command{awk} programs +(@pxref{Profiling}). +By default, profiles are created in a file named @file{awkprof.out}. +The optional @var{file} argument allows you to specify a different +@value{FN} for the profile file. + +When run with @command{gawk}, the profile is just a ``pretty printed'' version +of the program. When run with @command{pgawk}, the profile contains execution +counts for each statement in the program in the left margin, and function +call counts for each function. + +@item -P @itemx --posix +@cindex @code{-P} option @cindex @code{--posix} option @cindex POSIX mode @cindex @command{gawk}, extensions@comma{} disabling @@ -16969,51 +17658,34 @@ If you supply both @option{--traditional} and @option{--posix} on the command line, @option{--posix} takes precedence. @command{gawk} also issues a warning if both options are supplied. -@item -W profile@r{[}=@var{file}@r{]} -@itemx --profile@r{[}=@var{file}@r{]} -@cindex @code{--profile} option -@cindex @command{awk} programs, profiling, enabling -Enable profiling of @command{awk} programs -(@pxref{Profiling}). -By default, profiles are created in a file named @file{awkprof.out}. -The optional @var{file} argument allows you to specify a different -@value{FN} for the profile file. - -When run with @command{gawk}, the profile is just a ``pretty printed'' version -of the program. When run with @command{pgawk}, the profile contains execution -counts for each statement in the program in the left margin, and function -call counts for each function. - -@item -W re-interval +@item -r @itemx --re-interval +@cindex @code{-r} option @cindex @code{--re-interval} option @cindex regular expressions, interval expressions and Allows interval expressions (@pxref{Regexp Operators}) in regexps. -Because interval expressions were traditionally not available in @command{awk}, -@command{gawk} does not provide them by default. This prevents old @command{awk} -programs from breaking. - -@item -W source @var{program-text} -@itemx --source @var{program-text} -@cindex @code{--source} option -@cindex source code, mixing -Allows you to mix source code in files with source -code that you enter on the command line. -Program source code is taken from the @var{program-text}. -This is particularly useful -when you have library functions that you want to use from your command-line -programs (@pxref{AWKPATH Variable}). - -@item -W use-lc-numeric -@itemx --use-lc-numeric -@cindex @code{--use-lc-numeric} option -This option forces the use of the locale's decimal point character -when parsing numeric input data (@pxref{Locales}). - -@item -W version +This is now the default behavior for @command{gawk}. +Nevertheless, this option remains for both backward compatibility, +and for use in combination with the @option{--traditional} option. + +@item -S +@itemx --sandbox +@cindex @code{-S} option +@cindex @code{--sandbox} option +@cindex sandbox mode +In sandbox mode, the @command{system} function, +input redirections with @command{getline}, +output redirections with @command{print} and @command{printf} +and dynamic extensions are disabled. +This is particularly useful when you want to run @command{awk} scripts +from questionable sources and need to make sure the scripts +can't access your system (other then the specified input data file). + +@item -V @itemx --version +@cindex @code{-V} option @cindex @code{--version} option @cindex @command{gawk}, versions of, information about@comma{} printing Prints version information for this particular copy of @command{gawk}. @@ -17271,24 +17943,27 @@ they will @emph{not} be in the next release). @c update this section for each release! +@ignore @cindex @code{next file} statement, deprecated @cindex @code{nextfile} statement, @code{next file} statement and +@end ignore For @value{PVERSION} @value{VERSION} of @command{gawk}, there are no deprecated command-line options @c or other deprecated features from the previous version of @command{gawk}. +@ignore The use of @samp{next file} (two words) for @code{nextfile} was deprecated in @command{gawk} 3.0 but still worked. Starting with @value{PVERSION} 3.1, the two-word usage is no longer accepted. +@end ignore -The process-related special files described in -@ref{Special Process}, -work as described, but -are now considered deprecated. -@command{gawk} prints a warning message every time they are used. +The process-related special files +@file{/dev/pid}, @file{/dev/ppid}, @file{/dev/pgrpid}, and +@file{/dev/user} were deprecated in @command{gawk} 3.1, but still +worked. As of @value{PVERSION} 3.2, they are no longer interpreted specially +by @command{gawk}. (Use @code{PROCINFO} instead; see @ref{Auto-set}.) -They will be removed from the next release of @command{gawk}. @ignore This @value{SECTION} @@ -19373,6 +20048,7 @@ function _pw_init( oldfs, oldrs, olddol0, pwcat, using_fw) oldrs = RS olddol0 = $0 using_fw = (PROCINFO["FS"] == "FIELDWIDTHS") + using_fpat = (PROCINFO["FS"] == "FPAT") FS = ":" RS = "\n" @@ -19388,6 +20064,8 @@ function _pw_init( oldfs, oldrs, olddol0, pwcat, using_fw) FS = oldfs if (using_fw) FIELDWIDTHS = FIELDWIDTHS + else if (using_fpat) + FPAT = FPAT RS = oldrs $0 = olddol0 @} @@ -19424,15 +20102,18 @@ field-splitting mechanism later. The test can only be true for @command{gawk}. It is false if using @code{FS} or on some other @command{awk} implementation. +The code that checks for using @code{FPAT} is similar. + The main part of the function uses a loop to read database lines, split the line into fields, and then store the line into each array as necessary. When the loop is done, @code{@w{_pw_init}} cleans up by closing the pipeline, -setting @code{@w{_pw_inited}} to one, and restoring @code{FS} (and @code{FIELDWIDTHS} +setting @code{@w{_pw_inited}} to one, and restoring @code{FS} +(and @code{FIELDWIDTHS} or @code{FPAT} if necessary), @code{RS}, and @code{$0}. The use of @code{@w{_pw_count}} is explained shortly. -@c NEXT ED: All of these functions don't need the ... in ... test. Just -@c return the array element, which will be "" if not already there. Duh. +@strong{FIXME: NEXT ED:} All of these functions don't need the ... in ... test. Just +return the array element, which will be "" if not already there. Duh. @cindex @code{getpwnam} function (C library) The @code{getpwnam} function takes a username as a string argument. If that user is in the database, it returns the appropriate line. Otherwise, it @@ -19738,6 +20419,7 @@ function _gr_init( oldfs, oldrs, olddol0, grcat, oldrs = RS olddol0 = $0 using_fw = (PROCINFO["FS"] == "FIELDWIDTHS") + using_fpat = (PROCINFO["FS"] == "FPAT") FS = ":" RS = "\n" @@ -19768,6 +20450,8 @@ function _gr_init( oldfs, oldrs, olddol0, grcat, FS = oldfs if (using_fw) FIELDWIDTHS = FIELDWIDTHS + else if (using_fpat) + FPAT = FPAT RS = oldrs $0 = olddol0 @} @@ -19783,7 +20467,8 @@ These routines follow the same general outline as the user database routines (@pxref{Passwd Functions}). The @code{@w{_gr_inited}} variable is used to ensure that the database is scanned no more than once. -The @code{@w{_gr_init}} function first saves @code{FS}, @code{FIELDWIDTHS}, @code{RS}, and +The @code{@w{_gr_init}} function first saves @code{FS}, +@code{RS}, and @code{$0}, and then sets @code{FS} and @code{RS} to the correct values for scanning the group information. @@ -19810,7 +20495,7 @@ the first time there were no names. This code adds the names with a leading comma. It also doesn't check that there is a @code{$4}.) Finally, @code{_gr_init} closes the pipeline to @command{grcat}, restores -@code{FS} (and @code{FIELDWIDTHS} if necessary), @code{RS}, and @code{$0}, +@code{FS} (and @code{FIELDWIDTHS} or @code{FPAT} if necessary), @code{RS}, and @code{$0}, initializes @code{_gr_count} to zero (it is used later), and makes @code{_gr_inited} nonzero. @@ -20953,7 +21638,7 @@ If the first argument is @option{-a}, then the flag variable Finally, @command{awk} is forced to read the standard input by setting @code{ARGV[1]} to @code{"-"} and @code{ARGC} to two: -@c NEXT ED: Add more leading commentary in this program +@strong{FIXME: NEXT ED:} Add more leading commentary in this program @cindex @code{tee.awk} program @example @c file eg/prog/tee.awk @@ -21407,12 +22092,11 @@ The @code{beginfile} function is simple; it just resets the counts of lines, words, and characters to zero, and saves the current @value{FN} in @code{fname}: -@c NEXT ED: make it lines = words = chars = 0 @example @c file eg/prog/wc.awk function beginfile(file) @{ - chars = lines = words = 0 + lines = words = chars = 0 fname = FILENAME @} @c endfile @@ -21430,14 +22114,13 @@ for the file that was just read. It relies on @code{beginfile} to reset the numbers for the following @value{DF}: @c ONE DAY: make the above footnote an exercise, instead of giving away the answer. -@c NEXT ED: make order for += be lines, words, chars @example @c file eg/prog/wc.awk function endfile(file) @{ - tchars += chars tlines += lines twords += words + tchars += chars if (do_lines) printf "\t%d", lines @group @@ -21513,8 +22196,8 @@ We hope you find them both interesting and enjoyable. * Simple Sed:: A Simple Stream Editor. * Igawk Program:: A wrapper for @command{awk} that includes files. -* Signature Program:: People do amazing things with too much time - on their hands. +* Signature Program:: People do amazing things with too much time on + their hands. @end menu @node Dupword Program @@ -22024,7 +22707,8 @@ END \ @c STARTOFRANGE worus @cindex words, usage counts@comma{} generating -@c NEXT ED: Rewrite this whole section and example +@strong{FIXME: NEXT ED:} Rewrite this whole section and example. + The following @command{awk} program prints the number of occurrences of each word in its input. It illustrates the associative nature of @command{awk} arrays by using strings as subscripts. It @@ -23583,8 +24267,8 @@ The @code{ERRNO} variable, which contains the system error message when @item The @file{/dev/pid}, @file{/dev/ppid}, @file{/dev/pgrpid}, and -@file{/dev/user} @value{FN} interpretation -(@pxref{Special Files}). +@file{/dev/user} @value{FN} interpretation. +(As of @value{PVERSION} 3.2, these names are no longer supported.) @item The ability to delete all of an array at once with @samp{delete @var{array}} @@ -23789,11 +24473,6 @@ pathnames that begin with @file{/p} as BSD portals (@pxref{Portal Files}). @item -The @option{--disable-directories-fatal} configuration option which -causes @command{gawk} to silently skip directories named on the -command line (@pxref{Additional Configuration Options}). - -@item The use of GNU Automake to help in standardizing the configuration process (@pxref{Quick Installation}). @@ -23848,6 +24527,67 @@ enable printing times as UTC (@pxref{Time Functions}). @end itemize +Version 3.2 of @command{gawk} introduced the following features: + +@itemize @bullet +@item +The special files @file{/dev/pid}, @file{/dev/ppid}, @file{/dev/pgrpid}, and +@file{/dev/user} were removed entirely +(@pxref{Obsolete}). + +@item +The @code{\s} and @code{\S} escapae sequences in regular expressions +(@pxref{GNU Regexp Operators}). + +@item +Interval expressions became part of the default matching done if not +in POSIX mode or in compatibility mode. +(@pxref{Regexp Operators}). + +@item +The @code{split()} function was given the additional optional fourth +argument which is an array to hold the text of the field separators. +(@pxref{String Functions}). + +@item +The @code{BEGINFILE} and @code{ENDFILE} special patterns. +(@pxref{BEGINFILE/ENDFILE}). + +@item +The @code{switch} statement was enabled by default. +(@pxref{Switch Statement}). + +@item +The @option{--sandbox} and @option{--characters-as-bytes} options +(@pxref{Options}). + +@item +Indirect function calls +(@pxref{Indirect Calls}). + +@item +The @option{--gen-po} command-line option was renamed @option{--gen-pot} +(@pxref{String Extraction}). + +@item +Directories on the command line produce a warning and are skipped +(@pxref{Command line directories}). + +@item +The @code{FPAT} variable and its effects +(@pxref{Splitting By Content}). + +@item +The @code{patsplit} function +(@pxref{String Functions}). + +@item +The @file{/inet4} and @samp{/inet6} special files for TCP/IP networking +using @samp{|&} to specify which version of the IP protocol to use. +(@pxref{TCP/IP Networking}). + +@end itemize + @c XXX ADD MORE STUFF HERE @c ENDOFRANGE fripls @@ -23990,11 +24730,9 @@ provided the initial port to Tandem systems and its documentation. @item @cindex Woehlke, Matthew -@cindex Wildenhues, Ralf Matthew Woehlke provided improvements for Tandem's POSIX-compliant systems. -Ralf Wildenhues now maintains this port. @item @cindex Brown, Martin @@ -24404,6 +25142,7 @@ There are several additional options you may use on the @command{configure} command line when compiling @command{gawk} from scratch, including: @table @code + @cindex @code{--enable-portals} configuration option @cindex configuration option, @code{--enable-portals} @item --enable-portals @@ -24412,13 +25151,6 @@ with @file{/p} as BSD portal files when doing two-way I/O with the @samp{|&} operator (@pxref{Portal Files}). -@cindex @code{--enable-switch} configuration option -@cindex configuration option, @code{--enable-switch} -@item --enable-switch -Enable the recognition and execution of C-style @code{switch} statements -in @command{awk} programs -(@pxref{Switch Statement}.) - @cindex @code{--with-whiny-user-strftime} configuration option @cindex configuration option, @code{--with-whiny-user-strftime} @item --with-whiny-user-strftime @@ -24451,11 +25183,6 @@ to fail. This option may be removed at a later date. Disable all message-translation facilities. This is usually not desirable, but it may bring you some slight performance improvement. - -@cindex @code{--disable-directories-fatal} configuration option -@cindex configuration option, @code{--disable-directories-fatal} -@item --disable-directories-fatal -Causes @command{gawk} to silently skip directories named on the command line. @end table As of version 3.1.5, the @option{--with-included-gettext} configuration @@ -24548,11 +25275,12 @@ distribution. @menu * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling @command{gawk} for MS-DOS, Windows32, +* PC Compiling:: Compiling @command{gawk} for MS-DOS, + Windows32, and OS/2. +* PC Dynamic:: Compiling @command{gawk} for dynamic + libraries. +* PC Using:: Running @command{gawk} on MS-DOS, Windows32 and OS/2. -* PC Dynamic:: Compiling @command{gawk} for dynamic libraries. -* PC Using:: Running @command{gawk} on MS-DOS, Windows32 and - OS/2. * Cygwin:: Building and running @command{gawk} for Cygwin. * MSYS:: Using @command{gawk} In The MSYS Environment. @@ -24604,7 +25332,7 @@ development tools from DJ Delorie (DJGPP; MS-DOS only) or Eberhard Mattes (EMX; MS-DOS, Windows32 and OS/2). Microsoft Visual C/C++ can be used to build a Windows32 version, and Microsoft C/C++ can be used to build 16-bit versions for MS-DOS and OS/2. -@c FIXME: +@strong{FIXME:} (As of @command{gawk} 3.1.2, the MSC version doesn't work. However, the maintainer is working on fixing it.) The file @@ -25445,30 +26173,33 @@ as follows: @c not supported @cindex Brown, Martin @item BeOS @tab Martin Brown, @email{mc@@whoever.com}. -@end ignore -@cindex Deifik, Scott @c @cindex Hankerson, Darrel @item MS-DOS @tab Scott Deifik, @email{scottd.mail@@sbcglobal.net}. @c and Darrel Hankerson, @email{hankedr@@auburn.edu}. +@end ignore @cindex Zaretskii, Eli +@cindex Deifik, Scott @item MS-Windows using MINGW @tab Eli Zaretskii, @email{eliz@@gnu.org}. +@item @tab Scott Deifik, @email{scottd.mail@@sbcglobal.net}. @c not supported @ignore @cindex Grigera, Juan @item MS-Windows @tab Juan Grigera, @email{juan@@grigera.com.ar}. +@end ignore @cindex Buening, Andreas @item OS/2 @tab Andreas Buening, @email{andreas.buening@@nexgo.de} -@end ignore +@ignore @cindex Davies, Stephen @item Tandem @tab Stephen Davies, @email{scldad@@sdc.com.au}. -@cindex Wildenhues, Ralf -@item Tandem (POSIX-compliant) @tab Ralf Wildenhues @email{Ralf.Wildenhues@@gmx.de} +@cindex Woehlke, Matthew +@item Tandem (POSIX-compliant) @tab Matthew Woehlke @tab @email{mw_triad@@users.sourceforge.net} +@end ignore @cindex Rankin, Pat @item VMS @tab Pat Rankin, @email{rankin@@pactechdata.com}. @@ -26057,6 +26788,10 @@ be sure to recompile them for each new @command{gawk} release. There is no guarantee of binary compatibility between different releases, nor will there ever be such a guarantee. +@quotation NOTE +When @option{--sandbox} is specified, extensions are disabled. +@end quotation + @menu * Internals:: A brief look at some @command{gawk} internals. * Sample Library:: A example of new functions. @@ -26940,7 +27675,7 @@ Following is a list of probable improvements that will make @command{gawk} perform better: @table @asis -@c NEXT ED: remove this item. awka and mawk do these respectively +@strong{FIXME: NEXT ED:} remove this item. awka and mawk do these respectively. @item Compilation of @command{awk} programs @command{gawk} uses a Bison (YACC-like) parser to convert the script given it into a syntax tree; the syntax @@ -26997,7 +27732,7 @@ other introductory texts that you should refer to instead.) At the most basic level, the job of a program is to process some input data and produce results. -@c NEXT ED: Use real images here +@strong{FIXME: NEXT ED:} Use real images here @iftex @tex \expandafter\ifx\csname graph\endcsname\relax \csname newbox\endcsname\graph\fi @@ -27079,7 +27814,7 @@ instructions in your program to process the data. When you write a program, it usually consists of the following, very basic set of steps: -@c NEXT ED: Use real images here +@strong{FIXME: NEXT ED:} Use real images here @iftex @tex \expandafter\ifx\csname graph\endcsname\relax \csname newbox\endcsname\graph\fi @@ -27375,10 +28110,10 @@ This is worth reading if you are interested in the details, but it does require a background in computer science. @menu -* String Conversion Precision:: The String Value Can Lie. -* Unexpected Results:: Floating Point Numbers Are Not - Abstract Numbers. -* POSIX Floating Point Problems:: Standards Versus Existing Practice. +* String Conversion Precision:: The String Value Can Lie. +* Unexpected Results:: Floating Point Numbers Are Not Abstract + Numbers. +* POSIX Floating Point Problems:: Standards Versus Existing Practice. @end menu @node String Conversion Precision @@ -27734,6 +28469,7 @@ In addition, @code{BINMODE}, @code{ERRNO}, @code{FIELDWIDTHS}, +@code{FPAT}, @code{IGNORECASE}, @code{LINT}, @code{PROCINFO}, @@ -27894,9 +28630,12 @@ separated by whitespace (or by a separator regexp that you can change by setting the built-in variable @code{FS}). Such pieces are called fields. If the pieces are of fixed length, you can use the built-in variable @code{FIELDWIDTHS} to describe their lengths. +If you wish to specify the contents of fields instead of the field +separator, you can use the built-in variable @code{FPAT} to do so. (@xref{Field Separators}, +@ref{Constant Size}, and -@ref{Constant Size}.) +@ref{Splitting By Content}.) @item Flag A variable whose truth value indicates the existence or nonexistence @@ -28025,28 +28764,24 @@ meaning. Keywords are reserved and may not be used as variable names. @command{gawk}'s keywords are: @code{BEGIN}, @code{END}, -@code{if}, -@code{else}, -@code{while}, -@code{do@dots{}while}, -@code{for}, -@code{for@dots{}in}, @code{break}, +@code{case}, @code{continue}, +@code{default} @code{delete}, -@code{next}, -@code{nextfile}, +@code{do@dots{}while}, +@code{else}, +@code{exit}, +@code{for@dots{}in}, +@code{for}, @code{function}, @code{func}, -and -@code{exit}. -If @command{gawk} was configured with the @option{--enable-switch} -option (@pxref{Switch Statement}), then +@code{if}, +@code{nextfile}, +@code{next}, @code{switch}, -@code{case}, and -@code{default} -are also keywords. +@code{while}. @cindex LGPL (Lesser General Public License) @cindex Lesser General Public License (LGPL) @@ -29522,6 +30257,171 @@ to permit their use in free software. @c ispell-local-pdict: "ispell-dict" @c End: +@node next-edition +@appendix To Do In The Next Edition + +Stuff for working on the manual + +@menu +* unresolved:: unresolved. +* revision:: revision. +* consistency:: consistency. +@end menu + +@node unresolved +@appendixsec Unresovled Issues + +@enumerate +@item +Robert J. Chassell points out that awk programs should have some indication +of how to use them. It would be useful to perhaps have a ``programming +style'' section of the manual that would include this and other tips. + +@item +The default AWKPATH search path should be configurable via @command{configure} +The default and how this changes needs to be documented. +@end enumerate + +@node revision +@appendixsec Revisions To Make + +@enumerate 1 +@item +Talk about common extensions, those in nawk, gawk, mawk. +@item +Use @code{foo} for variables and @code{foo()} for functions. +@item +Standardize the error messages from the functions and programs +in Chapters 12 and 13. +@item +Nuke the BBS stuff and use something that won't be obsolete. +@end enumerate + + +@node consistency +@appendixsec Consistency Issues + +@itemize @bullet +@item +/.../ regexps are in @@code, not @@samp +@item +".." strings are in @@code, not @@samp +@item +no @@print before @@dots +@item +values of expressions in the text (@code{x} has the value 15), +should be in roman, not @@code +@item +Use TAB and not tab +@item +Use ESC and not ESCAPE +@item +Use space and not blank to describe the space bar's character +The term "blank" is thus basically reserved for "blank lines" etc. +@item +To make dark corners work, the @@value@{DARKCORNER@} has to be outside +closing `.' of a sentence and after (@@pxref@{@dots{}@}). This is +a change from earlier versions. +@item +" " should have an @w{} around it +@item +Use "non-" only with language names or acronyms, or the words bug and option +@item +Use @command{ftp} when talking about anonymous ftp +@item +Use uppercase and lowercase, not "upper-case" and "lower-case" +or "upper case" and "lower case" +@item +Use "single precision" and "double precision", +not "single-precision" or "double-precision" +@item +Use alphanumeric, not alpha-numeric +@item +Use POSIX-compliant, not POSIX compliant +@item +Use --foo, not -Wfoo when describing long options +@item +Use "Bell Laboratories", but not "Bell Labs". +@item +Use "behavior" instead of "behaviour". +@item +Use "zeros" instead of "zeroes". +@item +Use "nonzero" not "non-zero". +@item +Use "runtime" not "run time" or "run-time". +@item +Use "command-line" not "command line". +@item +Use "online" not "on-line". +@item +Use "whitespace" not "white space". +@item +Use "Input/Output", not "input/output". Also "I/O", not "i/o". +@item +Use "lefthand"/"righthand", not "left-hand"/"right-hand". +@item +Use "workaround", not "work-around". +@item +Use "startup"/"cleanup", not "start-up"/"clean-up" +@item +Use @code{do}, and not @code{do}-@code{while}, except where +actually discussing the do-while. +@item +Use "versus" in text and "vs." in index entries +@item +The words "a", "and", "as", "between", "for", "from", "in", "of", +"on", "that", "the", "to", "with", and "without", +should not be capitalized in @@chapter, @@section etc. +"Into" and "How" should. +@item +Search for @@dfn; make sure important items are also indexed. +@item +"e.g." should always be followed by a comma. +@item +"i.e." should always be followed by a comma. +@item +The numbers zero through ten should be spelled out, except when +talking about file descriptor numbers. > 10 and < 0, it's +ok to use numbers. +@item +In tables, put command-line options in @@code, while in the text, +put them in @@option. +@item +When using @@strong, use "Note:" or "Caution:" with colons and +not exclamation points. Do not surround the paragraphs +with @@quotation ... @@end quotation. +@item +For most cases, do NOT put a comma before "and", "or" or "but". +But exercise taste with this rule. +@item +Don't show the awk command with a program in quotes when it's +just the program. I.e. + +@example +@{ + @dots{} +@} +@end example + +@noindent +and not +@example +awk '@{ + @dots{} +@}' +@end example + +@item +Do show it when showing command-line arguments, data files, etc, even +if there is no output shown. + +@item +Use numbered lists only to show a sequential series of steps. + +@item +Use @@code@{xxx@} for the xxx operator in indexing statements, not @@samp. +@end itemize @node Index @unnumbered Index @@ -29645,35 +30545,3 @@ Make FIELDWIDTHS be an array? % 3. Standardize the error messages from the functions and programs % in Chapters 12 and 13. % 4. Nuke the BBS stuff and use something that won't be obsolete -% 5. Reorg chapters 5 & 7 like so: -%Chapter 5: -% - Constants, Variables, and Conversions -% + Constant Expressions -% + Using Regular Expression Constants -% + Variables -% + Conversion of Strings and Numbers -% - Operators -% + Arithmetic Operators -% + String Concatenation -% + Assignment Expressions -% + Increment and Decrement Operators -% - Truth Values and Conditions -% + True and False in Awk -% + Boolean Expressions -% + Conditional Expressions -% - Function Calls -% - Operator Precedence -% -%Chapter 7: -% - Array Basics -% + Introduction to Arrays -% + Referring to an Array Element -% + Assigning Array Elements -% + Basic Array Example -% + Scanning All Elements of an Array -% - The delete Statement -% - Using Numbers to Subscript Arrays -% - Using Uninitialized Variables as Subscripts -% - Multidimensional Arrays -% + Scanning Multidimensional Arrays -% - Sorting Array Values and Indices with gawk diff --git a/doc/gawkinet.info b/doc/gawkinet.info index 9124faa4..325dc5a9 100644 --- a/doc/gawkinet.info +++ b/doc/gawkinet.info @@ -6,12 +6,12 @@ START-INFO-DIR-ENTRY * Gawkinet: (gawkinet). TCP/IP Internetworking With `gawk'. END-INFO-DIR-ENTRY - This is Edition 1.1 of `TCP/IP Internetworking With `gawk'', for the -3.1.7 (or later) version of the GNU implementation of AWK. + This is Edition 1.2 of `TCP/IP Internetworking With `gawk'', for the +4.0.0 (or later) version of the GNU implementation of AWK. - Copyright (C) 2000, 2001, 2002, 2004, 2009 Free Software Foundation, -Inc. + Copyright (C) 2000, 2001, 2002, 2004, 2009, 2010 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document @@ -30,12 +30,12 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) This file documents the networking features in GNU `awk'. - This is Edition 1.1 of `TCP/IP Internetworking With `gawk'', for the -3.1.7 (or later) version of the GNU implementation of AWK. + This is Edition 1.2 of `TCP/IP Internetworking With `gawk'', for the +4.0.0 (or later) version of the GNU implementation of AWK. - Copyright (C) 2000, 2001, 2002, 2004, 2009 Free Software Foundation, -Inc. + Copyright (C) 2000, 2001, 2002, 2004, 2009, 2010 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document @@ -59,14 +59,14 @@ General Introduction ******************** This file documents the networking features in GNU Awk (`gawk') version -3.1 and later. +4.0 and later. - This is Edition 1.1 of `TCP/IP Internetworking With `gawk'', for the -3.1.7 (or later) version of the GNU implementation of AWK. + This is Edition 1.2 of `TCP/IP Internetworking With `gawk'', for the +4.0.0 (or later) version of the GNU implementation of AWK. - Copyright (C) 2000, 2001, 2002, 2004, 2009 Free Software Foundation, -Inc. + Copyright (C) 2000, 2001, 2002, 2004, 2009, 2010 Free Software +Foundation, Inc. Permission is granted to copy, distribute and/or modify this document @@ -299,7 +299,23 @@ IP and routing infrastructure of the Internet. Much like the phone company's switching centers or the Post Office's trucks, it is not of much day-to-day interest to the regular user (or programmer). - It happens to be a best effort datagram protocol. + It happens to be a best effort datagram protocol. In the early + twenty-first century, there are two versions of this protocol in + use: + + IPv4 + The original version of the Internet Protocol, with 32-bit + addresses, on which most of the current Internet is based. + + IPv6 + The "next generation" of the Internet Protocol, with 128-bit + addresses. This protocol is in wide use in certain parts of + the world, but has not yet replaced IPv4.(1) + + Versions of the other protocols that sit "atop" IP exist for both + IPv4 and IPv6. However, as the IPv6 versions are fundamentally the + same as the original IPv4 versions, we will not distinguish + further between them. UDP The User Datagram Protocol. This is a best effort datagram @@ -318,6 +334,10 @@ basic communications. Examples are SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol), and HTTP (HyperText Transfer Protocol). + ---------- Footnotes ---------- + + (1) There isn't an IPv5. + File: gawkinet.info, Node: Ports, Prev: Basic Protocols, Up: The TCP/IP Protocols @@ -326,7 +346,7 @@ File: gawkinet.info, Node: Ports, Prev: Basic Protocols, Up: The TCP/IP Proto In the postal system, the address on an envelope indicates a physical location, such as a residence or office building. But there may be -more than one person at a location; thus you have to further quantify +more than one person at the location; thus you have to further quantify the recipient by putting a person or company name on the envelope. In the phone system, one phone number may represent an entire @@ -462,12 +482,12 @@ File: gawkinet.info, Node: Gawk Special Files, Next: TCP Connecting, Prev: Us 2.1 `gawk''s Networking Mechanisms ================================== -The `|&' operator introduced in `gawk' 3.1 for use in communicating -with a "coprocess" is described in *note Two-way Communications With -Another Process: (gawk)Two-way I/O. It shows how to do two-way I/O to a -separate process, sending it data with `print' or `printf' and reading -data with `getline'. If you haven't read it already, you should detour -there to do so. +The `|&' operator for use in communicating with a "coprocess" is +described in *note Two-way Communications With Another Process: +(gawk)Two-way I/O. It shows how to do two-way I/O to a separate +process, sending it data with `print' or `printf' and reading data with +`getline'. If you haven't read it already, you should detour there to +do so. `gawk' transparently extends the two-way I/O mechanism to simple networking through the use of special file names. When a "coprocess" @@ -488,12 +508,13 @@ and easier to use. The special file name for network access is made up of several fields, all of which are mandatory: - /inet/PROTOCOL/LOCALPORT/HOSTNAME/REMOTEPORT + /NET-TYPE/PROTOCOL/LOCALPORT/HOSTNAME/REMOTEPORT - The `/inet/' field is, of course, constant when accessing the -network. The LOCALPORT and REMOTEPORT fields do not have a meaning -when used with `/inet/raw' because "ports" only apply to TCP and UDP. -So, when using `/inet/raw', the port fields always have to be `0'. + The NET-TYPE field lets you specify IPv4 versus IPv6, or lets you +allow the system to choose. The LOCALPORT and REMOTEPORT fields do not +have a meaning when used with `/inet/raw' because "ports" only apply to +TCP and UDP. So, when using `/inet/raw', the port fields always have to +be `0'. * Menu: @@ -511,6 +532,12 @@ range of values and the defaults. All of the fields are mandatory. To let the system pick a value, or if the field doesn't apply to the protocol, specify it as `0': +NET-TYPE + This is one of `inet4' for IPv4, `inet6' for IPv6, or `inet' to + use the system default (which is likely to be IPv4). For the rest + of this document, we will use the generic `/inet' in our + descriptions of how `gawk''s networking works. + PROTOCOL Determines which member of the TCP/IP family of protocols is selected to transport the data across the network. There are three @@ -888,8 +915,8 @@ browser to Microsoft Windows 95 at the last minute. They even back-ported their TCP/IP implementation to Microsoft Windows for Workgroups 3.11, but it was a rather rudimentary and half-hearted implementation. Nevertheless, the equivalent of `/etc/services' resides -under `C:\WINNT\system32\drivers\etc\services' on Microsoft Windows -2000. +under `C:\WINNT\system32\drivers\etc\services' on Microsoft Windows 2000 +and Microsoft Windows XP. File: gawkinet.info, Node: Interacting, Next: Setting Up, Prev: Troubleshooting, Up: Using Networking @@ -1870,9 +1897,9 @@ is up to you to accomplish this? Some other ideas for useful networked applications: * Read the file `doc/awkforai.txt' in the `gawk' distribution. It - was written by Ronald P. Loui (Associate Professor of Computer - Science, at Washington University in St. Louis, - <loui@ai.wustl.edu>) and summarizes why he teaches `gawk' to + was written by Ronald P. Loui (at the time, Associate Professor of + Computer Science, at Washington University in St. Louis, + <loui@ai.wustl.edu>) and summarizes why he taught `gawk' to students of Artificial Intelligence. Here are some passages from the text: @@ -4262,10 +4289,10 @@ Index * finger utility: Setting Up. (line 22) * Free Documentation License (FDL): GNU Free Documentation License. (line 6) -* FTP (File Transfer Protocol): Basic Protocols. (line 29) +* FTP (File Transfer Protocol): Basic Protocols. (line 45) * gawk, networking: Using Networking. (line 6) * gawk, networking, connections <1>: TCP Connecting. (line 6) -* gawk, networking, connections: Special File Fields. (line 49) +* gawk, networking, connections: Special File Fields. (line 55) * gawk, networking, filenames: Gawk Special Files. (line 29) * gawk, networking, See Also email: Email. (line 6) * gawk, networking, service, establishing: Setting Up. (line 6) @@ -4284,10 +4311,10 @@ Index * GNUPlot utility: Interacting Service. (line 189) * Hoare, C.A.R. <1>: PROTBASE. (line 6) * Hoare, C.A.R.: MOBAGWHO. (line 6) -* hostname field: Special File Fields. (line 29) +* hostname field: Special File Fields. (line 35) * HTML (Hypertext Markup Language): Web page. (line 30) * HTTP (Hypertext Transfer Protocol) <1>: Web page. (line 6) -* HTTP (Hypertext Transfer Protocol): Basic Protocols. (line 29) +* HTTP (Hypertext Transfer Protocol): Basic Protocols. (line 45) * HTTP (Hypertext Transfer Protocol), record separators and: Web page. (line 30) * HTTP server, core logic: Interacting Service. (line 6) @@ -4316,15 +4343,16 @@ Index * MOBAGWHO program: MOBAGWHO. (line 6) * NCBI, National Center for Biotechnology Information: PROTBASE. (line 6) +* network type field: Special File Fields. (line 11) * networks, gawk and: Using Networking. (line 6) * networks, gawk and, connections <1>: TCP Connecting. (line 6) -* networks, gawk and, connections: Special File Fields. (line 49) +* networks, gawk and, connections: Special File Fields. (line 55) * networks, gawk and, filenames: Gawk Special Files. (line 29) * networks, gawk and, See Also email: Email. (line 6) * networks, gawk and, service, establishing: Setting Up. (line 6) * networks, gawk and, troubleshooting: Caveats. (line 6) * networks, ports, reserved: Setting Up. (line 37) -* networks, ports, specifying: Special File Fields. (line 18) +* networks, ports, specifying: Special File Fields. (line 24) * networks, See Also web pages: PANIC. (line 6) * Numerical Recipes: STATIST. (line 24) * ORS variable, HTTP and: Web page. (line 30) @@ -4341,7 +4369,7 @@ Index * PostScript: STATIST. (line 138) * PROLOG: Challenges. (line 76) * PROTBASE: PROTBASE. (line 6) -* protocol field: Special File Fields. (line 11) +* protocol field: Special File Fields. (line 17) * PS image format: STATIST. (line 6) * Python: Using Networking. (line 14) * Python, gawk networking and: Using Networking. (line 24) @@ -4356,12 +4384,12 @@ Index * RS variable, POP and: Email. (line 36) * servers <1>: Setting Up. (line 22) * servers: Making Connections. (line 14) -* servers, as hosts: Special File Fields. (line 29) +* servers, as hosts: Special File Fields. (line 35) * servers, HTTP: Interacting Service. (line 6) * servers, web: Simple Server. (line 6) * Simple Mail Transfer Protocol (SMTP): Email. (line 6) * SMTP (Simple Mail Transfer Protocol) <1>: Email. (line 6) -* SMTP (Simple Mail Transfer Protocol): Basic Protocols. (line 29) +* SMTP (Simple Mail Transfer Protocol): Basic Protocols. (line 45) * SPAK utility: File /inet/raw. (line 21) * STATIST program: STATIST. (line 6) * STOXPRED program: STOXPRED. (line 6) @@ -4375,7 +4403,8 @@ Index * TCP (Transmission Control Protocol), connection, establishing: TCP Connecting. (line 6) * TCP (Transmission Control Protocol), UDP and: Interacting. (line 48) -* TCP/IP, protocols, selecting: Special File Fields. (line 11) +* TCP/IP, network type, selecting: Special File Fields. (line 11) +* TCP/IP, protocols, selecting: Special File Fields. (line 17) * TCP/IP, sockets and: Gawk Special Files. (line 19) * Transmission Control Protocol, See TCP: Using Networking. (line 29) * troubleshooting, gawk, networks: Caveats. (line 6) @@ -4405,58 +4434,59 @@ Index Tag Table: -Node: Top2003 -Node: Preface5691 -Node: Introduction7066 -Node: Stream Communications8092 -Node: Datagram Communications9265 -Node: The TCP/IP Protocols10896 -Ref: The TCP/IP Protocols-Footnote-111580 -Node: Basic Protocols11737 -Node: Ports13059 -Node: Making Connections14464 -Ref: Making Connections-Footnote-117045 -Ref: Making Connections-Footnote-217092 -Node: Using Networking17273 -Node: Gawk Special Files19627 -Node: Special File Fields21631 -Ref: table-inet-components25381 -Node: Comparing Protocols27293 -Node: File /inet/tcp27882 -Node: File /inet/udp28908 -Node: File /inet/raw30029 -Ref: File /inet/raw-Footnote-133062 -Node: TCP Connecting33142 -Node: Troubleshooting35480 -Ref: Troubleshooting-Footnote-138531 -Node: Interacting39075 -Node: Setting Up41805 -Node: Email45299 -Node: Web page47625 -Ref: Web page-Footnote-150430 -Node: Primitive Service50627 -Node: Interacting Service53361 -Ref: Interacting Service-Footnote-162490 -Node: CGI Lib62522 -Node: Simple Server69483 -Ref: Simple Server-Footnote-177206 -Node: Caveats77307 -Node: Challenges78450 -Node: Some Applications and Techniques87117 -Node: PANIC89574 -Node: GETURL91292 -Node: REMCONF93915 -Node: URLCHK99391 -Node: WEBGRAB103226 -Node: STATIST107676 -Ref: STATIST-Footnote-1119384 -Node: MAZE119829 -Node: MOBAGWHO126017 -Ref: MOBAGWHO-Footnote-1139961 -Node: STOXPRED140016 -Node: PROTBASE154271 -Node: Links167353 -Node: GNU Free Documentation License170787 -Node: Index195926 +Node: Top2015 +Node: Preface5709 +Node: Introduction7084 +Node: Stream Communications8110 +Node: Datagram Communications9283 +Node: The TCP/IP Protocols10914 +Ref: The TCP/IP Protocols-Footnote-111598 +Node: Basic Protocols11755 +Ref: Basic Protocols-Footnote-113798 +Node: Ports13827 +Node: Making Connections15234 +Ref: Making Connections-Footnote-117815 +Ref: Making Connections-Footnote-217862 +Node: Using Networking18043 +Node: Gawk Special Files20397 +Node: Special File Fields22403 +Ref: table-inet-components26418 +Node: Comparing Protocols28330 +Node: File /inet/tcp28919 +Node: File /inet/udp29945 +Node: File /inet/raw31066 +Ref: File /inet/raw-Footnote-134099 +Node: TCP Connecting34179 +Node: Troubleshooting36517 +Ref: Troubleshooting-Footnote-139568 +Node: Interacting40137 +Node: Setting Up42867 +Node: Email46361 +Node: Web page48687 +Ref: Web page-Footnote-151492 +Node: Primitive Service51689 +Node: Interacting Service54423 +Ref: Interacting Service-Footnote-163552 +Node: CGI Lib63584 +Node: Simple Server70545 +Ref: Simple Server-Footnote-178268 +Node: Caveats78369 +Node: Challenges79512 +Node: Some Applications and Techniques88191 +Node: PANIC90648 +Node: GETURL92366 +Node: REMCONF94989 +Node: URLCHK100465 +Node: WEBGRAB104300 +Node: STATIST108750 +Ref: STATIST-Footnote-1120458 +Node: MAZE120903 +Node: MOBAGWHO127091 +Ref: MOBAGWHO-Footnote-1141035 +Node: STOXPRED141090 +Node: PROTBASE155345 +Node: Links168427 +Node: GNU Free Documentation License171861 +Node: Index197000 End Tag Table diff --git a/doc/gawkinet.texi b/doc/gawkinet.texi index 6abd7ea7..a7fe43b7 100644 --- a/doc/gawkinet.texi +++ b/doc/gawkinet.texi @@ -61,18 +61,18 @@ @c pages, I think this is the right decision. ADR. @set TITLE TCP/IP Internetworking With @command{gawk} -@set EDITION 1.1 -@set UPDATE-MONTH July, 2009 +@set EDITION 1.2 +@set UPDATE-MONTH August, 2010 @c gawk versions: -@set VERSION 3.1 -@set PATCHLEVEL 7 +@set VERSION 4.0 +@set PATCHLEVEL 0 @copying This is Edition @value{EDITION} of @cite{@value{TITLE}}, for the @value{VERSION}.@value{PATCHLEVEL} (or later) version of the GNU implementation of AWK. @sp 2 -Copyright (C) 2000, 2001, 2002, 2004, 2009 Free Software Foundation, Inc. +Copyright (C) 2000, 2001, 2002, 2004, 2009, 2010 Free Software Foundation, Inc. @sp 2 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -145,7 +145,7 @@ ISBN 1-882114-93-0 @* @comment node-name, next, previous, up This file documents the networking features in GNU Awk (@command{gawk}) -version 3.1 and later. +version 4.0 and later. @insertcopying @end ifnottex @@ -377,6 +377,23 @@ of the Internet. Much like the phone company's switching centers or the Post Office's trucks, it is not of much day-to-day interest to the regular user (or programmer). It happens to be a best effort datagram protocol. +In the early twenty-first century, there are two versions of this protocol +in use: + +@table @asis +@item IPv4 +The original version of the Internet Protocol, with 32-bit addresses, on which +most of the current Internet is based. + +@item IPv6 +The ``next generation'' of the Internet Protocol, with 128-bit addresses. +This protocol is in wide use in certain parts of the world, but has not +yet replaced IPv4.@footnote{There isn't an IPv5.} +@end table + +Versions of the other protocols that sit ``atop'' IP exist for both +IPv4 and IPv6. However, as the IPv6 versions are fundamentally the same +as the original IPv4 versions, we will not distinguish further between them. @item UDP The User Datagram Protocol. This is a best effort datagram protocol. @@ -402,7 +419,7 @@ FTP (File Transfer Protocol), and HTTP (HyperText Transfer Protocol). In the postal system, the address on an envelope indicates a physical location, such as a residence or office building. But there may be -more than one person at a location; thus you have to further quantify +more than one person at the location; thus you have to further quantify the recipient by putting a person or company name on the envelope. In the phone system, one phone number may represent an entire company, @@ -569,7 +586,7 @@ untractable (RAW). @comment node-name, next, previous, up @section @command{gawk}'s Networking Mechanisms -The @samp{|&} operator introduced in @command{gawk} 3.1 for use in +The @samp{|&} operator for use in communicating with a @dfn{coprocess} is described in @ref{Two-way I/O, ,Two-way Communications With Another Process, gawk, GAWK: Effective AWK Programming}. It shows how to do two-way I/O to a @@ -607,14 +624,15 @@ The special @value{FN} for network access is made up of several fields, all of which are mandatory: @example -/inet/@var{protocol}/@var{localport}/@var{hostname}/@var{remoteport} +/@var{net-type}/@var{protocol}/@var{localport}/@var{hostname}/@var{remoteport} @end example @cindex @code{/inet/} files (@command{gawk}) @cindex files, @code{/inet/} (@command{gawk}) @cindex localport field @cindex remoteport field -The @file{/inet/} field is, of course, constant when accessing the network. +The @var{net-type} field lets you specify IPv4 versus IPv6, or lets +you allow the system to choose. The @var{localport} and @var{remoteport} fields do not have a meaning when used with @file{/inet/raw} because ``ports'' only apply to TCP and UDP. So, when using @file{/inet/raw}, the port fields always have @@ -633,6 +651,15 @@ All of the fields are mandatory. To let the system pick a value, or if the field doesn't apply to the protocol, specify it as @samp{0}: @table @var +@cindex network type field +@c last comma is part of secondary +@cindex TCP/IP, network type, selecting +@item net-type +This is one of @samp{inet4} for IPv4, @samp{inet6} for IPv6, +or @samp{inet} to use the system default (which is likely to be IPv4). +For the rest of this document, we will use the generic @samp{/inet} +in our descriptions of how @command{gawk}'s networking works. + @cindex protocol field @c last comma is part of secondary @cindex TCP/IP, protocols, selecting @@ -807,7 +834,6 @@ only the @var{protocol} has changed. As before, it does matter which side starts first. The receiving side blocks and waits for the sender. In this case, the receiver/client has to be started first: -@page @example # Server BEGIN @{ @@ -1078,7 +1104,8 @@ their own browser to Microsoft Windows 95 at the last minute. They even back-por their TCP/IP implementation to Microsoft Windows for Workgroups 3.11, but it was a rather rudimentary and half-hearted implementation. Nevertheless, the equivalent of @file{/etc/services} resides under -@file{C:\WINNT\system32\drivers\etc\services} on Microsoft Windows 2000.} +@file{C:\WINNT\system32\drivers\etc\services} on Microsoft Windows 2000 +and Microsoft Windows XP.} The first column of the file gives the name of the service, and the second column gives a unique number and the protocol that one can use to connect to this service. @@ -2487,10 +2514,10 @@ Some other ideas for useful networked applications: @itemize @bullet @item Read the file @file{doc/awkforai.txt} in the @command{gawk} distribution. -It was written by Ronald P.@: Loui (Associate Professor of +It was written by Ronald P.@: Loui (at the time, Associate Professor of Computer Science, at Washington University in St. Louis, @email{loui@@ai.wustl.edu}) and summarizes why -he teaches @command{gawk} to students of Artificial Intelligence. Here are +he taught @command{gawk} to students of Artificial Intelligence. Here are some passages from the text: @cindex AI diff --git a/doc/lflashlight.eps b/doc/lflashlight.eps index fdb8cf31..68865f0f 100644 --- a/doc/lflashlight.eps +++ b/doc/lflashlight.eps @@ -131,5 +131,5 @@ x %%Trailer showpage % Trailer for xpic to PostScript converter -% $Header: x2ps.tra,v 1.2 89/07/02 15:59:53 moraes Exp $ +% $Header: /d/mongo/cvsrep/gawk-devel/doc/lflashlight.eps,v 1.1.1.1 2008/11/16 19:21:15 arnold Exp $ xpic end restore diff --git a/doc/rflashlight.eps b/doc/rflashlight.eps index 28cb7e25..1e3ab760 100644 --- a/doc/rflashlight.eps +++ b/doc/rflashlight.eps @@ -137,5 +137,5 @@ x %%Trailer showpage % Trailer for xpic to PostScript converter -% $Header: x2ps.tra,v 1.2 89/07/02 15:59:53 moraes Exp $ +% $Header: /d/mongo/cvsrep/gawk-devel/doc/rflashlight.eps,v 1.1.1.1 2008/11/16 19:21:15 arnold Exp $ xpic end restore @@ -334,6 +334,7 @@ static const char *const nodetypes[] = { "Node_in_array", "Node_func", "Node_func_call", + "Node_indirect_func_call", "Node_cond_exp", "Node_regex", "Node_dynregex", @@ -344,6 +345,7 @@ static const char *const nodetypes[] = { "Node_CONVFMT", "Node_FIELDWIDTHS", "Node_FNR", + "Node_FPAT", "Node_FS", "Node_IGNORECASE", "Node_LINT", @@ -391,9 +393,8 @@ flags2str(int flagval) { FUNC, "FUNC" }, { FIELD, "FIELD" }, { INTLSTR, "INTLSTR" }, -#ifdef WSTRCUR { WSTRCUR, "WSTRCUR" }, -#endif + { ASSIGNED, "ASSIGNED" }, { 0, NULL }, }; @@ -882,6 +883,10 @@ interpret(register NODE *volatile tree) fatal(_("`next' cannot be called from a BEGIN rule")); else if (in_end_rule) fatal(_("`next' cannot be called from an END rule")); + else if (in_beginfile_rule) + fatal(_("`next' cannot be called from a BEGINFILE rule")); + else if (in_endfile_rule) + fatal(_("`next' cannot be called from an ENDFILE rule")); /* could add a lint check here for in a loop or function */ longjmp(rule_tag, TAG_CONTINUE); @@ -889,10 +894,16 @@ interpret(register NODE *volatile tree) case Node_K_nextfile: INCREMENT(tree->exec_count); - if (in_begin_rule) + if (in_begin_rule && ! in_beginfile_rule) fatal(_("`nextfile' cannot be called from a BEGIN rule")); else if (in_end_rule) fatal(_("`nextfile' cannot be called from an END rule")); + /* + else if (in_beginfile_rule) + fatal(_("`nextfile' cannot be called from a BEGINFILE rule")); + */ + else if (in_endfile_rule) + fatal(_("`nextfile' cannot be called from an ENDFILE rule")); /* could add a lint check here for in a loop or function */ /* @@ -1073,6 +1084,7 @@ r_tree_eval(register NODE *tree, int iscond) case Node_in_array: return tmp_number((AWKNUM) (in_array(tree->lnode, tree->rnode) != NULL)); + case Node_indirect_func_call: case Node_func_call: return func_call(tree); @@ -1081,6 +1093,7 @@ r_tree_eval(register NODE *tree, int iscond) case Node_FNR: case Node_NF: case Node_FIELDWIDTHS: + case Node_FPAT: case Node_FS: case Node_RS: case Node_field_spec: @@ -1287,6 +1300,7 @@ r_tree_eval(register NODE *tree, int iscond) *lhs = make_str_node(nval, l->stlen + r->stlen, ALREADY_MALLOCED); } (*lhs)->flags &= ~(NUMCUR|NUMBER); + (*lhs)->flags |= ASSIGNED; /* for function pointers */ free_temp(r); if (after_assign) @@ -1301,8 +1315,11 @@ r_tree_eval(register NODE *tree, int iscond) lintwarn(_("assignment used in conditional context")); r = tree_eval(tree->rnode); lhs = get_lhs(tree->lnode, &after_assign, FALSE); - assign_val(lhs, r); + + if (tree->lnode->type == Node_var) + tree->lnode->var_value->flags |= ASSIGNED; /* needed in handling of indirect function calls */ + if (after_assign) (*after_assign)(); return *lhs; @@ -1609,6 +1626,8 @@ op_assign(register NODE *tree) cant_happen(); } + (*lhs)->flags |= ASSIGNED; + if (after_assign) (*after_assign)(); @@ -1859,6 +1878,7 @@ push_args(int count, r->type = Node_var; r->lnode = dupnode(n); r->rnode = (NODE *) NULL; + r->var_value->flags |= ASSIGNED; /* For indirect function calls */ free_temp(n); } r->vname = varnames[i]; @@ -1907,17 +1927,119 @@ func_call(NODE *tree) name = tree->rnode; arg_list = tree->lnode; - /* retrieve function definition node */ - if (tree->funcbody != NULL) - f = tree->funcbody; - else { + /* + * After several attempts to both get the semantics right + * and to avoid duplicate code, here is the cleanest code that + * does the right thing. + * + * Pardon the gotos. + */ + + /* First, decide if we can use a cached funcbody */ + if (tree->type == Node_func_call) { /* direct function call */ + if (tree->funcbody != NULL) { + f = tree->funcbody; + goto out; + } + + /* Get the function body, cache it */ f = lookup(name->stptr); - if (f == NULL || f->type != Node_func) + if (f == NULL) fatal(_("function `%s' not defined"), name->stptr); + else if (f->type != Node_func) + fatal(_("identifier `%s' is not a function"), name->stptr); tree->funcbody = f; /* save for next call */ + goto out; } + /* Indirect function call */ + + /* Check for parameters first, since they shadow globals */ + if (curfcall >= 0) { + int n = fcalls[curfcall].count; + NODE *parm; + int i; + int found = FALSE; + + for (i = 0; i < n; i++) { + parm = fcalls[curfcall].stack[i]; + if (strcmp(parm->vname, name->stptr) == 0) { + found = TRUE; + break; + } + } + + if (! found) + goto look_for_global_symbol; + + f = NULL; + name = stack_ptr[i]; + if (name->type == Node_var) { + if ((name->var_value->flags & ASSIGNED) == 0 && tree->funcbody) { + /* Should be safe to use cached value */ + f = tree->funcbody; + goto out; + } + + force_string(name->var_value); + f = lookup(name->var_value->stptr); + } + + if (f != NULL) { + if (f->type == Node_func) { + tree->funcbody = f; /* save for next call */ + name->var_value->flags &= ~ASSIGNED; + goto out; + } + } + + fatal(_("function parameter `%s' is not a scalar and cannot be used for indirect function call"), + name->stptr); + } + +look_for_global_symbol: + + /* not in a function call, or not a parameter, look it up globally */ + f = lookup(name->stptr); + if (f != NULL) { + if (f->type == Node_func) { + tree->funcbody = f; /* save for next call */ + tree->type = Node_func_call; /* make it a direct call */ + /* + * This may not be so silly; it allows a unified syntax which is good + * if someone is generating code. So leave it alone for now. + */ + if (0 && do_lint) + lintwarn(_("indirect call of real function `%s' is silly"), name->stptr); + goto out; + } else if (f->type == Node_var) { + char *fname; + NODE *fvalue = f->var_value; + + if ((fvalue->flags & ASSIGNED) == 0 && tree->funcbody) { + f = tree->funcbody; + goto out; + } + + force_string(f->var_value); + fname = f->var_value->stptr; + f = lookup(f->var_value->stptr); + if (f != NULL && f->type == Node_func) { + tree->funcbody = f; /* save for next call */ + fvalue->flags &= ~ASSIGNED; + goto out; + } + else + fatal(_("function `%s' called indirectly through `%s' does not exist"), + fname, name->stptr); + } + } + + fatal(_("identifier `%s' cannot be used for indirect function call"), name->stptr); + +out: + #ifdef FUNC_TRACE fprintf(stderr, "function `%s' called\n", name->stptr); #endif @@ -2045,6 +2167,12 @@ r_get_lhs(register NODE *ptr, Func_ptr *assign, int reference) *assign = set_FS; break; + case Node_FPAT: + aptr = &(FPAT_node->var_value); + if (assign != NULL) + *assign = set_FPAT; + break; + case Node_FNR: if (FNR_node->var_value->numbr != FNR) { unref(FNR_node->var_value); @@ -2541,8 +2669,11 @@ update_ERRNO_saved(int errcode) { char *cp; - cp = strerror(errcode); - cp = gettext(cp); + if (errcode) { + cp = strerror(errcode); + cp = gettext(cp); + } else + cp = ""; unref(ERRNO_node->var_value); ERRNO_node->var_value = make_string(cp, strlen(cp)); } @@ -57,6 +57,9 @@ do_ext(NODE *tree) junk = (AWKNUM) dummy; #endif + if (do_sandbox) + fatal(_("extensions not allowed in sandbox mode")); + if (do_lint && ! warned) { warned = TRUE; lintwarn(_("`extension' is a gawk extension")); @@ -39,25 +39,25 @@ is_blank(int c) typedef void (* Setfunc) P((long, char *, long, NODE *)); static long (*parse_field) P((long, char **, int, NODE *, - Regexp *, Setfunc, NODE *, int)); + Regexp *, Setfunc, NODE *, NODE *, int)); static void rebuild_record P((void)); static long re_parse_field P((long, char **, int, NODE *, - Regexp *, Setfunc, NODE *, int)); + Regexp *, Setfunc, NODE *, NODE *, int)); static long def_parse_field P((long, char **, int, NODE *, - Regexp *, Setfunc, NODE *, int)); + Regexp *, Setfunc, NODE *, NODE *, int)); static long posix_def_parse_field P((long, char **, int, NODE *, - Regexp *, Setfunc, NODE *, int)); + Regexp *, Setfunc, NODE *, NODE *, int)); static long null_parse_field P((long, char **, int, NODE *, - Regexp *, Setfunc, NODE *, int)); + Regexp *, Setfunc, NODE *, NODE *, int)); static long sc_parse_field P((long, char **, int, NODE *, - Regexp *, Setfunc, NODE *, int)); + Regexp *, Setfunc, NODE *, NODE *, int)); static long fw_parse_field P((long, char **, int, NODE *, - Regexp *, Setfunc, NODE *, int)); + Regexp *, Setfunc, NODE *, NODE *, int)); +static long fpat_parse_field P((long, char **, int, NODE *, + Regexp *, Setfunc, NODE *, NODE *, int)); static void set_element P((long num, char * str, long len, NODE *arr)); static void grow_fields_arr P((long num)); static void set_field P((long num, char *str, long len, NODE *dummy)); -static void update_PROCINFO P((char *subscript, char *str)); - static char *parse_extent; /* marks where to restart parse of record */ static long parse_high_water = 0; /* field number that we have parsed so far */ @@ -74,11 +74,11 @@ int default_FS; /* TRUE when FS == " " */ Regexp *FS_re_yes_case = NULL; Regexp *FS_re_no_case = NULL; Regexp *FS_regexp = NULL; +Regexp *FPAT_re_yes_case = NULL; +Regexp *FPAT_re_no_case = NULL; +Regexp *FPAT_regexp = NULL; NODE *Null_field = NULL; -/* using_FIELDWIDTHS --- static function, macro to avoid overhead */ -#define using_FIELDWIDTHS() (parse_field == fw_parse_field) - /* init_fields --- set up the fields array to start with */ void @@ -213,9 +213,7 @@ rebuild_record() n->stptr = cops; unref(fields_arr[i]); fields_arr[i] = n; -#ifdef MBS_SUPPORT assert((n->flags & WSTRCUR) == 0); -#endif } cops += fields_arr[i]->stlen + ofslen; } @@ -365,6 +363,7 @@ re_parse_field(long up_to, /* parse only up to this field number */ Regexp *rp, Setfunc set, /* routine to set the value of the parsed field */ NODE *n, + NODE *sep_arr, /* array of field separators (maybe NULL) */ int in_middle) { register char *scan = *buf; @@ -372,6 +371,7 @@ re_parse_field(long up_to, /* parse only up to this field number */ register char *field; register char *end = scan + len; int regex_flags = RE_NEED_START; + char *sep; #ifdef MBS_SUPPORT size_t mbclen = 0; mbstate_t mbs; @@ -387,9 +387,17 @@ re_parse_field(long up_to, /* parse only up to this field number */ if (len == 0) return nf; - if (RS_is_null && default_FS) + if (RS_is_null && default_FS) { + sep = scan; while (scan < end && (*scan == ' ' || *scan == '\t' || *scan == '\n')) scan++; + if (sep_arr != NULL && sep < scan) + set_element(nf, sep, (long)(scan - sep), sep_arr); + } + + if (rp == NULL) /* use FS */ + rp = FS_regexp; + field = scan; while (scan < end && research(rp, scan, 0, (end - scan), regex_flags) != -1 @@ -397,7 +405,7 @@ re_parse_field(long up_to, /* parse only up to this field number */ regex_flags |= RE_NO_BOL; if (REEND(rp, scan) == RESTART(rp, scan)) { /* null match */ #ifdef MBS_SUPPORT - if (gawk_mb_cur_max > 1) { + if (gawk_mb_cur_max > 1) { mbclen = mbrlen(scan, end-scan, &mbs); if ((mbclen == 1) || (mbclen == (size_t) -1) || (mbclen == (size_t) -2) || (mbclen == 0)) { @@ -417,6 +425,9 @@ re_parse_field(long up_to, /* parse only up to this field number */ } (*set)(++nf, field, (long)(scan + RESTART(rp, scan) - field), n); + if (sep_arr != NULL) + set_element(nf, scan + RESTART(rp, scan), + (long) (REEND(rp, scan) - RESTART(rp, scan)), sep_arr); scan += REEND(rp, scan); field = scan; if (scan == end) /* FS at end of record */ @@ -446,6 +457,7 @@ def_parse_field(long up_to, /* parse only up to this field number */ Regexp *rp ATTRIBUTE_UNUSED, Setfunc set, /* routine to set the value of the parsed field */ NODE *n, + NODE *sep_arr, /* array of field separators (maybe NULL) */ int in_middle ATTRIBUTE_UNUSED) { register char *scan = *buf; @@ -453,6 +465,7 @@ def_parse_field(long up_to, /* parse only up to this field number */ register char *field; register char *end = scan + len; char sav; + char *sep; if (up_to == UNLIMITED) nf = 0; @@ -474,20 +487,32 @@ def_parse_field(long up_to, /* parse only up to this field number */ /* because it will be destroyed now: */ *end = ' '; /* sentinel character */ + sep = scan; + for (; nf < up_to; scan++) { /* * special case: fs is single space, strip leading whitespace */ while (scan < end && (*scan == ' ' || *scan == '\t' || *scan == '\n')) scan++; + + if (sep_arr != NULL && scan > sep) + set_element(nf, sep, (long) (scan - sep), sep_arr); + if (scan >= end) break; + field = scan; + while (*scan != ' ' && *scan != '\t' && *scan != '\n') scan++; + (*set)(++nf, field, (long)(scan - field), n); + if (scan == end) break; + + sep = scan; } /* everything done, restore original char at *end */ @@ -514,6 +539,7 @@ posix_def_parse_field(long up_to, /* parse only up to this field number */ Regexp *rp ATTRIBUTE_UNUSED, Setfunc set, /* routine to set the value of the parsed field */ NODE *n, + NODE *dummy ATTRIBUTE_UNUSED, /* sep_arr not needed here: hence dummy */ int in_middle ATTRIBUTE_UNUSED) { register char *scan = *buf; @@ -579,6 +605,7 @@ null_parse_field(long up_to, /* parse only up to this field number */ Regexp *rp ATTRIBUTE_UNUSED, Setfunc set, /* routine to set the value of the parsed field */ NODE *n, + NODE *sep_arr, /* array of field separators (maybe NULL) */ int in_middle ATTRIBUTE_UNUSED) { register char *scan = *buf; @@ -601,13 +628,18 @@ null_parse_field(long up_to, /* parse only up to this field number */ /* We treat it as a singlebyte character. */ mbclen = 1; } + if (sep_arr != NULL && nf > 0) + set_element(nf, scan, 0L, sep_arr); (*set)(++nf, scan, mbclen, n); scan += mbclen; } } else #endif - for (; nf < up_to && scan < end; scan++) + for (; nf < up_to && scan < end; scan++) { + if (sep_arr != NULL && nf > 0) + set_element(nf, scan, 0L, sep_arr); (*set)(++nf, scan, 1L, n); + } *buf = scan; return nf; @@ -628,6 +660,7 @@ sc_parse_field(long up_to, /* parse only up to this field number */ Regexp *rp ATTRIBUTE_UNUSED, Setfunc set, /* routine to set the value of the parsed field */ NODE *n, + NODE *sep_arr, /* array of field separators (maybe NULL) */ int in_middle ATTRIBUTE_UNUSED) { register char *scan = *buf; @@ -678,6 +711,8 @@ sc_parse_field(long up_to, /* parse only up to this field number */ (*set)(++nf, field, (long)(scan - field), n); if (scan == end) break; + if (sep_arr != NULL) + set_element(nf, scan, 1L, sep_arr); scan++; if (scan == end) { /* FS at end of record */ (*set)(++nf, field, 0L, n); @@ -706,6 +741,7 @@ fw_parse_field(long up_to, /* parse only up to this field number */ Regexp *rp ATTRIBUTE_UNUSED, Setfunc set, /* routine to set the value of the parsed field */ NODE *n, + NODE *dummy ATTRIBUTE_UNUSED, /* sep_arr not needed here: hence dummy */ int in_middle ATTRIBUTE_UNUSED) { register char *scan = *buf; @@ -787,7 +823,9 @@ get_field(register long requested, Func_ptr *assign) fields_arr[0]->stlen - (parse_extent - fields_arr[0]->stptr), save_FS, FS_regexp, set_field, - (NODE *) NULL, in_middle); + (NODE *) NULL, + (NODE *) NULL, + in_middle); parse_high_water = NF; } rebuild_record(); @@ -816,7 +854,7 @@ get_field(register long requested, Func_ptr *assign) in_middle = TRUE; parse_high_water = (*parse_field)(requested, &parse_extent, fields_arr[0]->stlen - (parse_extent - fields_arr[0]->stptr), - save_FS, FS_regexp, set_field, (NODE *) NULL, in_middle); + save_FS, NULL, set_field, (NODE *) NULL, (NODE *) NULL, in_middle); /* * if we reached the end of the record, set NF to the number of @@ -862,10 +900,10 @@ set_element(long num, char *s, long len, NODE *n) NODE * do_split(NODE *tree) { - NODE *src, *arr, *sep, *fs, *src2, *fs2, *tmp; + NODE *src, *arr, *sep, *fs, *sep_arr, *src2, *fs2, *tmp; char *s; long (*parseit) P((long, char **, int, NODE *, - Regexp *, Setfunc, NODE *, int)); + Regexp *, Setfunc, NODE *, NODE *, int)); Regexp *rp = NULL; src = force_string(tree_eval(tree->lnode)); @@ -876,6 +914,30 @@ do_split(NODE *tree) sep = tree->rnode->rnode->lnode; + sep_arr = tree->rnode->rnode->rnode; + if (sep_arr != NULL) { + static short warned1 = FALSE, warned2 = FALSE; + + if (do_traditional || do_posix) { + fatal(_("split: fourth argument is a gawk extension")); + } + + sep_arr = get_param(tree->rnode->rnode->rnode->lnode); + + if (sep_arr->type != Node_var_array) + fatal(_("split: fourth argument is not an array")); + + if (do_lint && ! warned1) { + warned1 = TRUE; + lintwarn(_("split: fourth argument is a gawk extension")); + } + + if (do_lint_old && ! warned2) { + warned2 = TRUE; + warning(_("split: fourth argument is a gawk extension")); + } + } + if (src->stlen == 0) { /* * Skip the work if first arg is the null string. @@ -887,13 +949,17 @@ do_split(NODE *tree) if ((sep->re_flags & (FS_DFLT|CONSTANT)) == 0) free_temp(tree_eval(sep->re_exp)); /* - * And now we can safely turn off the array. + * And now we can safely turn off the arrays. */ assoc_clear(arr); + + if (sep_arr != NULL) + assoc_clear(sep_arr); + return tmp_number((AWKNUM) 0); } - if ((sep->re_flags & FS_DFLT) != 0 && ! using_FIELDWIDTHS() && ! RS_is_null) { + if ((sep->re_flags & FS_DFLT) != 0 && current_field_sep() != Using_FIELDWIDTHS && ! RS_is_null) { parseit = parse_field; fs = force_string(FS_node->var_value); rp = FS_regexp; @@ -906,7 +972,7 @@ do_split(NODE *tree) if (do_lint && ! warned) { warned = TRUE; - lintwarn(_("split: null string for third arg is a gawk extension")); + lintwarn(_("split: null string for third argument is a gawk extension")); } } else if (fs->stlen == 1 && (sep->re_flags & CONSTANT) == 0) { if (fs->stptr[0] == ' ') { @@ -936,14 +1002,98 @@ do_split(NODE *tree) assoc_clear(arr); + if (sep_arr != NULL) + assoc_clear(sep_arr); + s = src2->stptr; tmp = tmp_number((AWKNUM) (*parseit)(UNLIMITED, &s, (int) src2->stlen, - fs2, rp, set_element, arr, FALSE)); + fs2, rp, set_element, arr, sep_arr, FALSE)); unref(src2); unref(fs2); return tmp; } +/* + * do_patsplit --- implement patsplit(), semantics are same as for field + * splitting with FPAT. + */ + +NODE * +do_patsplit(NODE *tree) +{ + NODE *src, *arr, *sep, *fpat, *sep_arr, *src2, *fpat2, *tmp; + char *s; + Regexp *rp = NULL; + + src = force_string(tree_eval(tree->lnode)); + + arr = get_param(tree->rnode->lnode); + if (arr->type != Node_var_array) + fatal(_("patsplit: second argument is not an array")); + + sep = tree->rnode->rnode->lnode; + + sep_arr = tree->rnode->rnode->rnode; + if (sep_arr != NULL) { + sep_arr = get_param(tree->rnode->rnode->rnode->lnode); + + if (sep_arr->type != Node_var_array) + fatal(_("patsplit: fourth argument is not an array")); + } + + if (src->stlen == 0) { + /* + * Skip the work if first arg is the null string. + */ + free_temp(src); + /* + * Evaluate sep if it may have side effects. + */ + if ((sep->re_flags & CONSTANT) == 0) + free_temp(tree_eval(sep->re_exp)); + /* + * And now we can safely turn off the arrays. + */ + assoc_clear(arr); + + if (sep_arr != NULL) + assoc_clear(sep_arr); + + return tmp_number((AWKNUM) 0); + } + + fpat = force_string(tree_eval(sep->re_exp)); + if (fpat->stlen == 0) { + fatal(_("patsplit: third argument must be non-null")); + } + rp = re_update(sep); + + /* + * do dupnode(), to avoid problems like + * x = split(a["LINE"], a, a["FS"]) + * since we assoc_clear the array. gack. + * this also gives us complete call by value semantics. + */ + src2 = dupnode(src); + free_temp(src); + + fpat2 = dupnode(fpat); + free_temp(fpat); + + assoc_clear(arr); + + if (sep_arr != NULL) + assoc_clear(sep_arr); + + s = src2->stptr; + tmp = tmp_number((AWKNUM) fpat_parse_field(UNLIMITED, &s, + (int) src2->stlen, fpat2, rp, + set_element, arr, sep_arr, FALSE)); + unref(src2); + unref(fpat2); + return tmp; +} + /* set_FIELDWIDTHS --- handle an assignment to FIELDWIDTHS */ void @@ -1017,7 +1167,7 @@ set_FIELDWIDTHS() i--; FIELDWIDTHS[i+1] = -1; - update_PROCINFO("FS", "FIELDWIDTHS"); + update_PROCINFO_str("FS", "FIELDWIDTHS"); } /* set_FS --- handle things when FS is assigned to */ @@ -1053,7 +1203,7 @@ set_FS() FS_regexp = (IGNORECASE ? FS_re_no_case : FS_re_yes_case); /* FS = FS */ - if (! using_FIELDWIDTHS()) { + if (current_field_sep() == Using_FS) { return; } else { remake_re = FALSE; @@ -1148,21 +1298,26 @@ choose_fs_function: if (fs->stlen == 1 && parse_field == re_parse_field) FS_regexp = FS_re_yes_case; - update_PROCINFO("FS", "FS"); + update_PROCINFO_str("FS", "FS"); } -/* using_fieldwidths --- is FS or FIELDWIDTHS in use? */ +/* current_field_sep --- return what field separator is */ -int -using_fieldwidths() +field_sep_type +current_field_sep() { - return using_FIELDWIDTHS(); + if (parse_field == fw_parse_field) + return Using_FIELDWIDTHS; + else if (parse_field == fpat_parse_field) + return Using_FPAT; + else + return Using_FS; } -/* update_PROCINFO --- update PROCINFO[sub] when FS or FIELDWIDTHS set */ +/* update_PROCINFO_str --- update PROCINFO[sub] with string value */ -static void -update_PROCINFO(char *subscript, char *str) +void +update_PROCINFO_str(char *subscript, char *str) { NODE **aptr; @@ -1172,3 +1327,347 @@ update_PROCINFO(char *subscript, char *str) aptr = assoc_lookup(PROCINFO_node, tmp_string(subscript, strlen(subscript)), FALSE); assign_val(aptr, tmp_string(str, strlen(str))); } + +/* update_PROCINFO_num --- update PROCINFO[sub] with numeric value */ + +void +update_PROCINFO_num(char *subscript, AWKNUM val) +{ + NODE **aptr; + + if (PROCINFO_node == NULL) + return; + + aptr = assoc_lookup(PROCINFO_node, tmp_string(subscript, strlen(subscript)), FALSE); + *aptr = make_number(val); +} + +/* set_FPAT --- handle an assignment to FPAT */ + +void +set_FPAT() +{ + static short warned = FALSE; + static NODE *save_fpat = NULL; + int remake_re = TRUE; + NODE *fpat; + + if (do_lint && ! warned) { + warned = TRUE; + lintwarn(_("`FPAT' is a gawk extension")); + } + if (do_traditional) /* quick and dirty, does the trick */ + return; + + /* + * If changing the way fields are split, obey least-suprise + * semantics, and force $0 to be split totally. + */ + if (fields_arr != NULL) + (void) get_field(UNLIMITED - 1, 0); + + /* It's possible that only IGNORECASE changed, or FPAT = FPAT */ + /* + * This comparison can't use cmp_nodes(), which pays attention + * to IGNORECASE, and that's not what we want. + */ + if (save_fpat + && FPAT_node->var_value->stlen == save_fpat->stlen + && memcmp(FPAT_node->var_value->stptr, save_fpat->stptr, save_fpat->stlen) == 0) { + if (FPAT_regexp != NULL) + FPAT_regexp = (IGNORECASE ? FPAT_re_no_case : FPAT_re_yes_case); + + /* FPAT = FPAT */ + if (current_field_sep() == Using_FPAT) { + return; + } else { + remake_re = FALSE; + goto set_fpat_function; + } + } + + unref(save_fpat); + save_fpat = dupnode(FPAT_node->var_value); + if (FPAT_regexp != NULL) { + refree(FPAT_re_yes_case); + refree(FPAT_re_no_case); + FPAT_re_yes_case = FPAT_re_no_case = FPAT_regexp = NULL; + } + +set_fpat_function: + fpat = force_string(FPAT_node->var_value); + parse_field = fpat_parse_field; + + if (remake_re) { + if (FPAT_regexp != NULL) { + refree(FPAT_re_yes_case); + refree(FPAT_re_no_case); + FPAT_re_yes_case = FPAT_re_no_case = FPAT_regexp = NULL; + } + + FPAT_re_yes_case = make_regexp(fpat->stptr, fpat->stlen, FALSE, TRUE); + FPAT_re_no_case = make_regexp(fpat->stptr, fpat->stlen, TRUE, TRUE); + FPAT_regexp = (IGNORECASE ? FPAT_re_no_case : FPAT_re_yes_case); + } + + update_PROCINFO_str("FS", "FPAT"); +} + +/* + * increment_scan --- macro to move scan pointer ahead by one character. + * Implementation varies if doing MBS or not. + */ + +#ifdef MBS_SUPPORT +#define increment_scan(scanp, len) incr_scan(scanp, len, & mbs) +#else +#define increment_scan(scanp, len) ((*scanp)++) +#endif + +#ifdef MBS_SUPPORT +/* incr_scan --- MBS version of increment_scan() */ + +static void +incr_scan(char **scanp, size_t len, mbstate_t *mbs) +{ + size_t mbclen = 0; + + if (gawk_mb_cur_max > 1) { + mbclen = mbrlen(*scanp, len, mbs); + if ( (mbclen == 1) + || (mbclen == (size_t) -1) + || (mbclen == (size_t) -2) + || (mbclen == 0)) { + /* We treat it as a singlebyte character. */ + mbclen = 1; + } + *scanp += mbclen; + } else + (*scanp)++; +} +#endif + +/* + * fpat_parse_field --- parse fields using a regexp. + * + * This is called both from get_field() and from do_patsplit() + * via (*parse_field)(). This variation is for when FPAT is a regular + * expression -- use the value to find field contents. + * + * This was really hard to get right. It happens to bear many resemblances + * to issues I had with getting gsub right with null matches. When dealing + * with that I prototyped in awk and had the foresight to save the awk code + * over in the C file. Starting with that as a base, I finally got to this + * awk code to do what I needed, and then translated it into C. Fortunately + * the C code bears a closer correspondance to the awk code here than over + * by gsub. + * + * BEGIN { + * FALSE = 0 + * TRUE = 1 + * + * fpat[1] = "([^,]*)|(\"[^\"]+\")" + * fpat[2] = fpat[1] + * fpat[3] = fpat[1] + * fpat[4] = "aa+" + * fpat[5] = fpat[4] + * + * data[1] = "Robbins,,Arnold," + * data[2] = "Smith,,\"1234 A Pretty Place, NE\",Sometown,NY,12345-6789,USA" + * data[3] = "Robbins,Arnold,\"1234 A Pretty Place, NE\",Sometown,NY,12345-6789,USA" + * data[4] = "bbbaaacccdddaaaaaqqqq" + * data[5] = "bbbaaacccdddaaaaaqqqqa" # should get trailing qqqa + * + * for (i = 1; i in data; i++) { + * printf("Splitting: <%s>\n", data[i]) + * n = mypatsplit(data[i], fields, fpat[i], seps) + * print "n =", n + * for (j = 1; j <= n; j++) + * printf("fields[%d] = <%s>\n", j, fields[j]) + * for (j = 0; j in seps; j++) + * printf("seps[%s] = <%s>\n", j, seps[j]) + * } + * } + * + * function mypatsplit(string, array, pattern, seps, + * eosflag, non_empty, nf) # locals + * { + * delete array + * delete seps + * if (length(string) == 0) + * return 0 + * + * eosflag = non_empty = FALSE + * nf = 0 + * while (match(string, pattern)) { + * if (RLENGTH > 0) { # easy case + * non_empty = TRUE + * if (! (nf in seps)) { + * if (RSTART == 1) # match at front of string + * seps[nf] = "" + * else + * seps[nf] = substr(string, 1, RSTART - 1) + * } + * array[++nf] = substr(string, RSTART, RLENGTH) + * string = substr(string, RSTART+RLENGTH) + * if (length(string) == 0) + * break + * } else if (non_empty) { + * # last match was non-empty, and at the + * # current character we get a zero length match, + * # which we don't want, so skip over it + * non_empty = FALSE + * seps[nf] = substr(string, 1, 1) + * string = substr(string, 2) + * } else { + * # 0 length match + * if (! (nf in seps)) { + * if (RSTART == 1) + * seps[nf] = "" + * else + * seps[nf] = substr(string, 1, RSTART - 1) + * } + * array[++nf] = "" + * if (! non_empty && ! eosflag) { # prev was empty + * seps[nf] = substr(string, 1, 1) + * } + * if (RSTART == 1) { + * string = substr(string, 2) + * } else { + * string = substr(string, RSTART + 1) + * } + * non_empty = FALSE + * } + * if (length(string) == 0) { + * if (eosflag) + * break + * else + * eosflag = TRUE + * } + * } + * if (length(string) > 0) + * seps[nf] = string + * + * return length(array) + * } + */ +static long +fpat_parse_field(long up_to, /* parse only up to this field number */ + char **buf, /* on input: string to parse; on output: point to start next */ + int len, + NODE *fs ATTRIBUTE_UNUSED, + Regexp *rp, + Setfunc set, /* routine to set the value of the parsed field */ + NODE *n, + NODE *sep_arr, /* array of field separators (may be NULL) */ + int in_middle) +{ + char *scan = *buf; + long nf = parse_high_water; + char *start; + char *end = scan + len; + int regex_flags = RE_NEED_START; + int need_to_set_sep; + int non_empty; + int eosflag; +#ifdef MBS_SUPPORT + mbstate_t mbs; + + if (gawk_mb_cur_max > 1) + memset(&mbs, 0, sizeof(mbstate_t)); +#endif + + if (in_middle) + regex_flags |= RE_NO_BOL; + + if (up_to == UNLIMITED) + nf = 0; + + if (len == 0) + return nf; + + if (rp == NULL) /* use FPAT */ + rp = FPAT_regexp; + + eosflag = non_empty = FALSE; + need_to_set_sep = TRUE; + start = scan; + while (research(rp, scan, 0, (end - scan), regex_flags) != -1 + && nf < up_to) { + regex_flags |= RE_NO_BOL; + + if (REEND(rp, scan) > RESTART(rp, scan)) { /* if (RLENGTH > 0) */ + non_empty = TRUE; + if (sep_arr != NULL && need_to_set_sep) { + if (RESTART(rp, scan) == 0) /* match at front */ + set_element(nf, start, 0L, sep_arr); + else + set_element(nf, + start, + (long) RESTART(rp, scan), + sep_arr); + } + /* field is text that matched */ + (*set)(++nf, + scan + RESTART(rp, scan), + (long)(REEND(rp, scan) - RESTART(rp, scan)), + n); + + scan += REEND(rp, scan); + if (scan >= end) + break; + need_to_set_sep = TRUE; + } else if (non_empty) { /* else if non_empty */ + /* + * last match was non-empty, and at the + * current character we get a zero length match, + * which we don't want, so skip over it + */ + non_empty = FALSE; + if (sep_arr != NULL) { + need_to_set_sep = FALSE; + set_element(nf, start, 1L, sep_arr); + } + increment_scan(& scan, end - scan); + } else { + /* 0 length match */ + if (sep_arr != NULL && need_to_set_sep) { + if (RESTART(rp, scan) == 0) /* RSTART == 1 */ + set_element(nf, start, 0L, sep_arr); + else + set_element(nf, start, + (long) RESTART(rp, scan), + sep_arr); + } + need_to_set_sep = TRUE; + (*set)(++nf, scan, 0L, n); + if (! non_empty && ! eosflag) { /* prev was empty */ + if (sep_arr != NULL) { + set_element(nf, start, 1L, sep_arr); + need_to_set_sep = FALSE; + } + } + if (RESTART(rp, scan) == 0) + increment_scan(& scan, end - scan); + else { + scan += RESTART(rp, scan); + } + non_empty = FALSE; + } + if (scan >= end) { /* length(string) == 0 */ + if (eosflag) + break; + else + eosflag = TRUE; + } + + start = scan; + } + if (scan < end) { + if (sep_arr != NULL) + set_element(nf, scan, (long) (end - scan), sep_arr); + } + + *buf = scan; + return nf; +} @@ -137,7 +137,6 @@ typedef enum { CLOSE_ALL, CLOSE_TO, CLOSE_FROM } two_way_close_type; #define at_eof(iop) ((iop->flag & IOP_AT_EOF) != 0) #define has_no_data(iop) (iop->dataend == NULL) #define no_data_left(iop) (iop->off >= iop->dataend) -#define is_internal(iop) ((iop->flag & IOP_IS_INTERNAL) != 0) /* The key point to the design is to split out the code that searches through */ /* a buffer looking for the record and the terminator into separate routines, */ /* with a higher-level routine doing the reading of data and buffer management. */ @@ -186,27 +185,21 @@ static int close_redir P((struct redirect *rp, int exitwarn, two_way_close_type static int wait_any P((int interesting)); #endif static IOBUF *gawk_popen P((const char *cmd, struct redirect *rp)); -static IOBUF *iop_open P((const char *file, const char *how, IOBUF *buf, int *isdir)); -static IOBUF *iop_alloc P((int fd, const char *name, IOBUF *buf)); +static IOBUF *iop_alloc P((int fd, const char *name, IOBUF *buf, int do_openhooks)); static int gawk_pclose P((struct redirect *rp)); static int do_pathopen P((const char *file)); static int str2mode P((const char *mode)); -static void spec_setup P((IOBUF *iop, int len)); -static IOBUF *specfdopen P((IOBUF *iop, const char *name, const char *mode)); -static IOBUF *pidopen P((IOBUF *iop, const char *name, const char *mode)); -static IOBUF *useropen P((IOBUF *iop, const char *name, const char *mode)); static int two_way_open P((const char *str, struct redirect *rp)); static int pty_vs_pipe P((const char *command)); +static void find_open_hook P((IOBUF *iop)); static RECVALUE rs1scan P((IOBUF *iop, struct recmatch *recm, SCANSTATE *state)); static RECVALUE rsnullscan P((IOBUF *iop, struct recmatch *recm, SCANSTATE *state)); static RECVALUE rsrescan P((IOBUF *iop, struct recmatch *recm, SCANSTATE *state)); - static RECVALUE (*matchrec) P((IOBUF *iop, struct recmatch *recm, SCANSTATE *state)) = rs1scan; - static int get_a_record P((char **out, IOBUF *iop, int *errcode)); - static void free_rp P((struct redirect *rp)); +static int inetfile P((const char *str, int *length, int *family)); #if defined(HAVE_POPEN_H) #include "popen.h" @@ -219,6 +212,8 @@ static Regexp *RS_re_no_case; static Regexp *RS_regexp; int RS_is_null; +int in_beginfile_rule = FALSE; /* we're in a BEGINFILE rule */ +int in_endfile_rule = FALSE; /* we're in an ENDFILE rule */ extern int output_is_tty; extern NODE *ARGC_node; @@ -229,6 +224,12 @@ extern NODE **fields_arr; static jmp_buf filebuf; /* for do_nextfile() */ +/* A block of AWK code to be run before each input file */ +NODE *beginfile_block = NULL; + +/* A block of AWK code to be run after each input file */ +NODE *endfile_block = NULL; + #if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__EMX__) || defined(__CYGWIN__) /* binmode --- convert BINMODE to string for fopen */ @@ -261,13 +262,38 @@ static int vmsrtl_fileno(fp) FILE *fp; { return fileno(fp); } #define fileno(FP) (((FP) && *(FP)) ? vmsrtl_fileno(FP) : -1) #endif /* VMS */ +/* run_beginfile_rule --- run the BEGINFILE rule */ + +static void +run_beginfile_rule() +{ + if (beginfile_block != NULL) { + in_beginfile_rule = TRUE; + (void) interpret(beginfile_block); + } + in_beginfile_rule = FALSE; +} + +/* run_endfile_rule --- run the ENDFILE rule */ + +static void +run_endfile_rule() +{ + if (endfile_block != NULL) { + in_endfile_rule = TRUE; + (void) interpret(endfile_block); + } + in_endfile_rule = FALSE; +} + /* do_nextfile --- implement gawk "nextfile" extension */ void do_nextfile() { (void) nextfile(TRUE); - longjmp(filebuf, 1); + if (! in_beginfile_rule) + longjmp(filebuf, 1); } /* nextfile --- move to the next input data file */ @@ -281,17 +307,29 @@ nextfile(int skipping) static IOBUF *curfile = NULL; static IOBUF mybuf; const char *fname; + int fd = INVALID_HANDLE; + static int called_recursively = FALSE; + int errcode; + + if (in_beginfile_rule) { + called_recursively = TRUE; + return NULL; + } if (skipping) { if (curfile != NULL) iop_close(curfile); curfile = NULL; + + run_endfile_rule(); return NULL; } if (curfile != NULL) { if (at_eof(curfile)) { (void) iop_close(curfile); curfile = NULL; + + run_endfile_rule(); } else return curfile; } @@ -309,27 +347,50 @@ nextfile(int skipping) files = TRUE; fname = arg->stptr; - curfile = iop_open(fname, binmode("r"), &mybuf, & isdir); - if (curfile == NULL) { -#if NO_DIRECTORY_FATAL - if (isdir) - continue; -#else - if (isdir && do_traditional) + errno = 0; + fd = devopen(fname, binmode("r"), & isdir); + errcode = errno; + if (isdir && errno == 0) + errcode = errno = EISDIR; + if (! do_traditional) + update_ERRNO(); + + /* This is a kludge. */ + unref(FILENAME_node->var_value); + FILENAME_node->var_value = dupnode(arg); + FNR = 0; + /* Another kludge, so BEGINFILE can see FNR */ + FNR_node->var_value->numbr = 0; + + run_beginfile_rule(); + if (called_recursively) { + called_recursively = FALSE; + if (curfile == NULL) continue; -#endif - if (whiny_users) { - warning(_("cannot open file `%s' for reading (%s)"), - fname, strerror(errno)); + } + + if (fd == INVALID_HANDLE) { + if (isdir) { + if (do_traditional) + goto give_up; + + errno = 0; + update_ERRNO(); + warning(_("command line argument `%s' is a directory: skipped"), fname); continue; } + errno = errcode; goto give_up; } + + /* + * Open hooks could have been changed by BEGINFILE, + * so delay check until now. + */ + find_open_hook(curfile); + + curfile = iop_alloc(fd, fname, &mybuf, FALSE); curfile->flag |= IOP_NOFREE_OBJ; - /* This is a kludge. */ - unref(FILENAME_node->var_value); - FILENAME_node->var_value = dupnode(arg); - FNR = 0; i++; break; } @@ -341,7 +402,7 @@ nextfile(int skipping) unref(FILENAME_node->var_value); FILENAME_node->var_value = make_string("-", 1); fname = "-"; - curfile = iop_open(fname, binmode("r"), &mybuf, NULL); + curfile = iop_alloc(fileno(stdin), fname, &mybuf, TRUE); if (curfile == NULL) goto give_up; curfile->flag |= IOP_NOFREE_OBJ; @@ -352,7 +413,7 @@ give_up: fatal(_("cannot open file `%s' for reading (%s)"), fname, strerror(errno)); /* NOTREACHED */ - return (IOBUF *) 0; + return (IOBUF *) NULL; } /* set_FNR --- update internal FNR from awk variable */ @@ -379,17 +440,27 @@ inrec(IOBUF *iop) char *begin; register int cnt; int retval = 0; + int errcode = 0; + extern NODE *endfile_block; + if (at_eof(iop) && no_data_left(iop)) cnt = EOF; else if ((iop->flag & IOP_CLOSED) != 0) cnt = EOF; else - cnt = get_a_record(&begin, iop, NULL); + cnt = get_a_record(&begin, iop, & errcode); if (cnt == EOF) { cnt = 0; retval = 1; + if (errcode > 0) { + if (do_traditional || endfile_block == NULL) + fatal(_("error reading input file `%s': %s"), + iop->name, strerror(errcode)); + else + update_ERRNO_saved(errcode); + } } else { NR += 1; FNR += 1; @@ -419,14 +490,6 @@ iop_close(IOBUF *iop) ret = 0; else #endif - /* save these for re-use; don't free the storage */ - if ((iop->flag & IOP_IS_INTERNAL) != 0) { - iop->off = iop->buf; - iop->end = iop->buf + strlen(iop->buf); - iop->count = 0; - return 0; - } - /* Don't close standard files or else crufty code elsewhere will lose */ /* FIXME: *DO* close it. Just reopen on an invalid handle. */ if (iop->fd == fileno(stdin) @@ -442,37 +505,35 @@ iop_close(IOBUF *iop) if (ret == -1) warning(_("close of fd %d (`%s') failed (%s)"), iop->fd, iop->name, strerror(errno)); - if ((iop->flag & IOP_NO_FREE) == 0) { - /* - * Be careful -- $0 may still reference the buffer even though - * an explicit close is being done; in the future, maybe we - * can do this a bit better. - */ - if (iop->buf) { - if ((fields_arr[0]->stptr >= iop->buf) - && (fields_arr[0]->stptr < (iop->buf + iop->size))) { - NODE *t; - - t = make_string(fields_arr[0]->stptr, - fields_arr[0]->stlen); - unref(fields_arr[0]); - fields_arr[0] = t; - /* - * 1/27/2003: This used to be here: - * - * reset_record(); - * - * Don't do that; reset_record() throws away all fields, - * saves FS etc. We just need to make sure memory isn't - * corrupted and that references to $0 and fields work. - */ - } - free(iop->buf); - iop->buf = NULL; + /* + * Be careful -- $0 may still reference the buffer even though + * an explicit close is being done; in the future, maybe we + * can do this a bit better. + */ + if (iop->buf) { + if ((fields_arr[0]->stptr >= iop->buf) + && (fields_arr[0]->stptr < (iop->buf + iop->size))) { + NODE *t; + + t = make_string(fields_arr[0]->stptr, + fields_arr[0]->stlen); + unref(fields_arr[0]); + fields_arr[0] = t; + /* + * 1/27/2003: This used to be here: + * + * reset_record(); + * + * Don't do that; reset_record() throws away all fields, + * saves FS etc. We just need to make sure memory isn't + * corrupted and that references to $0 and fields work. + */ } - if ((iop->flag & IOP_NOFREE_OBJ) == 0) - free((char *) iop); + free(iop->buf); + iop->buf = NULL; } + if ((iop->flag & IOP_NOFREE_OBJ) == 0) + free((char *) iop); return ret == -1 ? 1 : 0; } @@ -550,6 +611,10 @@ redirect(NODE *tree, int *errflg) const char *what = NULL; int isdir = FALSE; int new_rp = FALSE; + int len; /* used with /inet */ + + if (do_sandbox) + fatal(_("redirection not allowed in sandbox mode")); switch (tree->type) { case Node_redirect_append: @@ -599,10 +664,14 @@ redirect(NODE *tree, int *errflg) && (STREQN(str, "0", tmp->stlen) || STREQN(str, "1", tmp->stlen))) lintwarn(_("filename `%s' for `%s' redirection may be result of logical expression"), str, what); + /* + * XXX: Use /inet4 and /inet6 with plain /inet being whatever + * we get back from the system. + */ #ifdef HAVE_SOCKETS - if (STREQN(str, "/inet/", 6)) { + if (inetfile(str, & len, NULL)) { tflag |= RED_SOCKET; - if (STREQN(str + 6, "tcp/", 4)) + if (STREQN(str + len, "tcp/", 4)) tflag |= RED_TCP; /* use shutdown when closing */ } #endif /* HAVE_SOCKETS */ @@ -696,7 +765,7 @@ redirect(NODE *tree, int *errflg) break; case Node_redirect_input: direction = "from"; - rp->iop = iop_open(str, binmode("r"), NULL, & isdir); + rp->iop = iop_alloc(devopen(str, binmode("r"), & isdir), str, NULL, TRUE); if (isdir) { *errflg = EISDIR; free_rp(rp); @@ -707,7 +776,7 @@ redirect(NODE *tree, int *errflg) direction = "to/from"; if (! two_way_open(str, rp)) { #ifdef HAVE_SOCKETS - if (STREQN(str, "/inet/", 6)) { + if (inetfile(str, NULL, NULL)) { *errflg = errno; free_temp(tmp); free_rp(rp); @@ -723,7 +792,7 @@ redirect(NODE *tree, int *errflg) } if (mode != NULL) { errno = 0; - fd = devopen(str, mode); + fd = devopen(str, mode, NULL); if (fd > INVALID_HANDLE) { if (fd == fileno(stdin)) rp->fp = stdin; @@ -1198,8 +1267,8 @@ str2mode(const char *mode) /* socketopen --- open a socket and set it into connected state */ static int -socketopen(int type, const char *localpname, const char *remotepname, - const char *remotehostname) +socketopen(int family, int type, const char *localpname, + const char *remotepname, const char *remotehostname) { struct addrinfo *lres, *lres0; struct addrinfo lhints; @@ -1215,6 +1284,7 @@ socketopen(int type, const char *localpname, const char *remotepname, memset (&lhints, '\0', sizeof (lhints)); lhints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG; lhints.ai_socktype = type; + lhints.ai_family = family; lerror = getaddrinfo (NULL, localpname, &lhints, &lres); if (lerror) { @@ -1335,24 +1405,19 @@ nextrres: /* devopen --- handle /dev/std{in,out,err}, /dev/fd/N, regular files */ /* - * This separate version is still needed for output, since file and pipe - * output is done with stdio. iop_open() handles input with IOBUFs of - * more "special" files. Those files are not handled here since it makes - * no sense to use them for output. - */ - -/* * Strictly speaking, "name" is not a "const char *" because we temporarily * change the string. */ int -devopen(const char *name, const char *mode) +devopen(const char *name, const char *mode, int *isdir) { int openfd; char *cp; char *ptr; int flag = 0; + int len; + int family; extern unsigned long strtoul P((const char *, char **endptr, int base)); flag = str2mode(mode); @@ -1380,15 +1445,18 @@ devopen(const char *name, const char *mode) else if (STREQ(cp, "stderr") && (flag & O_ACCMODE) == O_WRONLY) openfd = fileno(stderr); else if (STREQN(cp, "fd/", 3)) { + struct stat sbuf; + cp += 3; openfd = (int) strtoul(cp, &ptr, 10); - if (openfd <= INVALID_HANDLE || ptr == cp) + if (openfd <= INVALID_HANDLE || ptr == cp + || fstat(openfd, &sbuf) < 0) openfd = INVALID_HANDLE; } /* do not set close-on-exec for inherited fd's */ if (openfd != INVALID_HANDLE) return openfd; - } else if (STREQN(name, "/inet/", 6)) { + } else if (inetfile(name, & len, & family)) { #ifdef HAVE_SOCKETS /* /inet/protocol/localport/hostname/remoteport */ int protocol; @@ -1397,7 +1465,7 @@ devopen(const char *name, const char *mode) char *localpname; char *localpnamelastcharp; - cp = (char *) name + 6; + cp = (char *) name + len; /* which protocol? */ if (STREQN(cp, "tcp/", 4)) protocol = SOCK_STREAM; @@ -1491,7 +1559,7 @@ devopen(const char *name, const char *mode) retries = def_retries; do { - openfd = socketopen(protocol, localpname, cp, hostname); + openfd = socketopen(family, protocol, localpname, cp, hostname); retries--; } while (openfd == INVALID_HANDLE && retries > 0 && usleep(msleep) == 0); } @@ -1507,205 +1575,23 @@ strictopen: if (openfd == INVALID_HANDLE) openfd = open(name, flag, 0666); if (openfd != INVALID_HANDLE) { - if (os_isdir(openfd)) - fatal(_("file `%s' is a directory"), name); - - os_close_on_exec(openfd, name, "file", ""); - } - return openfd; -} - - -/* spec_setup --- setup an IOBUF for a special internal file */ - -static void -spec_setup(IOBUF *iop, int len) -{ - char *cp; - - emalloc(cp, char *, len+2, "spec_setup"); - iop->buf = cp; - iop->off = iop->buf; - iop->count = 0; - iop->size = len; - iop->end = iop->buf + len; - iop->dataend = iop->end; - iop->fd = -1; - iop->flag = IOP_IS_INTERNAL | IOP_AT_START | IOP_NO_FREE; -} - -/* specfdopen --- open an fd special file */ - -static IOBUF * -specfdopen(IOBUF *iop, const char *name, const char *mode) -{ - int fd; - IOBUF *tp; - - fd = devopen(name, mode); - if (fd == INVALID_HANDLE) - return NULL; - tp = iop_alloc(fd, name, iop); - if (tp == NULL) { - /* don't leak fd's */ - close(fd); - return NULL; - } - return tp; -} - -#ifdef GETPGRP_VOID -#define getpgrp_arg() /* nothing */ -#else -#define getpgrp_arg() getpid() -#endif - -/* pidopen --- "open" /dev/pid, /dev/ppid, and /dev/pgrpid */ - -static IOBUF * -pidopen(IOBUF *iop, const char *name, const char *mode ATTRIBUTE_UNUSED) -{ - char tbuf[BUFSIZ]; - int i; - const char *cp = name + 5; - - warning(_("use `PROCINFO[\"%s\"]' instead of `%s'"), cp, name); - - if (iop == NULL) { - iop = iop_alloc(INTERNAL_HANDLE, name, iop); - if (iop == NULL) - return NULL; - } - - if (name[6] == 'g') - sprintf(tbuf, "%d\n", (int) getpgrp(getpgrp_arg())); - else if (name[6] == 'i') - sprintf(tbuf, "%d\n", (int) getpid()); - else - sprintf(tbuf, "%d\n", (int) getppid()); - i = strlen(tbuf); - spec_setup(iop, i); - strcpy(iop->buf, tbuf); - return iop; -} - -/* useropen --- "open" /dev/user */ - -/* - * /dev/user creates a record as follows: - * $1 = getuid() - * $2 = geteuid() - * $3 = getgid() - * $4 = getegid() - * If multiple groups are supported, then $5 through $NF are the - * supplementary group set. - */ - -static IOBUF * -useropen(IOBUF *iop, const char *name ATTRIBUTE_UNUSED, const char *mode ATTRIBUTE_UNUSED) -{ - char tbuf[BUFSIZ], *cp; - int i; - - warning(_("use `PROCINFO[...]' instead of `/dev/user'")); - - if (iop == NULL) { - iop = iop_alloc(INTERNAL_HANDLE, name, iop); - if (iop == NULL) - return NULL; - } - - sprintf(tbuf, "%d %d %d %d", (int) getuid(), (int) geteuid(), (int) getgid(), (int) getegid()); - - cp = tbuf + strlen(tbuf); -#if defined (HAVE_GETGROUPS) && defined(NGROUPS_MAX) && NGROUPS_MAX > 0 - for (i = 0; i < ngroups; i++) { - *cp++ = ' '; - sprintf(cp, "%d", (int) groupset[i]); - cp += strlen(cp); - } -#endif - *cp++ = '\n'; - *cp++ = '\0'; - - i = strlen(tbuf); - spec_setup(iop, i); - strcpy(iop->buf, tbuf); - return iop; -} - -/* iop_open --- handle special and regular files for input */ - -static IOBUF * -iop_open(const char *name, const char *mode, IOBUF *iop, int *isdir) -{ - int openfd = INVALID_HANDLE; - int flag = 0; - static struct internal { - const char *name; - int compare; - IOBUF *(*fp) P((IOBUF *, const char *, const char *)); - } table[] = { - { "/dev/fd/", 8, specfdopen }, - { "/dev/stdin", 10, specfdopen }, - { "/dev/stdout", 11, specfdopen }, - { "/dev/stderr", 11, specfdopen }, - { "/inet/", 6, specfdopen }, - { "/dev/pid", 8, pidopen }, - { "/dev/ppid", 9, pidopen }, - { "/dev/pgrpid", 11, pidopen }, - { "/dev/user", 9, useropen }, - }; - int devcount = sizeof(table) / sizeof(table[0]); - - flag = str2mode(mode); - - if (STREQ(name, "-")) - openfd = fileno(stdin); - else if (do_traditional) - goto strictopen; - else if (STREQN(name, "/dev/", 5) || STREQN(name, "/inet/", 6)) { - int i; - - for (i = 0; i < devcount; i++) { - if (STREQN(name, table[i].name, table[i].compare)) { - if ((iop = (*table[i].fp)(iop, name, mode)) != NULL) - return iop; - else { - warning(_("could not open `%s', mode `%s'"), - name, mode); - return NULL; - } - } - } - /* not in table, fall through to regular code */ - } - -strictopen: - if (openfd == INVALID_HANDLE) - openfd = open(name, flag, 0666); - if (openfd != INVALID_HANDLE) { if (os_isdir(openfd)) { if (isdir) *isdir = TRUE; (void) close(openfd); /* don't leak fds */ /* Set useful error number. */ errno = EISDIR; - return NULL; + return INVALID_HANDLE; } + + if (openfd > fileno(stderr)) + os_close_on_exec(openfd, name, "file", ""); } /* - * At this point, fd could still be INVALID_HANDLE. - * We pass it to `iop_alloc' anyway, in case an open hook - * can manage to open the file. + * XXX: FIXME: if fd is INVALID_HANDLE, see if an open hook + * can do something. */ - iop = iop_alloc(openfd, name, iop); - if (iop != NULL) { - if (iop->fd > fileno(stderr)) - os_close_on_exec(iop->fd, name, "file", ""); - } else if (openfd != INVALID_HANDLE) /* have an fd, but IOP is null */ - (void) close(openfd); /* avoid fd leak */ - return iop; + return openfd; } /* two_way_open --- open a two way communications channel */ @@ -1717,10 +1603,10 @@ two_way_open(const char *str, struct redirect *rp) #ifdef HAVE_SOCKETS /* case 1: socket */ - if (STREQN(str, "/inet/", 6)) { + if (inetfile(str, NULL, NULL)) { int fd, newfd; - fd = devopen(str, "rw"); + fd = devopen(str, "rw", NULL); if (fd == INVALID_HANDLE) return FALSE; rp->fp = fdopen(fd, "w"); @@ -1734,7 +1620,7 @@ two_way_open(const char *str, struct redirect *rp) return FALSE; } os_close_on_exec(newfd, str, "socket", "to/from"); - rp->iop = iop_alloc(newfd, str, NULL); + rp->iop = iop_alloc(newfd, str, NULL, TRUE); if (rp->iop == NULL) { fclose(rp->fp); return FALSE; @@ -1763,7 +1649,7 @@ two_way_open(const char *str, struct redirect *rp) return FALSE; } os_close_on_exec(newfd, str, "portal", "to/from"); - rp->iop = iop_alloc(newfd, str, NULL); + rp->iop = iop_alloc(newfd, str, NULL, TRUE); if (rp->iop == NULL) { fclose(rp->fp); return FALSE; @@ -1954,7 +1840,7 @@ two_way_open(const char *str, struct redirect *rp) fatal(_("close of slave pty failed (%s)"), strerror(errno)); rp->pid = pid; - rp->iop = iop_alloc(master, str, NULL); + rp->iop = iop_alloc(master, str, NULL, TRUE); if (rp->iop == NULL) { (void) close(master); (void) kill(pid, SIGKILL); /* overkill? (pardon pun) */ @@ -2094,7 +1980,7 @@ use_pipes: /* parent */ rp->pid = pid; - rp->iop = iop_alloc(ctop[0], str, NULL); + rp->iop = iop_alloc(ctop[0], str, NULL, TRUE); if (rp->iop == NULL) { (void) close(ctop[0]); (void) close(ctop[1]); @@ -2153,7 +2039,7 @@ wait_any(int interesting) /* pid of interest, if any */ istat = signal(SIGINT, SIG_IGN); qstat = signal(SIGQUIT, SIG_IGN); for (;;) { -#ifdef HAVE_SYS_WAIT_H /* Posix compatible sys/wait.h */ +#ifdef HAVE_SYS_WAIT_H /* POSIX compatible sys/wait.h */ pid = wait(&status); #else pid = wait((union wait *)&status); @@ -2244,7 +2130,7 @@ gawk_popen(const char *cmd, struct redirect *rp) fatal(_("close of pipe failed (%s)"), strerror(errno)); #endif os_close_on_exec(p[0], cmd, "pipe", "from"); - rp->iop = iop_alloc(p[0], cmd, NULL); + rp->iop = iop_alloc(p[0], cmd, NULL, TRUE); if (rp->iop == NULL) (void) close(p[0]); @@ -2291,7 +2177,7 @@ gawk_popen(const char *cmd, struct redirect *rp) if (current == NULL) return NULL; os_close_on_exec(fileno(current), cmd, "pipe", "from"); - rp->iop = iop_alloc(fileno(current), cmd, NULL); + rp->iop = iop_alloc(fileno(current), cmd, NULL, TRUE); if (rp->iop == NULL) { (void) pclose(current); current = NULL; @@ -2343,7 +2229,7 @@ gawk_popen(const char *cmd, struct redirect *rp) emalloc(pipes[current].command, char *, strlen(cmd)+1, "gawk_popen"); strcpy(pipes[current].command, cmd); os_close_on_exec(current, cmd, "pipe", "from"); - rp->iop = iop_alloc(current, name, NULL); + rp->iop = iop_alloc(current, name, NULL, TRUE); if (rp->iop == NULL) (void) close(current); return rp->iop; @@ -2499,7 +2385,7 @@ do_pathopen(const char *file) return 0; if (do_traditional) - return devopen(file, "r"); + return devopen(file, "r", NULL); if (first) { first = FALSE; @@ -2512,7 +2398,7 @@ do_pathopen(const char *file) /* some kind of path name, no search */ if (ispath(file)) - return devopen(file, "r"); + return devopen(file, "r", NULL); /* no arbitrary limits: */ len = strlen(awkpath) + strlen(file) + 2; @@ -2532,7 +2418,7 @@ do_pathopen(const char *file) strcpy(cp, file); } else strcpy(trypath, file); - if ((fd = devopen(trypath, "r")) > INVALID_HANDLE) { + if ((fd = devopen(trypath, "r", NULL)) > INVALID_HANDLE) { free(trypath); return fd; } @@ -2548,7 +2434,7 @@ do_pathopen(const char *file) * working directory in it. Therefore try to open the file in the * current directory. */ - return devopen(file, "r"); + return devopen(file, "r", NULL); } #ifdef TEST @@ -2582,15 +2468,28 @@ register_open_hook(void *(*open_func)(IOBUF *)) open_hooks = oh; } +/* find_open_hook --- search the list of open hooks */ + +static void +find_open_hook(IOBUF *iop) +{ + struct open_hook *oh; + + /* walk through open hooks, stop at first one that responds */ + for (oh = open_hooks; oh != NULL; oh = oh->next) { + if ((iop->opaque = (*oh->open_func)(iop)) != NULL) + break; + } +} + /* iop_alloc --- allocate an IOBUF structure for an open fd */ static IOBUF * -iop_alloc(int fd, const char *name, IOBUF *iop) +iop_alloc(int fd, const char *name, IOBUF *iop, int do_openhooks) { struct stat sbuf; - struct open_hook *oh; int iop_malloced = FALSE; - + if (iop == NULL) { emalloc(iop, IOBUF *, sizeof(IOBUF), "iop_alloc"); iop_malloced = TRUE; @@ -2600,11 +2499,8 @@ iop_alloc(int fd, const char *name, IOBUF *iop) iop->fd = fd; iop->name = name; - /* walk through open hooks, stop at first one that responds */ - for (oh = open_hooks; oh != NULL; oh = oh->next) { - if ((iop->opaque = (*oh->open_func)(iop)) != NULL) - break; - } + if (do_openhooks) + find_open_hook(iop); if (iop->fd == INTERNAL_HANDLE) return iop; @@ -2638,45 +2534,46 @@ iop_alloc(int fd, const char *name, IOBUF *iop) (void)(! do_traditional && (unref(RT_node->var_value), \ RT_node->var_value = make_string(str, len))) + /* grow must increase size of buffer, set end, make sure off and dataend point at */ /* right spot. */ /* */ /* */ /* <growbuffer>= */ /* grow_iop_buffer --- grow the buffer */ - + static void grow_iop_buffer(IOBUF *iop) { size_t valid = iop->dataend - iop->off; size_t off = iop->off - iop->buf; size_t newsize; - + /* * Lop off original extra two bytes, double the size, * add them back. */ newsize = ((iop->size - 2) * 2) + 2; - + /* Check for overflow */ if (newsize <= iop->size) fatal(_("could not allocate more input memory")); - + /* Make sure there's room for a disk block */ if (newsize - valid < iop->readsize) newsize += iop->readsize + 2; - + /* Check for overflow, again */ if (newsize <= iop->size) fatal(_("could not allocate more input memory")); - + iop->size = newsize; erealloc(iop->buf, char *, iop->size, "grow_iop_buffer"); iop->off = iop->buf + off; iop->dataend = iop->off + valid; iop->end = iop->buf + iop->size; } - + /* Here are the routines. */ /* */ /* */ @@ -3022,22 +2919,15 @@ get_a_record(char **out, /* pointer to pointer to data */ /* <fill initial buffer>= */ if (has_no_data(iop) || no_data_left(iop)) { - if (is_internal(iop)) { - iop->flag |= IOP_AT_EOF; - return EOF; - } iop->count = read(iop->fd, iop->buf, iop->readsize); if (iop->count == 0) { iop->flag |= IOP_AT_EOF; return EOF; } else if (iop->count == -1) { - if (! do_traditional && errcode != NULL) { + iop->flag |= IOP_AT_EOF; + if (errcode != NULL) *errcode = errno; - iop->flag |= IOP_AT_EOF; - return EOF; - } else - fatal(_("error reading input file `%s': %s"), - iop->name, strerror(errno)); + return EOF; } else { iop->dataend = iop->buf + iop->count; iop->off = iop->buf; @@ -3071,10 +2961,7 @@ get_a_record(char **out, /* pointer to pointer to data */ recm.rt_start = iop->off + recm.len; /* <read more data, break if EOF>= */ - if ((iop->flag & IOP_IS_INTERNAL) != 0) { - iop->flag |= IOP_AT_EOF; - break; - } else { + { #define min(x, y) (x < y ? x : y) /* subtract one in read count to leave room for sentinel */ size_t room_left = iop->end - iop->dataend - 1; @@ -3189,6 +3076,7 @@ get_a_record(char **out, /* pointer to pointer to data */ return retval; } + /* set_RS --- update things as appropriate when RS is set */ @@ -3240,7 +3128,7 @@ set_RS() } else matchrec = rs1scan; set_FS: - if (! using_fieldwidths()) + if (current_field_sep() == Using_FS) set_FS(); } @@ -3294,8 +3182,6 @@ iopflags2str(int flag) { static const struct flagtab values[] = { { IOP_IS_TTY, "IOP_IS_TTY" }, - { IOP_IS_INTERNAL, "IOP_IS_INTERNAL" }, - { IOP_NO_FREE, "IOP_NO_FREE" }, { IOP_NOFREE_OBJ, "IOP_NOFREE_OBJ" }, { IOP_AT_EOF, "IOP_AT_EOF" }, { IOP_CLOSED, "IOP_CLOSED" }, @@ -3314,3 +3200,33 @@ free_rp(struct redirect *rp) free(rp->value); free(rp); } + +/* is_inet --- return true for a /inet special file, set other values */ + +static int +inetfile(const char *str, int *length, int *family) +{ + int ret = FALSE; + + if (STREQN(str, "/inet/", 6)) { + ret = TRUE; + if (length != NULL) + *length = 6; + if (family != NULL) + *family = AF_UNSPEC; + } else if (STREQN(str, "/inet4/", 7)) { + ret = TRUE; + if (length != NULL) + *length = 7; + if (family != NULL) + *family = AF_INET; + } else if (STREQN(str, "/inet6/", 7)) { + ret = TRUE; + if (length != NULL) + *length = 7; + if (family != NULL) + *family = AF_INET6; + } + + return ret; +} @@ -73,7 +73,7 @@ NODE *ARGC_node, *ARGIND_node, *ARGV_node, *BINMODE_node, *CONVFMT_node; NODE *ENVIRON_node, *ERRNO_node, *FIELDWIDTHS_node, *FILENAME_node, *FNR_node; NODE *FS_node, *IGNORECASE_node, *NF_node, *NR_node, *OFMT_node, *OFS_node; NODE *ORS_node, *PROCINFO_node, *RLENGTH_node, *RSTART_node, *RS_node; -NODE *RT_node, *SUBSEP_node, *LINT_node, *TEXTDOMAIN_node; +NODE *RT_node, *SUBSEP_node, *LINT_node, *TEXTDOMAIN_node, *FPAT_node; long NF; long NR; @@ -146,11 +146,13 @@ int do_lint_old = FALSE; /* warn about stuff not in V7 awk */ int do_intl = FALSE; /* dump locale-izable strings to stdout */ int do_non_decimal_data = FALSE; /* allow octal/hex C style DATA. Use with caution! */ int do_nostalgia = FALSE; /* provide a blast from the past */ -int do_intervals = FALSE; /* allow {...,...} in regexps */ +int do_intervals = FALSE; /* allow {...,...} in regexps, see resetup() */ int do_profiling = FALSE; /* profile and pretty print the program */ int do_dump_vars = FALSE; /* dump all global variables at end */ int do_tidy_mem = FALSE; /* release vars when done */ int do_optimize = FALSE; /* apply any safe optimizations */ +int do_binary = FALSE; /* hands off my data! */ +int do_sandbox = FALSE; /* sandbox mode - disable 'system' function & redirections */ int in_begin_rule = FALSE; /* we're in a BEGIN rule */ int in_end_rule = FALSE; /* we're in an END rule */ @@ -166,6 +168,9 @@ int output_is_tty = FALSE; /* control flushing of output */ extern const char *version_string; +extern NODE *beginfile_block; +extern NODE *endfile_block; + #if defined (HAVE_GETGROUPS) && defined(NGROUPS_MAX) && NGROUPS_MAX > 0 GETGROUPS_T *groupset; /* current group set */ int ngroups; /* size of said set */ @@ -192,7 +197,7 @@ static const struct option optab[] = { { "optimize", no_argument, & do_optimize, 'O' }, { "posix", no_argument, & do_posix, 1 }, { "nostalgia", no_argument, & do_nostalgia, 1 }, - { "gen-po", no_argument, & do_intl, 1 }, + { "gen-pot", no_argument, & do_intl, 1 }, { "non-decimal-data", no_argument, & do_non_decimal_data, 1 }, { "profile", optional_argument, NULL, 'p' }, { "copyleft", no_argument, NULL, 'C' }, @@ -200,14 +205,16 @@ static const struct option optab[] = { { "field-separator", required_argument, NULL, 'F' }, { "file", required_argument, NULL, 'f' }, { "re-interval", no_argument, & do_intervals, 1 }, - { "source", required_argument, NULL, 's' }, + { "source", required_argument, NULL, 'e' }, { "dump-variables", optional_argument, NULL, 'd' }, { "assign", required_argument, NULL, 'v' }, { "version", no_argument, NULL, 'V' }, - { "usage", no_argument, NULL, 'u' }, - { "help", no_argument, NULL, 'u' }, - { "exec", required_argument, NULL, 'S' }, + { "usage", no_argument, NULL, 'h' }, + { "help", no_argument, NULL, 'h' }, + { "exec", required_argument, NULL, 'E' }, { "use-lc-numeric", no_argument, & use_lc_numeric, 1 }, + { "characters-as-bytes", no_argument, & do_binary, 'b' }, + { "sandbox", no_argument, & do_sandbox, 1 }, #if defined(YYDEBUG) || defined(GAWKDEBUG) { "parsedebug", no_argument, NULL, 'D' }, #endif @@ -227,7 +234,7 @@ main(int argc, char **argv) int c; char *scan; /* the + on the front tells GNU getopt not to rearrange argv */ - const char *optlist = "+F:f:v:W;m:DO"; + const char *optlist = "+F:f:v:W;m:bcCd::De:E:ghl::LnNOp::PrSV"; int stopped_early = FALSE; int old_optind; extern int optind; @@ -338,7 +345,7 @@ main(int argc, char **argv) preassigns_add(PRE_ASSIGN_FS, optarg); break; - case 'S': + case 'E': disallow_var_assigns = TRUE; /* fall through */ case 'f': @@ -389,12 +396,14 @@ main(int argc, char **argv) optind++; break; - case 'W': /* gawk specific options - now in getopt_long */ - fprintf(stderr, _("%s: option `-W %s' unrecognized, ignored\n"), - argv[0], optarg); + case 'b': + do_binary = TRUE; + break; + + case 'c': + do_traditional = TRUE; break; - /* These can only come from long form options */ case 'C': copyleft(); break; @@ -405,6 +414,21 @@ main(int argc, char **argv) varfile = optarg; break; + case 'e': + if (optarg[0] == '\0') + warning(_("empty argument to `-e/--source' ignored")); + else + srcfiles_add(CMDLINE, optarg); + break; + + case 'g': + do_intl = TRUE; + break; + + case 'h': + usage(EXIT_SUCCESS, stdout); /* per coding stds */ + break; + case 'l': #ifndef NO_LINT do_lint = LINT_ALL; @@ -417,6 +441,18 @@ main(int argc, char **argv) #endif break; + case 'L': + do_lint_old = TRUE; + break; + + case 'n': + do_non_decimal_data = TRUE; + break; + + case 'N': + use_lc_numeric = TRUE; + break; + case 'O': do_optimize = TRUE; break; @@ -429,21 +465,27 @@ main(int argc, char **argv) set_prof_file(DEFAULT_PROFILE); break; - case 's': - if (optarg[0] == '\0') - warning(_("empty argument to `--source' ignored")); - else - srcfiles_add(CMDLINE, optarg); + case 'P': + do_posix = TRUE; break; - case 'u': - usage(EXIT_SUCCESS, stdout); /* per coding stds */ + case 'r': + do_intervals = TRUE; + break; + + case 'S': + do_sandbox = TRUE; break; case 'V': version(); break; + case 'W': /* gawk specific options - now in getopt_long */ + fprintf(stderr, _("%s: option `-W %s' unrecognized, ignored\n"), + argv[0], optarg); + break; + case 0: /* * getopt_long found an option that sets a variable @@ -493,7 +535,7 @@ main(int argc, char **argv) let getopt print error message for us */ break; } - if (c == 'S') /* --exec ends option processing */ + if (c == 'E') /* --exec ends option processing */ break; } out: @@ -529,6 +571,15 @@ out: if (do_lint && os_is_setuid()) warning(_("running %s setuid root may be a security problem"), myname); +#ifdef MBS_SUPPORT + if (do_binary) { + if (do_posix) + warning(_("`--posix' overrides `--binary'")); + else + gawk_mb_cur_max = 1; /* hands off my data! */ + } +#endif + /* * Force profiling if this is pgawk. * Don't bother if the command line already set profiling up. @@ -647,7 +698,8 @@ out: (void) interpret(begin_block); } in_begin_rule = FALSE; - if (! exiting && (expression_value != NULL || end_block != NULL)) + if (! exiting && (expression_value != NULL || end_block != NULL + || beginfile_block != NULL || endfile_block != NULL)) do_input(); if (end_block != NULL) { in_end_rule = TRUE; @@ -674,7 +726,7 @@ out: exit_val = EXIT_FAILURE; if (do_profiling) { - dump_prog(begin_block, expression_value, end_block); + dump_prog(begin_block, beginfile_block, expression_value, endfile_block, end_block); dump_funcs(); } @@ -725,37 +777,36 @@ usage(int exitval, FILE *fp) /* GNU long options info. This is too many options. */ - fputs(_("POSIX options:\t\tGNU long options:\n"), fp); + fputs(_("POSIX options:\t\tGNU long options: (standard)\n"), fp); fputs(_("\t-f progfile\t\t--file=progfile\n"), fp); fputs(_("\t-F fs\t\t\t--field-separator=fs\n"), fp); fputs(_("\t-v var=val\t\t--assign=var=val\n"), fp); + fputs(_("POSIX options:\t\tGNU long options: (extensions)\n"), fp); fputs(_("\t-m[fr] val\n"), fp); + fputs(_("\t-b\t\t\t--characters-as-bytes\n"), fp); + fputs(_("\t-c\t\t\t--compat, --traditional\n"), fp); + fputs(_("\t-C\t\t\t--copyleft, --copyright\n"), fp); + fputs(_("\t-d [file]\t\t--dump-variables[=file]\n"), fp); + fputs(_("\t-e 'program-text'\t--source='program-text'\n"), fp); + fputs(_("\t-E file\t\t\t--exec=file\n"), fp); + fputs(_("\t-g\t\t\t--gen-pot\n"), fp); + fputs(_("\t-h\t\t\t--help, --usage\n"), fp); + fputs(_("\t-l [fatal]\t\t--lint[=fatal]\n"), fp); + fputs(_("\t-L\t\t\t--lint-old\n"), fp); + fputs(_("\t-n\t\t\t--non-decimal-data\n"), fp); + fputs(_("\t-N\t\t\t--use-lc-numeric\n"), fp); fputs(_("\t-O\t\t\t--optimize\n"), fp); - fputs(_("\t-W compat\t\t--compat\n"), fp); - fputs(_("\t-W copyleft\t\t--copyleft\n"), fp); - fputs(_("\t-W copyright\t\t--copyright\n"), fp); - fputs(_("\t-W dump-variables[=file]\t--dump-variables[=file]\n"), fp); - fputs(_("\t-W exec=file\t\t--exec=file\n"), fp); - fputs(_("\t-W gen-po\t\t--gen-po\n"), fp); - fputs(_("\t-W help\t\t\t--help\n"), fp); - fputs(_("\t-W lint[=fatal]\t\t--lint[=fatal]\n"), fp); - fputs(_("\t-W lint-old\t\t--lint-old\n"), fp); - fputs(_("\t-W non-decimal-data\t--non-decimal-data\n"), fp); + fputs(_("\t-p [file]\t\t--profile[=file]\n"), fp); + fputs(_("\t-P\t\t\t--posix\n"), fp); + fputs(_("\t-r\t\t\t--re-interval\n"), fp); + fputs(_("\t-S\t\t\t--sandbox\n"), fp); + fputs(_("\t-V\t\t\t--version\n"), fp); #ifdef NOSTALGIA fputs(_("\t-W nostalgia\t\t--nostalgia\n"), fp); #endif #ifdef GAWKDEBUG fputs(_("\t-W parsedebug\t\t--parsedebug\n"), fp); #endif - fputs(_("\t-W profile[=file]\t--profile[=file]\n"), fp); - fputs(_("\t-W posix\t\t--posix\n"), fp); - fputs(_("\t-W re-interval\t\t--re-interval\n"), fp); - fputs(_("\t-W source=program-text\t--source=program-text\n"), fp); - fputs(_("\t-W traditional\t\t--traditional\n"), fp); - fputs(_("\t-W usage\t\t--usage\n"), fp); - fputs(_("\t-W use-lc-numeric\t--use-lc-numeric\n"), fp); - fputs(_("\t-W version\t\t--version\n"), fp); - /* This is one string to make things easier on translators. */ /* TRANSLATORS: --help output 5 (end) @@ -906,6 +957,7 @@ static const struct varinit varinit[] = { {&FILENAME_node, "FILENAME", Node_var, "", 0, NULL, 0 }, {&FNR_node, "FNR", Node_FNR, NULL, 0, set_FNR, 0 }, {&FS_node, "FS", Node_FS, " ", 0, NULL, 0 }, +{&FPAT_node, "FPAT", Node_FPAT, " ", 0, NULL, 0 }, {&IGNORECASE_node, "IGNORECASE", Node_IGNORECASE, NULL, 0, NULL, NON_STANDARD }, {&LINT_node, "LINT", Node_LINT, NULL, 0, NULL, NON_STANDARD }, {&NF_node, "NF", Node_NF, NULL, -1, NULL, 0 }, @@ -1009,7 +1061,6 @@ static NODE * load_procinfo() { int i; - NODE **aptr; char name[100]; AWKNUM value; @@ -1023,8 +1074,7 @@ load_procinfo() #endif value = getpgrp(getpgrp_arg()); - aptr = assoc_lookup(PROCINFO_node, tmp_string("pgrpid", 6), FALSE); - *aptr = make_number(value); + update_PROCINFO_num("pgrpid", value); /* * could put a lot of this into a table, but then there's @@ -1032,43 +1082,47 @@ load_procinfo() * do it the slow and stupid way. sigh. */ - aptr = assoc_lookup(PROCINFO_node, tmp_string("version", 7), FALSE); - *aptr = make_string(VERSION, strlen(VERSION)); + update_PROCINFO_str("version", VERSION); value = getpid(); - aptr = assoc_lookup(PROCINFO_node, tmp_string("pid", 3), FALSE); - *aptr = make_number(value); + update_PROCINFO_num("pid", value); value = getppid(); - aptr = assoc_lookup(PROCINFO_node, tmp_string("ppid", 4), FALSE); - *aptr = make_number(value); + update_PROCINFO_num("ppid", value); value = getuid(); - aptr = assoc_lookup(PROCINFO_node, tmp_string("uid", 3), FALSE); - *aptr = make_number(value); + update_PROCINFO_num("uid", value); value = geteuid(); - aptr = assoc_lookup(PROCINFO_node, tmp_string("euid", 4), FALSE); - *aptr = make_number(value); + update_PROCINFO_num("euid", value); value = getgid(); - aptr = assoc_lookup(PROCINFO_node, tmp_string("gid", 3), FALSE); - *aptr = make_number(value); + update_PROCINFO_num("gid", value); value = getegid(); - aptr = assoc_lookup(PROCINFO_node, tmp_string("egid", 4), FALSE); - *aptr = make_number(value); - - aptr = assoc_lookup(PROCINFO_node, tmp_string("FS", 2), FALSE); - *aptr = (using_fieldwidths() ? make_string("FIELDWIDTHS", 11) : - make_string("FS", 2) ); + update_PROCINFO_num("egid", value); + + switch (current_field_sep()) { + case Using_FIELDWIDTHS: + update_PROCINFO_str("FS", "FIELDWIDTHS"); + break; + case Using_FPAT: + update_PROCINFO_str("FS", "FPAT"); + break; + case Using_FS: + update_PROCINFO_str("FS", "FS"); + break; + default: + fatal(_("unknown value for field spec: %d\n"), + current_field_sep()); + break; + } #if defined (HAVE_GETGROUPS) && defined(NGROUPS_MAX) && NGROUPS_MAX > 0 for (i = 0; i < ngroups; i++) { sprintf(name, "group%d", i + 1); value = groupset[i]; - aptr = assoc_lookup(PROCINFO_node, tmp_string(name, strlen(name)), FALSE); - *aptr = make_number(value); + update_PROCINFO_num(name, value); } if (groupset) { free(groupset); @@ -1267,7 +1321,7 @@ init_fds() if (do_lint) lintwarn(_("no pre-opened fd %d"), fd); #endif - newfd = devopen("/dev/null", opposite_mode[fd]); + newfd = devopen("/dev/null", opposite_mode[fd], NULL); /* turn off some compiler warnings "set but not used" */ newfd += 0; #ifdef MAKE_A_HEROIC_EFFORT diff --git a/po/ChangeLog b/po/ChangeLog index 3c3929a2..febe20e1 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -92,3 +92,16 @@ Wed May 1 16:41:32 2002 Arnold D. Robbins <arnold@skeeve.com> * Makefile.in.in: Upgrade to gettext-0.11.1. * remove-potcdate.sin: New file, from gettext-0.11.1. +Sun Jun 3 13:04:44 2001 Arnold D. Robbins <arnold@skeeve.com> + + * Release 3.1.0: Release tar file made. And there was + rejoicing. + +Sun Dec 24 10:35:15 2000 Arnold D. Robbins <arnold@skeeve.com> + + * he.po: New file, courtesy of Eli Zaretskii. + +Wed Feb 16 14:41:13 2000 Arnold D. Robbins <arnold@skeeve.com> + + * ChangeLog: Created to satisfy automake's `make dist'. + Harumph. Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk-3.1.7\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2009-12-17 16:31+0100\n" "Last-Translator: Marquinos <maacub@gmail.com>\n" "Language-Team: Asturian <ubuntu-l10n-ast@lists.ubuntu.com>\n" @@ -75,338 +75,353 @@ msgstr "%s: ye un parámetru\n" msgid "%s: array_ref to %s\n" msgstr "%s: array_ref a %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "Los bloques %s deben tener una parte d'aición" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "cada regla tien de tener un patrón o una parte d'aición" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "l'awk antiguu non almite múltiples regles `BEGIN' o `END'" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' ye una función interna, nun puede redefinise" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" "la constante d'espresión regular `//' paez un comentariu de C++, pero nun lo " "ye" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" "la constante d'espresión regular `/%s/' paez un comentariu de C, pero nun lo " "ye" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "la sentencia puede nun tener efeutu" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "usóse `%s' na aición %s" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "`nextfile' ye una estensión de gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "usóse `return' fuera del contestu de la función" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "el `print' simple na regla BEGIN o END probablemente tien de ser `print \"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "`delete array' ye una estensión de gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(array)' ye una estensión de gawk que nun ye tresportable" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "valores case duplicaos nel cuerpu d'un switch: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "Detectóse un `default' duplicáu nel cuerpo d'un switch" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "les llínies de trabayu de dos víes multiestáu non furrulen" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "espresión regular del lláu drechu d'una asignación" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "espresión regular a manzorga del operador `~' o `!~'" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "" "l'awk antiguu nun almite la pallabra contraseña `in' esceutu dempués de `for'" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "espresión regular a drecha d'una comparación" -#: awkgram.y:893 +#: awkgram.y:936 +#, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "`getline' non redirixíu non definíu dientro de l'aición d'END" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "l'awk antiguu nun almite matrices multidimensionales" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "la llamada de `length' ensin paréntesis nun ye tresportable" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "la llamada de `length' ensin paréntesis ta obsoleta por POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`extension' ye una estensión de gawk" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "usu d'una matriz que nun ye matriz" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "espresión de subíndiz non válida" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "nueva llinia o fin de la cadena inesperaos" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "testu de programa baleru na llinia de comandu" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "nun puede abrise'l ficheru fonte `%s' pa llectura (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "nun puede lleese'l ficheru fonte `%s' (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "el ficheru fonte `%s' ta baleru" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "el ficheru fonte nun fina con llinia nueva" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "espresión regular ensin finar fina con `\\` al final del ficheru" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "%s: %d: el modificador d'espresión regular `/.../%c` de tawk nun furrula en " "gawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "el modificador d'espresión regular `/.../%c` de tawk nun furrula en gawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "espresión regular ensin finar" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "espresión regular ensin finar al final del ficheru" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "l'usu de la continuación de llinia `\\ #...' nun ye tresportable" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "la barra invertida nun ye'l caberu carauter na llinia" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX nun permite l'operador `**='" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "l'awk antiguu nun almite l'operador `**='" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX nun permite l'operador `**'" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "l'awk antiguu nun almite l'operador `**='" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "l'operador `^=' nun s'almite nel awk antiguu" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "l'operador `^' nun s'almite nel awk antiguu" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "cadena ensin finar" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "carauter '%c' non válidu na espresión" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' ye una estensión de gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s' ye una estensión de Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX non permite `%s'" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' nun s'almite nel awk antiguu" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "¡`goto' considerase permalu!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d ye non válidu como númberu d'argumentos pa %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: el tercer argumentu ye una estensión de gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: el lliteral de cadena como caberu argumentu de substitute nun tien efeutu" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "el tercer argumentu de %s nun ye un oxetu que pueda camudase" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: el segundu argumentu ye una estensión de gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "l'usu de dcgettext(_\\\"...\\\") ye incorreutu: quita'l subrayáu d'aniciu" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "l'usu de dcngettext(_\\\"...\\\") ye incorreutu: quita'l subrayáu d'aniciu" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "función `%s': parámetru #%d, `%s', duplica'l parámetru #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "función `%s': parámetru `%s' anubre la variable global" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "nun puede abrir `%s' pa escritura (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "unvíase'l perfil a la salida standard de fallu" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: falló close (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "¡llamóse shadow_funcs() dos vegaes!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "hai variables anubríes." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "" "función `%s': nun puede usase un nome de función como nome de parámetru" -#: awkgram.y:3004 +#: awkgram.y:3088 #, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "" "función `%s': nun puede usar variable especial `%s' como parámetru de función" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "el nome de función `%s' definióse previamente" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "llamóse a la función `%s' pero enxamás se definió" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "definióse la función `%s' pero enxamás se llamó" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" "la constante d'espresión regular pal parámetru #%d da un valor booleanu" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -415,12 +430,12 @@ msgstr "" "llamóse la función `%s' con espaciu ente'l nome y el `(',\n" "o usóse como una variable o una matriz" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "intentóse una división por cero en `/='" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "intentóse una división por cero en `%%'" @@ -679,245 +694,264 @@ msgstr "mktime: recibióse un argumentu que nun ye una cadena" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: recibióse un argumentu que nun ye una cadena" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "referencia al campu ensin anicializar `$%d'" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: recibióse un argumentu que nun ye una cadena" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: recibióse un argumentu que nun ye una cadena" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: el primer argumentu recibíu nun ye un númberu" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: el segundu argumentu recibíu nun ye un númberu" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: recibióse un argumentu que nun ye un númberu" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: recibió un argumentu que nun ye un númberu" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: recibió un argumentu que nun ye un númberu" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: el tercer argumentu nun ye una matriz" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: el tercer argumentu de 0 tratase como 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: el primer argumentu recibíu nun ye un númberu" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: el segundu argumentu recibíu nun ye un númberu" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): los valores negativos darán resultaos raros" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): los valores fraccionarios truncaránse" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): un valor de desplazamientu mui grande dará resultaos raros" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: el primer argumentu recibíu nun ye un númberu" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: el segundu argumentu recibíu nun ye un númberu" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): los valores negativos darán resultaos raros" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): los valores fraccionarios serán truncaos" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): un valor de desplazamientu mui grande dará resultaos raros" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: el primer argumentu recibíu nun ye un númberu" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: el segundu argumentu recibíu nun ye un númberu" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): los valores negativos darán resultaos raros" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): los valores fraccionarios serán truncaos" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: el primer argumentu recibíu nun ye un númberu" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: el segundu argumentu recibíu nun ye un númberu" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): los valores negativos darán resultaos raros" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): los valores fraccionarios serán truncaos" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: el primer argumentu recibíu nun ye un númberu" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: el segundu argumentu recibíu nun ye un númberu" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): los valores negativos darán resultaos raros" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): los valores fraccionarios truncaránse" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: recibióse un argumentu que nun ye un númberu" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): el valor negativu dará resultaos raros" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): el valor fraccionario truncaráse" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' nun ye ua categoría llocal válida" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "triba de nodu %d desconocida" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "desbordamientu d'almacenamientu temporal en genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "intentóse usar la matriz `%s' nun contestu escalar" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "ciclo for: la matriz `%s' camudó de tamañu de %ld a %ld durante la execución " "del ciclu" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "`break' fuera d'un ciclu nun ye tresportable" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "nun se permite `break' fuera d'un ciclu" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "`continue' fuera d'un ciclu nun ye tresportable" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "nun se permite `continue' fuera d'un ciclu" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "`next' nun puede llamase dende una regla BEGIN" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "`next' nun puede llamase dende una regla END" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "`next' nun puede llamase dende una regla BEGIN" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "`next' nun puede llamase dende una regla END" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "`nextfile' nun puede llamase dende una regla BEGIN" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "`nextfile' nun puede llamase dende una regla END" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "`nextfile' nun puede llamase dende una regla END" + +#: eval.c:963 msgid "statement has no effect" msgstr "la declaración nun tien efeutu" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "nun puede usase'l nome de la función `%s' como variable o matriz" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "referencia al argumentu ensin anicializar `%s'" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "referencia a la variable ensin anicializar `%s'" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -925,39 +959,66 @@ msgstr "" "concatenación: ¡Los efectos llaterales nuna espresión camudarón la llonxitú " "d'otra!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "usóse una asignación nun contestu condicional" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "intentóse una división por cero" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "triba illegal (%s) en tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "intentóse una división por cero en `/='" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "intentóse una división por cero en `%%='" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "llamóse a la función `%s' con más argumentos de los declaraos" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "la función `%s' nun ta definida" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -968,148 +1029,183 @@ msgstr "" "\t# Pila de Llamaes de Funciones:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- principal --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "intentóse una referencia de campu dende un valor que nun ye un númberu" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "intentóse una referencia dende una cadena nula" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "intentóse acceder al campu %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "nun se permite l'asignación como resultáu d'una función interna" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "`IGNORECASE' ye una estensión de gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' ye una estensión de gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "valor BINMODE `%s' nun ye válidu, tratáu como 3" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "especificación `%sFMT' `%s' errónea" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "desactivase `--lint' darréu d'una asignación a `LINT'" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "`extension' ye una estensión de gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: nun puede abrise `%s' (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "" "extension: la biblioteca `%s': nun puede llamase a la función `%s' (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "extension: falta'l nome de la función" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: caráuter illegal `%c' nel nome de la función `%s'" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: nun puede redefinise la función `%s'" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "extension: la función `%s' ya ta definida" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" "extension: nun puede usase la orde interna de gawk `%s' como nome de función" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "extension: el nome de función `%s' definióse previamente" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "la función `%s' definióse pa tomar non más de %d argumentu(os)" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "función `%s': falta l'argumentu #%d" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "función `%s': argumentu #%d: intentóse usar un escalar como una matriz" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "función `%s': argumentu #%d: intentóse usar una matriz como un escalar" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operación Non Sofitada" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF con un valor negativu" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: el segundu argumentu nun ye una matriz" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: el tercer argumentu ye una estensión de gawk" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: el segundu argumentu nun ye una matriz" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: la cadena nula pal tercer argumentu ye una estensión de gawk" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: el segundu argumentu nun ye una matriz" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: el segundu argumentu nun ye una matriz" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: el tercer argumentu nun ye una matriz" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`FIELDWIDTHS' ye una estensión gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "valor de FIELDWIDTHS non válidu, cerca de `%s'" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "la cadena nula pa `FS' ye una estensión de gawk" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "l'awk antiguu nun almite espresiones regulares como valor de `FS'" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s' ye una estensión de gawk" + #: getopt.c:574 getopt.c:590 #, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1165,500 +1261,517 @@ msgstr "%s: la opción '-W %s' nun almite dengún argumentu\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: la opción '%s' requier un argumentu\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "nun puede abrise'l ficheru `%s' pa llectura (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "fallu al lleer el ficheru d'entrada `%s': %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "falló al zarrar el df %d (`%s') (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "triba d'árbol %s non válidu en redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "la espresión na redirección `%s' namái tien un valor numbéricu" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "la espresión pa la redirección `%s' tien un valor de cadena nula" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "el ficheru `%s' pa la redirección `%s' puede ser resultáu d'una espresión " "llógica" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "mezcla innecesaria de `>' y `>>' pal ficheru `%.*s'" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "nun puede abrise la tubería `%s' pa la salida (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "nun puede abrise la tubería `%s' pa la entrada (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "nun puede abrise la tubería de dos víes `%s' pa entrada/salida (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "nun puede redirixise dende `%s' (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "nun puede redirixise a `%s' (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "alcanzóse'l llímite del sistema pa ficheros abiertos: entamando a " "multiplexar los descriptores de ficheru" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "falló al zarrar `%s' (%s)." -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "demasiaes tuberíes o ficheros d'entrada abiertos" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: el segundu argumentu tien de ser `to' o `from'" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: `%.*s' nun ye un ficheru abierto, tubería o co-procesu" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "zarráu d'una redirección qu'enxamás foi abierta" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: la redirección `%s' nun s'abre con `|&', ignoróse'l segundu argumentu" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "estáu de fallu (%d) al zarrar la tubería de `%s' (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "estáu de fallu (%d) al zarrar el ficheru de `%s' (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "nun se provee'l zarráu esplícitu del `socket' `%s'" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "nun se provee'l zarráu esplícitu del co-procesu `%s'" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "nun se provee'l zarráu esplícitu de la tubería `%s'" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "nun se provee'l zarráu explícitu del ficheru `%s'" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "fallu al escribir na salida standard (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "fallu al escribir na salida standard de fallu (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "falló la limpieza de la tubería de `%s' (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "falló la limpieza del co-procesu de la tubería a `%s' (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "falló la limpieza del ficheru de `%s' (%s)." -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "puertu llocal %s non válidu en `/inet'" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "anfitrión remotu ya información de puertu (%s, %s) inválidos" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "perdón, el veceru /inet/raw nun ta llistu entá" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "namái root puede usar `/inet/raw'." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "perdón, el sirvidor /inet/raw nun ta llistu entá" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "" "nun se proporciona dalgún protocolu (conocíu) nel nome de ficheru especial `%" "s'" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "el nome de ficheru especial `%s' ta incompletu" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "tien d'apurrise a `/inet' un nome d'anfitrión remotu" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "tien d'apurrise a `/inet' un puertu remotu" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "Nun tan sofitaes comunicaciones TCP/IP" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "el ficheru `%s' ye un direutoriu" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "usa `PROCINFO[\\\"%s\\\"]' en llugar de `%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "usa `PROCINFO[...]' en llugar de `/dev/user'" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "nun puede abrise `%s', mou `%s'" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "falló al zarrar el pty mayestru (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "falló al zarrar la salida standard nel fíu (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" "falló'l movimientu del pty esclavu a la salida standard nel fíu (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "falló al zarrar la entrada standard nel fíu (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" "falló'l movimientu del pty esclavu a la entrada standard nel fíu (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "falló al zarrar el pty esclavu (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "falló'l movimientu a la salida standard nel fíu (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" "falló'l movimiento de la tubería a la entrada standard nel fíu (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "falló la restauración de la salida standard nel procesu padre\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "falló la restauración de la entrada standard nel procesu padre\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "falló al zarrar la tubería (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' nun sofitao" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "nun puede abrise la tubería `%s' (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "nun puede criase'l procesu fíu pa `%s' (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "el ficheru de datos `%s' ta baleru" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "nun puede reservase más memoria d'entrada" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "fallu al lleer el ficheru d'entrada `%s': %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "el valor multicarauter de `RS' ye una estensión de gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" msgstr "fuera de memoria" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "la opción -m[fr] ye irrelevante en gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "usu de la opción -m: `-m[fr]' nnn" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "ignorase l'argumentu baleru pa `--source'" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: nun se reconoz la opción `-W %s', ignorase\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "ignorase l'argumentu baleru pa `--source'" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: la opción requier un argumentu -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "" "la variable d'ambiente `POSIXLY_CORRECT' ta afitada: activase `--posix'" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "`--posix' imponse a `--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "`--posix'/`--traditional' imponense a `--non-decimal-data'" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "executar %s como setuid root puede ser un problema de seguridá" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "`--posix' imponse a `--traditional'" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "nun puede afitase'l mou binariu na entrada standard (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "nun puede afitase'l mou binariu na salida standard (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "nun puede afitase'l mou binariu na salida standard de fallu (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "¡Non hai dengún programa de testu!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Mou d'emplegu: %s [opciones estilu POSIX o GNU] -f fichprog [--] " "ficheru ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Mou d'emplegu: %s [opciones estilu POSIX o GNU] [--] %cprograma%c " "ficheru ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Opciones POSIX:\t\tOpciones llargues GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f fichprog\t\t--file=fichprog\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F sc\t\t\t--field-separator=sc\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=valor\t\t--assign=var=valor\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "Opciones POSIX:\t\tOpciones llargues GNU:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] valor\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "\t-O\t\t\t--optimize\n" - -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=ficheru]\t--dump-variables[=ficheru]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +# Esta es la llinia más larga de la llista de argumentos. +# Probar con gawk pa revisar tabuladores. cfuga +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=testu-prog\t--source=testu-prog\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=ficheru\t\t--exec=ficheru\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +#, fuzzy +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "\t\\t-W usa-lc-numeric\\t--usa-lc-numeric\\n\n" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "\t-O\t\t\t--optimize\n" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=ficheru]\t--profile[=ficheru]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -# Esta es la llinia más larga de la llista de argumentos. -# Probar con gawk pa revisar tabuladores. cfuga -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=testu-prog\t--source=testu-prog\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +msgid "\t-S\t\t\t--sandbox\n" +msgstr "" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t\\t-W usa-lc-numeric\\t--usa-lc-numeric\\n\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1670,7 +1783,7 @@ msgstr "" "correspuende a la seición `Reporting Problems and Bugs' na versión impresa.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1680,7 +1793,7 @@ msgstr "" "Por omisión llee la entrada standard y escribe na salida standard.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1690,7 +1803,7 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' ficheru\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1709,7 +1822,7 @@ msgstr "" "(at your option) any later version.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1723,7 +1836,7 @@ msgstr "" "GNU General Public License for more details.\n" "\n" -#: main.c:813 +#: main.c:864 msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" @@ -1731,11 +1844,16 @@ msgstr "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft non afita FS a tabulador nel awk de POSIX" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1744,43 +1862,43 @@ msgstr "" "%s: l'argumentu `%s' pa `-v' nun ye de la forma `var=valor'\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' nun ye un nome de variable llegal" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "`%s' nun ye un nome de variable, guetase'l ficheru `%s=%s'" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "escepción de coma flotante" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "fallu fatal: fallu internu" -#: main.c:1206 +#: main.c:1260 msgid "fatal error: internal error: segfault" msgstr "fallu fatal: fallu internu: segfault" -#: main.c:1218 +#: main.c:1272 msgid "fatal error: internal error: stack overflow" msgstr "fallu fatal: fallu internu: stack overflow" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "nun esiste'l df %d abiertu previamente" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "nun puede abrise previamente /dev/null pal df %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "nun pueden atopase los grupos: %s" @@ -1852,21 +1970,21 @@ msgstr "nun puede abrise `%s' pa escritura: %s" msgid "internal error: %s with null vname" msgstr "fallu internu: %s con vname null" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# tratase internamente como `delete'" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "# esta ye una función d'estensión cargada dinámicamente" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# perfil de gawk, criáu %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1875,7 +1993,16 @@ msgstr "" "\t# bloque(s) BEGIN\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# bloque(s) BEGIN\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1884,7 +2011,16 @@ msgstr "" "\t# Regla(es)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# bloque(s) END\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1893,7 +2029,7 @@ msgstr "" "\t# bloque(s) END\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1902,16 +2038,21 @@ msgstr "" "\n" "\t# Funciones, enumberaes alfabéticamente\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "triba %s inesperada en prec_level" -#: profile.c:1527 +#: profile.c:1557 #, c-format msgid "Unknown node type %s in pp_var" msgstr "triba de nodu %s desconocida en pp_var" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "Ésitu" @@ -1984,6 +2125,27 @@ msgstr ") o \\) desemparexaos" msgid "No previous regular expression" msgstr "Nun hai una espresión regular previa" +#~ msgid "file `%s' is a directory" +#~ msgstr "el ficheru `%s' ye un direutoriu" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "usa `PROCINFO[\\\"%s\\\"]' en llugar de `%s'" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "usa `PROCINFO[...]' en llugar de `/dev/user'" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "nun puede abrise'l `socket' de dos víes `%s' pa entrada/salida (%s)" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.31\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2003-05-07 21:13+0100\n" "Last-Translator: Antoni Bella Perez <bella5@teleline.es>\n" "Language-Team: Catalan <ca@dodds.net>\n" @@ -75,337 +75,352 @@ msgstr "%s: s un parmetre\n" msgid "%s: array_ref to %s\n" msgstr "%s: ref_matriu a %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, fuzzy, c-format msgid "%s blocks must have an action part" msgstr "Els blocs FINAL han de tindre una part d'acci" -#: awkgram.y:221 +#: awkgram.y:230 #, fuzzy msgid "each rule must have a pattern or an action part" msgstr "Els blocs FINAL han de tindre una part d'acci" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 #, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "l'antic awk no suporta l'operador **=" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "%s s una funci interna, no pot ser redefinida" -#: awkgram.y:331 +#: awkgram.y:350 #, fuzzy msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" "la constant d'expressi regular /%s/ sembla un comentari en C, per no ho s" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" "la constant d'expressi regular /%s/ sembla un comentari en C, per no ho s" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "la declaraci podria no tindre efecte" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, fuzzy, c-format msgid "`%s' used in %s action" msgstr "next s usat dintre de l'acci BEGIN o END" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "nextfile s una extensi de gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "return s usat fora del context d'una funci" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "el print simple en la regla BEGIN o END probablement ha de ser print \"\"" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "delete array s una extensi de gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 #, fuzzy msgid "`delete(array)' is a non-portable tawk extension" msgstr "delete array s una extensi de gawk" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "les canonades bidireccionals multi-etapes no funcionen" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "expressi regular a la dreta d'una assignaci" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "expressi regular a l'esquerra de l'operador ~ o !~" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 #, fuzzy msgid "old awk does not support the keyword `in' except after `for'" msgstr "l'antic awk no suporta l'operador **=" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "expressi regular a la derta de la comparaci" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "port remot no vlid en %s" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "getline no redirigit sense definir dintre de l'acci FINAL" -#: awkgram.y:904 +#: awkgram.y:955 #, fuzzy msgid "old awk does not support multidimensional arrays" msgstr "l'antic awk no suporta l'operador **=" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "la crida de length sense parntesis no s portable" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "la crida de length sense parntesis est desaprovada per POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "extension s una extensi gawk" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "expressi de subscript no vlida" -#: awkgram.y:1257 +#: awkgram.y:1329 #, fuzzy msgid "unexpected newline or end of string" msgstr "nova lnia inesperada" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "el text del programa en la lnia de comandaments est buit" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "no es pot obrir el fitxer font %s per a lectura (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "no es pot llegir el fitxer font %s (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "el fitxer font %s est buit" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "el fitxer font no finalitza amb un retorn de carro" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "expressi regular sense finalitzar acaba amb \\ al final del fitxer" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "expressi regular sense finalitzar" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "expressi regular sense finalitzar al final del fitxer" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "l's de \\ #... com a continuaci de lnia no s portable" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "la barra invertida no s l'ltim carcter en la lnia" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX no permet l'operador **=" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "l'antic awk no suporta l'operador **=" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX no permet l'operador **" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "l'antic awk no suporta l'operador **=" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "l'operador ^= no est suportat en l'antic awk" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "l'operador ^ no est suportat en l'antic awk" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "cadena sense finalitzar" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "carcter %c no vlid en l'expressi" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "%s s una extensi de gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "%s s una extensi de Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX no permet %s" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "%s no est suportat en l'antic awk" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "goto se considera nefast!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d no s vlid com a nombre d'arguments per a %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: el tercer argument s una extensi de gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "%s: la cadena literal com a ltim argument de substituci no t efecte" -#: awkgram.y:2475 +#: awkgram.y:2552 #, fuzzy, c-format msgid "%s third parameter is not a changeable object" msgstr "sub: el tercer argument no s un objecte intercanviable" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: el segon argument s una extensi de gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "l's de dcgettext(_\"...\") no s correcte: elimineu el gui baix inicial" -#: awkgram.y:2530 +#: awkgram.y:2614 #, fuzzy msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "l's de dcgettext(_\"...\") no s correcte: elimineu el gui baix inicial" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funci %s: parmetre #%d, %s, duplica al parmetre #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funci %s: parmetre %s ofusca la variable global" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "no es pot obrir %s per a escriptura (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "enviant el perfil a l'eixida d'error estndard" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: tancament erroni (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() crida dos vegades!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "" -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "funci %s: no pot usar el nom de la funci com a parmetre" -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "funci %s: no pot usar el nom de la funci com a parmetre" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "nom de la funci %s definida prviament" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "es crida a la funci %s per no s'ha definit" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "es defineix la funci %s per no s'ha cridat mai" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" "l'expressi regular constant per al parmetre #%d condueix a un valor boole" -#: awkgram.y:3245 +#: awkgram.y:3329 #, fuzzy, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -414,12 +429,12 @@ msgstr "" "s'ha cridat a la funci %s amb espai entre el nom i el (,\n" "%s" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "s'ha intentat una divisi per zero en /=" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "s'ha intentat una divisi per zero en %%" @@ -677,256 +692,274 @@ msgstr "mktime: s'ha rebut un argument que no s una cadena" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 #, fuzzy msgid "system: received non-string argument" msgstr "system: s'ha rebut un argument que no s una cadena" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, fuzzy, c-format msgid "reference to uninitialized field `$%d'" msgstr "referncia a una variable sense inicialitzar %s" -#: builtin.c:2009 +#: builtin.c:2012 #, fuzzy msgid "tolower: received non-string argument" msgstr "tolower: s'ha rebut un argument que no s una cadena" -#: builtin.c:2039 +#: builtin.c:2042 #, fuzzy msgid "toupper: received non-string argument" msgstr "toupper: s'ha rebut un argument que no s una cadena" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: el primer argument rebut no s numric" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: el segon argument rebut no s numric" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: s'ha rebut un argument que no s numric" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: s'ha rebut un argument que no s numric" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: s'ha rebut un argument que no s numric" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: el tercer argument no s una matriu" -#: builtin.c:2744 -#, fuzzy +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: el tercer argument de 0 s tractat com a 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: el primer argument rebut no s numric" -#: builtin.c:2862 +#: builtin.c:2868 #, fuzzy msgid "lshift: received non-numeric second argument" -msgstr "atan2: el segon argument rebut no s numric" +msgstr "strftime: el segon argument rebut no s numric" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): els valors negatius donaran resultats estranys" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): els valors fraccionaris sernn truncats" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): un valor de desplaament massa gran donar resultats " "estranys" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: el primer argument rebut no s numric" -#: builtin.c:2900 +#: builtin.c:2906 #, fuzzy msgid "rshift: received non-numeric second argument" -msgstr "atan2: el segon argument rebut no s numric" +msgstr "strftime: el segon argument rebut no s numric" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): els valors negatius donaran resultats estranys" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): els valors fraccionaris seran truncats" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): un valor de desplaament massa gran donar resultats " "estranys" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: el primer argument rebut no s numric" -#: builtin.c:2938 +#: builtin.c:2944 #, fuzzy msgid "and: received non-numeric second argument" msgstr "atan2: el segon argument rebut no s numric" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): els valors negatius donaran resultats estranys" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): els valors fraccionaris seran truncats" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: el primer argument rebut no s numric" -#: builtin.c:2974 +#: builtin.c:2980 #, fuzzy msgid "or: received non-numeric second argument" msgstr "atan2: el segon argument rebut no s numric" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): els valors negatius donaran resultats estranys" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): els valors fraccionaris seran truncats" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: el primer argument rebut no s numric" -#: builtin.c:3010 +#: builtin.c:3016 #, fuzzy msgid "xor: received non-numeric second argument" msgstr "atan2: el segon argument rebut no s numric" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): els valors negatius donaran resultats estranys" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): els valors fraccionaris seran truncats" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: s'ha rebut un argument que no s numric" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): el valor negatiu donar resultats estranys" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): el valor fraccionari ser truncat" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: %s no s una categoria local vlida" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "tipo de node %d desconegut" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "desbordament del cau temporal en genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "s'ha intentat usar la matriu %s en un context escalar" -#: eval.c:802 +#: eval.c:803 #, fuzzy, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "bucle for: la matriu %s ha canviat de mida de %d a %d durant l'execuci del " "bucle" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "break a fora d'un bucle no s portable" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "no es permet break a fora d'un bucle" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "continue fora d'un bucle no s portable" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "no es permet continue a fora d'un bucle" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "next no es pot cridar des d'una regla BEGIN" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "next no es pot cridar des d'una regla FINAL" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "next no es pot cridar des d'una regla BEGIN" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "next no es pot cridar des d'una regla FINAL" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "nextfile no es pot cridar des d'una regla BEGIN" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "nextfile no es pot cridar des d'una regla FINAL" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "nextfile no es pot cridar des d'una regla FINAL" + +#: eval.c:963 msgid "statement has no effect" msgstr "la sentncia no t efecte" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "no es pot usar el nom de la funci %s com a variable o matriu" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "referncia a un argument sense inicialitzar %s" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "referncia a una variable sense inicialitzar %s" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -934,39 +967,66 @@ msgstr "" "concatenaci: els efectes colaterals en una expressi han canviat la " "longitud d'una altra!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "assignaci usada en un context condicional" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "s'ha intentat una divisi per zero" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tipus illegal (%s) en tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "s'ha intentat una divisi per zero en /=" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "s'ha intentat una divisi per zero en %%=" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "s'ha cridat a la funci %s amb ms arguments dels declarats" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "la funci %s no est definida" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -977,148 +1037,183 @@ msgstr "" "\t# Pila de Crides a les Funcions:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- principal --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "s'ha intentat una referncia de camp a partir d'un valor no numric" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "s'ha intentat una referncia a partir d'una cadena nulla" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "s'ha intentat accedir al camp %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "" "no es permet l'assignaci per a obtindre un resultat d'una funci interna" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "IGNORECASE s una extensi de gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "BINMODE s una extensi de gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "%sFMT especificaci errnia %s" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "desactivant --lint degut a una assignaci a LINT" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "extension s una extensi gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: no es pot obrir %s (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: biblioteca %s: no es pot cridar a la funci %s (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "" -#: ext.c:110 +#: ext.c:113 #, fuzzy, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: biblioteca %s: no es pot cridar a la funci %s (%s)\n" -#: ext.c:116 +#: ext.c:119 #, fuzzy, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: no es pot obrir %s (%s)\n" -#: ext.c:120 +#: ext.c:123 #, fuzzy, c-format msgid "extension: function `%s' already defined" msgstr "la funci %s no est definida" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" -#: ext.c:127 +#: ext.c:130 #, fuzzy, c-format msgid "extension: function name `%s' previously defined" msgstr "nom de la funci %s definida prviament" -#: ext.c:204 +#: ext.c:207 #, fuzzy, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "es defineix la funci %s per no s'ha cridat mai" -#: ext.c:207 +#: ext.c:210 #, fuzzy, c-format msgid "function `%s': missing argument #%d" msgstr "la funci %s no est definida" -#: ext.c:217 +#: ext.c:220 #, fuzzy, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "s'ha intentat usar la dada escalar %s com a una matriu" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operaci No Suportada" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF s'inicialitza sobre un valor negatiu" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: el segon argument no s una matriu" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: el tercer argument s una extensi de gawk" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: el segon argument no s una matriu" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: la cadena nulla per al tercer argument s una extensi de gawk" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: el segon argument no s una matriu" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: el segon argument no s una matriu" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: el tercer argument no s una matriu" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "FIELDWIDTHS s una extensi de gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "la cadena nulla per a FS s una extensi de gawk" -#: field.c:1092 +#: field.c:1242 #, fuzzy msgid "old awk does not support regexps as value of `FS'" msgstr "l'antic awk no suporta l'operador **=" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "%s s una extensi de gawk" + #: getopt.c:574 getopt.c:590 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1174,499 +1269,515 @@ msgstr "%s: l'opci -W %s no admet cap argument\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: l'opci %s requereix un argument\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "no es pot obrir el fitxer %s per a lectura (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "error en llegir el fitxer d'entrada %s: %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "la finalitzaci del descriptor fd %d (%s) ha fallat (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "tipus d'arbre %s no vlid dintre de redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "l'expressi en la redirecci %s solt t un valor numric" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "l'expressi per a la redirecci %s t un valor de cadena nulla" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "el fitxer %s per a la redirecci %s pot ser resultat d'una expressi lgica" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "mescla innecessria de > i >> per al fitxer %.*s" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "no es pot obrir la canonada %s per a l'eixida (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "no es pot obrir la canonada %s per a l'entrada (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "" "no es pot obrir una canonada bidireccional %s per a les entrades/eixides (%" "s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "no es pot redirigir des de %s (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "no es pot redirigir cap a %s (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "s'ha arribat al lmit del sistema per a fitxers oberts: es comenar a " "multiplexar els descriptors de fitxer" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "la finalitzaci de %s ha fallat (%s)" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "masses canonades o fitxers d'entrada oberts" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: el segon argument hauria de ser to o from" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: %.*s no s un fitxer obert, canonada o co-procs" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "finalitzaci d'una redirecci que no s'ha obert" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "close: la redirecci %s no s'obre amb |&, s'ignora el segon argument" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "estaus de falla (%d) en la finalitzaci de la canonada %s (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "estatus de falla (%d) en la finalitzaci del fitxer %s (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "no s'aporta la finalitzaci explcita del socket %s" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "no s'aporta la finalitzaci explcita del co-procs %s" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "no s'aporta la finalitzaci explcita de la canonada %s" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "no s'aporta la finalitzaci explcita del fitxer %s" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "error a l'escriure en l'eixida estndard (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "error a l'escriure en l'eixida d'error estndard (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "la neteja de la canonada de %sx ha fallat (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "la neteja de la canonada per al co-procs de %sx ha fallat (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "la neteja del fitxer %sx ha fallat (%s)." -#: io.c:1222 +#: io.c:1292 #, fuzzy, c-format msgid "local port %s invalid in `/inet'" msgstr "port local no vlid en %s" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "el client /inet/raw encara no est a punt, ho sento" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "sols el root pot usar /inet/raw." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "el servidor /inet/raw encara no est a punt, ho sento" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "no s'aporta cap protocol (conegut) en el nom del fitxer especial %s" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "el nom del fitxer especial %s est incomplet" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "s'ha de subministrar un nom de sistema remot a /inet" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "s'ha de subministrar un port remot a /inet" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "les comunicacions TCP/IP no estan suportades" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "el fitxer %s s un directori" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "useu PROCINFO[\"%s\"] en comptes de %s" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "useu PROCINFO[...] en comptes de /dev/user" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "no es pot obrir %s, mode %s" -#: io.c:1923 +#: io.c:1809 #, fuzzy, c-format msgid "close of master pty failed (%s)" msgstr "ha fallat la finalitzaci de la canonada (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "" "ha fallat la finalitzaci de l'eixida estndard en els processos fills (%s)" -#: io.c:1928 +#: io.c:1814 #, fuzzy, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" "ha fallat la redirecci cap a l'eixida estndard dels processos fills (dup: %" "s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "" "ha fallat la finalitzaci de l'entrada estndard en els processos fills (%s)" -#: io.c:1933 +#: io.c:1819 #, fuzzy, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" "ha fallat la redirecci cap a l'entrada estndard dels processos fills (dup: " "%s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, fuzzy, c-format msgid "close of slave pty failed (%s)" msgstr "ha fallat la finalitzaci de la canonada (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "" "ha fallat la redirecci cap a l'eixida estndard dels processos fills (dup: %" "s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" "ha fallat la redirecci cap a l'entrada estndard dels processos fills (dup: " "%s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "ha fallat la restauraci de l'eixida estndard en el procs pare\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "ha fallat la restauraci de l'entrada estndard en el procs pare\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "ha fallat la finalitzaci de la canonada (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "|& no est suportat" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "no es pot obrir la canonada %s (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "no es pot crear el procs fill per a %s (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "el fitxer de dades %s est buit" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "error en llegir el fitxer d'entrada %s: %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "el valor multicarcter de RS s una extensi de gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "memria esgotada" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "l'opcin -m[fr] s irrellevant en gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "s de l'opci -m: -m[fr] nnn" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "s'igonar l'argument buit per a l'opci --source" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: no es reconeix l'opci -W %s, ser ignorada\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "s'igonar l'argument buit per a l'opci --source" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: l'opci requereix un argument -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "la variable d'entorn POSIXLY_CORRECT est establerta: usant --posix" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "--posix solapa a --traditional" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "--posix i --traditional solapen a --non-decimal-data" -#: main.c:530 +#: main.c:572 #, fuzzy, c-format msgid "running %s setuid root may be a security problem" msgstr "executar %s com a setuid root pot ser un problema de seguretat" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "--posix solapa a --traditional" + +#: main.c:622 #, fuzzy, c-format msgid "can't set binary mode on stdin (%s)" msgstr "no es pot establir el mode en l'entrada estndard (%s)" -#: main.c:574 +#: main.c:625 #, fuzzy, c-format msgid "can't set binary mode on stdout (%s)" msgstr "no es pot establir el mode en l'eixida estndard (%s)" -#: main.c:576 +#: main.c:627 #, fuzzy, c-format msgid "can't set binary mode on stderr (%s)" msgstr "no es pot establir el mode en l'eixida d'error estndard (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "no hi ha cap text per al programa!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "s: %s [opcions d'estil POSIX o GNU] -f fitx_prog [--] fitxer ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "s: %s [opcions d'estil POSIX o GNU] [--] %cprograma%c fitxer ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Opcions POSIX:\t\tOpcions llargues GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f fitx_prog\t\t--file=fitx_prog\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs (fs=sep_camp)\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=valor\t\t--assign=var=valor\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "Opcions POSIX:\t\tOpcions llargues GNU:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] valor\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=fitxer] --dump-variables[=fitxer]\n" -#: main.c:738 +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=text_prog\t--source=text_prog\n" + +#: main.c:791 #, fuzzy -msgid "\t-W exec=file\t\t--exec=file\n" +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W profile[=fitxer]\t--profile[=fitxer]\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=fitxer]\t--profile[=fitxer]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=text_prog\t--source=text_prog\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 #, fuzzy msgid "" "\n" @@ -1675,22 +1786,22 @@ msgid "" "\n" msgstr "a la secci Reporting Problems and Bugs de la versi impresa.\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" "\n" msgstr "" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" msgstr "" -#: main.c:794 -#, fuzzy, c-format +#: main.c:845 +#, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" "\n" @@ -1704,11 +1815,11 @@ msgstr "" "\n" "Aquest programa s programari lliure; pot redistribuir-se i/o modificar-se\n" "sota els termes de la Llicncia Pblica General de GNU tal i como est\n" -"publicada per la Free Software Foundation; ja siga en la versi 2 de la\n" +"publicada per la Free Software Foundation; ja siga en la versi 3 de la\n" "Llicncia, o (a la vostra elecci) qualsevol versi posterior.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1722,7 +1833,7 @@ msgstr "" "Per a ms detalls consulteu la Llicncia Pblica General de GNU.\n" "\n" -#: main.c:813 +#: main.c:864 #, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" @@ -1730,58 +1841,64 @@ msgid "" msgstr "" "Junt amb aquest programa haureu d'haber rebut una cpia de la Llicncia\n" "Pblica General de GNU; si no s aix, escriviu a la Free Software\n" -"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " +"USA.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft no permet inicialitzar FS a un tabulador en la versi POSIX de awk" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "excepci de coma flotant" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "error fatal: error intern" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "error fatal: error intern" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "error fatal: error intern" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "no s'ha pre-obert el descriptor fd per a %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "no es pot pre-obrir /dev/null per al descriptor fd %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "no es poden trobar els grups: %s" @@ -1851,21 +1968,21 @@ msgstr "no es pot obrir %s per a escriptura: %s" msgid "internal error: %s with null vname" msgstr "error intern: Node_var amb vname nul" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# perfil gawk, creat %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1874,7 +1991,16 @@ msgstr "" "\t# Bloc(s) INICI\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# Bloc(s) INICI\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1883,7 +2009,16 @@ msgstr "" "\t# Regla(es)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# Bloc(s) FINAL\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1892,7 +2027,7 @@ msgstr "" "\t# Bloc(s) FINAL\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1901,16 +2036,21 @@ msgstr "" "\n" "\t# Funcions, llistades alfabticament\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "tipus %s inesperat en prec_level" -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "tipo de node %d desconegut" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "xit" @@ -1983,17 +2123,82 @@ msgstr ") o \\) desemparellats" msgid "No previous regular expression" msgstr "No hi ha una expressi regular prvia" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: opci illegal -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "el fitxer %s s un directori" + +#~ msgid "can't open two way socket `%s' for input/output (%s)" +#~ msgstr "" +#~ "no es pot obrir un socket bidireccional %s per a les entrades/eixides (%" +#~ "s)" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: sense arguments" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: %.*s no s un fitxer obert, canonada o co-procs" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: %.*s no s un fitxer obert, canonada o co-procs" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "useu PROCINFO[\"%s\"] en comptes de %s" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "useu PROCINFO[...] en comptes de /dev/user" + +#~ msgid "function %s called\n" +#~ msgstr "s'ha cridat a la funci %s\n" + +#~ msgid "field %d in FIELDWIDTHS, must be > 0" +#~ msgstr "el camp %d en FIELDWIDTHS, hauria de ser > 0" + +#, fuzzy +#~ msgid "or used as a variable or an array" +#~ msgstr "no es pot usar el nom de la funci %s com a variable o matriu" + +#, fuzzy +#~ msgid "substr: length %g is < 0" +#~ msgstr "substr: la longitud %g s <= 0" + #~ msgid "delete: illegal use of variable `%s' as array" #~ msgstr "delete: s illegal de la variable %s com a una matriu" +#, fuzzy +#~ msgid "%s: gvar_ref to %s\n" +#~ msgstr "%s: ref_matriu a %s\n" + #~ msgid "asort: first argument is not an array" #~ msgstr "asort: el primer argument no s una matriu" #~ msgid "asort: second argument is not an array" #~ msgstr "asort: el segon argument no s una matriu" -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: opci illegal -- %c\n" +#, fuzzy +#~ msgid "" +#~ "attempt to use array parameter `%s' that was passed from global scalar `%" +#~ "s'" +#~ msgstr "s'ha intentat usar un parmetre escalar %s com a una matriu" + +#~ msgid "internal error: Node_var_array with null vname" +#~ msgstr "error intern: Node_var_array amb vname nul" #~ msgid "" #~ "\n" @@ -2005,9 +2210,6 @@ msgstr "No hi ha una expressi regular prvia" #~ msgid "invalid syntax in name `%s' for variable assignment" #~ msgstr "sintaxi no vlida en el nom %s per a l'asignaci de la variable" -#~ msgid "internal error: Node_var_array with null vname" -#~ msgstr "error intern: Node_var_array amb vname nul" - #~ msgid "or used in other expression context" #~ msgstr "o s'ha emprat en un altre context de l'expressi" @@ -2050,17 +2252,6 @@ msgstr "No hi ha una expressi regular prvia" #~ msgid "Unbalanced )" #~ msgstr ") sense aparellar" -#~ msgid "field %d in FIELDWIDTHS, must be > 0" -#~ msgstr "el camp %d en FIELDWIDTHS, hauria de ser > 0" - -#~ msgid "function %s called\n" -#~ msgstr "s'ha cridat a la funci %s\n" - -#~ msgid "can't open two way socket `%s' for input/output (%s)" -#~ msgstr "" -#~ "no es pot obrir un socket bidireccional %s per a les entrades/eixides (%" -#~ "s)" - #~ msgid "remote port invalid in `%s'" #~ msgstr "port remot no vlid en %s" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.31\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2002-11-09 10:09+0100\n" "Last-Translator: Keld Simonsen <keld@dkuug.dk>\n" "Language-Team: Danish <dansk@klid.dk>\n" @@ -74,337 +74,352 @@ msgstr "%s: er en parameter\n" msgid "%s: array_ref to %s\n" msgstr "%s: vektorreference til %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, fuzzy, c-format msgid "%s blocks must have an action part" msgstr "END-blok skal have en handlingsdel" -#: awkgram.y:221 +#: awkgram.y:230 #, fuzzy msgid "each rule must have a pattern or an action part" msgstr "END-blok skal have en handlingsdel" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 #, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "gamle awk understtter ikke operatoren \"**\"" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "\"%s\" er en indbygget funktion, den kan ikke omdefineres" -#: awkgram.y:331 +#: awkgram.y:350 #, fuzzy msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "regexp-konstanten \"/%s/\" ser ud som en C-kommentar, men er det ikke" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "regexp-konstanten \"/%s/\" ser ud som en C-kommentar, men er det ikke" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "kommandoen har mske ikke nogen effekt" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, fuzzy, c-format msgid "`%s' used in %s action" msgstr "\"next\" brugt i BEGIN- eller END-handling" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "\"nextfile\" er en gawk-udvidelse" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "\"return\" brugt uden for funktion" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "alenestende \"print\" i BEGIN eller END-regel br muligvis vre 'print \"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "\"delete array\" er en gawk-udvidelse" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 #, fuzzy msgid "`delete(array)' is a non-portable tawk extension" msgstr "\"delete array\" er en gawk-udvidelse" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "flertrins dobbeltrettede datakanaler fungerer ikke" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "regulrt udtryk i hjreleddet af en tildeling" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "regulrt udtryk p venstre side af en \"~\"- eller \"!~\"-operator" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 #, fuzzy msgid "old awk does not support the keyword `in' except after `for'" msgstr "gamle awk understtter ikke operatoren \"**\"" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "regulrt udtryk i hjreleddet af en sammenligning" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "fjernporten ugyldig i \"%s\"" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "ikke-omdirigeret \"getline\" udefineret inde i END-handling" -#: awkgram.y:904 +#: awkgram.y:955 #, fuzzy msgid "old awk does not support multidimensional arrays" msgstr "gamle awk understtter ikke operatoren \"**\"" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "kald af \"length\" uden parenteser er ikke portabelt" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "kald af \"length\" uden parenteser er forldet iflge POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "\"extension\" er en gawk-udvidelse" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "ugyldig indeksudtryk" -#: awkgram.y:1257 +#: awkgram.y:1329 #, fuzzy msgid "unexpected newline or end of string" msgstr "uventet nylinjetegn" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "tom programtekst p kommandolinjen" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "kan ikke bne kildefilen \"%s\" for lsning (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "kan ikke lse kildefilen \"%s\" (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "kildefilen \"%s\" er tom" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "kildefilen slutter ikke med en ny linje" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "uafsluttet regulrt udtryk slutter med \"\\\" i slutningen af filen" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "uafsluttet regulrt udtryk" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "uafsluttet regulrt udtryk i slutningen af filen" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "Brug af \"\\ #...\" for linjefortsttelse er ikke portabelt" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "sidste tegn p linjen er ikke en omvendt skrstreg" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX tillader ikke operatoren \"**=\"" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "gamle awk understtter ikke operatoren \"**=\"" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX tillader ikke operatoren \"**\"" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "gamle awk understtter ikke operatoren \"**\"" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "operatoren \"^=\" understttes ikke i gamle awk" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "operatoren \"^\" understttes ikke i gamle awk" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "uafsluttet streng" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "ugyldigt tegn \"%c\" i udtryk" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "\"%s\" er en gawk-udvidelse" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "\"%s\" er en Bell Labs-udvidelse" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX tillader ikke \"%s\"" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "\"%s\" understttes ikke i gamle awk" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "\"goto\" anses for skadlig!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d er et ugyldigt antal argumenter for %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: tredje argument er en gawk-udvidelse" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: bogstavelig streng som sidste argument til erstatning har ingen effekt" -#: awkgram.y:2475 +#: awkgram.y:2552 #, fuzzy, c-format msgid "%s third parameter is not a changeable object" msgstr "sub: tredje argument er ikke et ndringsbart objekt" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: andet argument er en gawk-udvidelse" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "brug af dcgettext(_\"...\") er fejlagtigt: fjern det indledende " "understregningstegn" -#: awkgram.y:2530 +#: awkgram.y:2614 #, fuzzy msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "brug af dcgettext(_\"...\") er fejlagtigt: fjern det indledende " "understregningstegn" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funktionen \"%s\": parameter %d, \"%s\", er samme som parameter %d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funktionen \"%s\": parameteren \"%s\" overskygger en global variabel" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "kunne ikke bne \"%s\" for skrivning (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "sender profilen til standard fejl" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: mislykkedes at lukke (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() kaldt to gange!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "" -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "funktionen \"%s\": kan ikke bruge funktionsnavn som parameternavn" -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "funktionen \"%s\": kan ikke bruge funktionsnavn som parameternavn" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "funktionsnavnet \"%s\" er allerede defineret" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "funktionen \"%s\" kaldt, men aldrig defineret" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "funktionen \"%s\" defineret, men aldrig kaldt" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "konstant regulrt udtryk for parameter %d giver en boolesk vrdi" -#: awkgram.y:3245 +#: awkgram.y:3329 #, fuzzy, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -413,12 +428,12 @@ msgstr "" "funktionen \"%s\" kaldt med blanktegn mellem navnet og \"(\",\n" "%s" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "forsgte at dividere med nul i \"/=\"" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "forsgte at dividere med nul i \"%%\"" @@ -671,293 +686,338 @@ msgstr "mktime: fik et argument som ikke er en streng" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 #, fuzzy msgid "system: received non-string argument" msgstr "system: fik et argument som ikke er en streng" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, fuzzy, c-format msgid "reference to uninitialized field `$%d'" msgstr "reference til ikke-initieret variabel \"%s\"" -#: builtin.c:2009 +#: builtin.c:2012 #, fuzzy msgid "tolower: received non-string argument" msgstr "tolower: fik et argument som ikke er en streng" -#: builtin.c:2039 +#: builtin.c:2042 #, fuzzy msgid "toupper: received non-string argument" msgstr "toupper: fik et argument som ikke er en streng" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: fik et ikke-numerisk frste argument" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: fik et ikke-numerisk andet argument" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: fik et ikke-numerisk argument" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: fik et ikke-numerisk argument" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: fik et ikke-numerisk argument" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: tredje argument er ikke en vektor" -#: builtin.c:2744 -#, fuzzy +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: Nullet i tredje argument behandlet som et t-tal" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: fik et ikke-numerisk frste argument" -#: builtin.c:2862 +#: builtin.c:2868 #, fuzzy msgid "lshift: received non-numeric second argument" -msgstr "atan2: fik et ikke-numerisk andet argument" +msgstr "strftime: fik et ikke-numerisk andet argument" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): negative vrdier vil give mrkelige resultater" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): flydendetalsvrdier vil blive trunkeret" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): for store skiftevrdier vil give mrkelige resultater" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: fik et ikke-numerisk frste argument" -#: builtin.c:2900 +#: builtin.c:2906 #, fuzzy msgid "rshift: received non-numeric second argument" -msgstr "atan2: fik et ikke-numerisk andet argument" +msgstr "strftime: fik et ikke-numerisk andet argument" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): negative vrdier vil give mrkelige resultater" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): flydendetalsvrdier vil blive trunkeret" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): for store skiftevrdier vil give mrkelige resultater" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: fik et ikke-numerisk frste argument" -#: builtin.c:2938 +#: builtin.c:2944 #, fuzzy msgid "and: received non-numeric second argument" msgstr "atan2: fik et ikke-numerisk andet argument" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): negative vrdier vil give mrkelige resultater" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): flydendetalsvrdier vil blive trunkeret" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: fik et ikke-numerisk frste argument" -#: builtin.c:2974 +#: builtin.c:2980 #, fuzzy msgid "or: received non-numeric second argument" msgstr "atan2: fik et ikke-numerisk andet argument" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): negative vrdier vil give mrkelige resultater" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): flydendetalsvrdier vil blive trunkeret" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: fik et ikke-numerisk frste argument" -#: builtin.c:3010 +#: builtin.c:3016 #, fuzzy msgid "xor: received non-numeric second argument" msgstr "atan2: fik et ikke-numerisk andet argument" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): negative vrdier vil give mrkelige resultater" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): flydendetalsvrdier vil blive trunkeret" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: fik et ikke-numerisk argument" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): negative vrdier vil give mrkelige resultater" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): flydendetalsvrdier vil blive trunkeret" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: \"%s\" er ikke en gyldig lokalekategori" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "ukendt nodetype %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "bufferoverlb i genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "forsg p at bruge vektoren \"%s\" i skalarsammenhng" -#: eval.c:802 +#: eval.c:803 #, fuzzy, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for-lkke: vektoren \"%s\" ndrede strrelse fra %d til %d under lkke-" "udfrelsen" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "\"break\" uden for en lkke er ikke portabelt" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "\"break\" uden for en lkke er ikke tilladt" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "\"continue\" uden for en lkke er ikke portabelt" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "\"continue\" uden for en lkke er ikke tilladt" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "\"next\" kan ikke kaldes fra en BEGIN-regel" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "\"next\" kan ikke kaldes fra en END-regel" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "\"next\" kan ikke kaldes fra en BEGIN-regel" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "\"next\" kan ikke kaldes fra en END-regel" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "\"nextfile\" kan ikke kaldes fra en BEGIN-regel" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "\"nextfile\" kan ikke kaldes fra en END-regel" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "\"nextfile\" kan ikke kaldes fra en END-regel" + +#: eval.c:963 msgid "statement has no effect" msgstr "kommandoen har ingen effekt" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "kan ikke bruge funktionsnavnet \"%s\" som variabel eller vektor" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "reference til ikke-initieret argument \"%s\"" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "reference til ikke-initieret variabel \"%s\"" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "" "concatenation: sideeffekter i et udtryk har ndret lngden af et andet!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "tildeling brugt i sammenligningsammenhng" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "forsgte at dividere med nul" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "ikke tilladt type (%s) i tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "forsgte at dividere med nul i \"/=\"" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "forsgte at dividere med nul i \"%%=\"" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "funktionen \"%s\" kaldt med flere argumenter end deklareret" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "funktionen \"%s\" er ikke defineret" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -968,147 +1028,182 @@ msgstr "" "\t# Funktionskaldsstak:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- main --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "forsg p at feltreferere fra ikke-numerisk vrdi" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "forsg p at referere fra tom streng" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "forsg p at f adgang til felt nummer %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "tildeling er ikke tilladt til resultatet fra en indbygget funktion" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "\"IGNORECASE\" er en gawk-udvidelse" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "\"BINMODE\" er en gawk-udvidelse" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "fejlagtig \"%sFMT\"-specifikation \"%s\"" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "deaktiverer \"--lint\" p grund af en tildeling til \"LINT\"" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "\"extension\" er en gawk-udvidelse" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: kan ikke bne \"%s\" (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: bibliotek \"%s\": kan ikke kalde funktionen \"%s\" (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "" -#: ext.c:110 +#: ext.c:113 #, fuzzy, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: bibliotek \"%s\": kan ikke kalde funktionen \"%s\" (%s)\n" -#: ext.c:116 +#: ext.c:119 #, fuzzy, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: kan ikke bne \"%s\" (%s)\n" -#: ext.c:120 +#: ext.c:123 #, fuzzy, c-format msgid "extension: function `%s' already defined" msgstr "funktionen \"%s\" er ikke defineret" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" -#: ext.c:127 +#: ext.c:130 #, fuzzy, c-format msgid "extension: function name `%s' previously defined" msgstr "funktionsnavnet \"%s\" er allerede defineret" -#: ext.c:204 +#: ext.c:207 #, fuzzy, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "funktionen \"%s\" defineret, men aldrig kaldt" -#: ext.c:207 +#: ext.c:210 #, fuzzy, c-format msgid "function `%s': missing argument #%d" msgstr "funktionen \"%s\" er ikke defineret" -#: ext.c:217 +#: ext.c:220 #, fuzzy, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "forsg p at bruge skalaren \"%s\" som vektor" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operationen understttes ikke" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF sat til en negativ vrdi" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: andet argument er ikke en vektor" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: tredje argument er en gawk-udvidelse" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: andet argument er ikke en vektor" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: tom streng som tredje argument er en gawk-udvidelse" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: andet argument er ikke en vektor" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: andet argument er ikke en vektor" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: tredje argument er ikke en vektor" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "\"FIELDWIDTHS\" er en gawk-udvidelse" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "tom streng som \"FS\" er en gawk-udvidelse" -#: field.c:1092 +#: field.c:1242 #, fuzzy msgid "old awk does not support regexps as value of `FS'" msgstr "gamle awk understtter ikke operatoren \"**\"" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "\"%s\" er en gawk-udvidelse" + #: getopt.c:574 getopt.c:590 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1164,490 +1259,506 @@ msgstr "%s: flaget \"-W %s\" tillader ikke noget argument\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flaget \"%s\" krver et argument\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "kan ikke bne filen \"%s\" for lsning (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "fejl ved lsning af inddatafilen \"%s\": %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "lukning af fd %d (\"%s\") mislykkedes (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "ugyldig trtype %s i redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "udtrykket i \"%s\"-omdirigering har kun numerisk vrdi" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "udtrykket for \"%s\"-omdirigering har en tom streng som vrdi" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "filnavnet \"%s\" for \"%s\"-omdirigering kan vre resultatet af et logisk " "udtryk" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "undig blanding af \">\" og \">>\" for filen \"%.*s\"" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "kan ikke bne rret \"%s\" for udskrivning (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "kan ikke bne rret \"%s\" for indtastning (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "kan ikke bne tovejsrret \"%s\" for ind-/uddata (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "kan ikke omdirigere fra \"%s\" (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "kan ikke omdirigere til \"%s\" (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "nede systembegrnsningen for bne filer: begynder at multiplekse " "fildeskriptorer" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "lukning af \"%s\" mislykkedes (%s)" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "for mange rr eller inddatafiler bne" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: andet argument skal vre \"to\" eller \"from\"" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: \"%.*s\" er ikke en ben fil, datakanal eller ko-proces" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "lukning af omdirigering som aldrig bnedes" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: omdirigeringen \"%s\" bnedes ikke med \"|&\", andet argument " "ignoreret" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "fejlstatus (%d) fra rrlukning af \"%s\" (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "fejlstatus (%d) fra fillukning af \"%s\" (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "ingen eksplicit lukning af soklen \"%s\" angivet" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "ingen eksplicit lukning af ko-processen \"%s\" angivet" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "ingen eksplicit lukning af rret \"%s\" angivet" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "ingen eksplicit lukning af filen \"%s\" angivet" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "fejl ved skrivning til standard ud (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "fejl ved skrivning til standard fejl (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "rrspuling af \"%s\" mislykkedes (%s)" -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "ko-processpuling af rret til \"%s\" mislykkedes (%s)" -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "filspuling af \"%s\" mislykkedes (%s)" -#: io.c:1222 +#: io.c:1292 #, fuzzy, c-format msgid "local port %s invalid in `/inet'" msgstr "lokal port ugyldig i \"%s\"" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "/inet/raw-klient er desvrre ikke klar endnu" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "kun root kan bruge \"/inet/raw\"." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "/inet/raw-server er desvrre ikke klar endnu" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "ingen (kendt) protokol opgivet i special-filnavn \"%s\"" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "special-filnavn \"%s\" er ufuldstndigt" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "skal angive et fjernmaskinenavn til \"/inet\"" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "skal angive en fjernport til \"/inet\"" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "TCP/IP-kommunikation understttes ikke" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "filen \"%s\" er et katalog" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "brug \"PROCINFO[\"%s\"]\" i stedet for \"%s\"" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "brug \"PROCINFO[...]\" i stedet for \"dev/user\"" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "kunne ikke bne \"%s\", tilstand \"%s\"" -#: io.c:1923 +#: io.c:1809 #, fuzzy, c-format msgid "close of master pty failed (%s)" msgstr "lukning af rret mislykkedes (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "lukning af standard ud i barnet mislykkedes (%s)" -#: io.c:1928 +#: io.c:1814 #, fuzzy, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "flytning af rr til standard ud i barnet mislykkedes (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "lukning af standard ind i barnet mislykkedes (%s)" -#: io.c:1933 +#: io.c:1819 #, fuzzy, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "flytning af rr til standard ind i barnet mislykkedes (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, fuzzy, c-format msgid "close of slave pty failed (%s)" msgstr "lukning af rret mislykkedes (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "flytning af rr til standard ud i barnet mislykkedes (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "flytning af rr til standard ind i barnet mislykkedes (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "genskabelse af standard ud i forlderprocessen mislykkedes\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "genskabelse af standard ind i forlderprocessen mislykkedes\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "lukning af rret mislykkedes (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "\"|&\" understttes ikke" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "kan ikke bne rret \"%s\" (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "kan ikke oprette barneproces for \"%s\" (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "datafilen \"%s\" er tom" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "fejl ved lsning af inddatafilen \"%s\": %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "flertegnsvrdien af \"RS\" er en gawk-udvidelse" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "slut p hukommelsen" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "\"-m[fr]\"-flaget er irrelevant i gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "-m-flagets brug: \"-m[fr] nnn\"" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "tomt argument til \"--source\" ignoreret" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: flaget \"-W %s\" ukendt, ignoreret\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "tomt argument til \"--source\" ignoreret" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: flaget krver et argument -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "miljvariablen \"POSIXLY_CORRECT\" sat: aktiverer \"--posix\"" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "\"--posix\" tilsidestter \"--traditional\"" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "\"--posix\"/\"--traditional\" tilsidestter \"--non-decimal-data\"" -#: main.c:530 +#: main.c:572 #, fuzzy, c-format msgid "running %s setuid root may be a security problem" msgstr "at kre %s setuid root kan vre et sikkerhedsproblem" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "\"--posix\" tilsidestter \"--traditional\"" + +#: main.c:622 #, fuzzy, c-format msgid "can't set binary mode on stdin (%s)" msgstr "kan ikke stte tilstand p standard ind (%s)" -#: main.c:574 +#: main.c:625 #, fuzzy, c-format msgid "can't set binary mode on stdout (%s)" msgstr "kan ikke stte tilstand p standard ud (%s)" -#: main.c:576 +#: main.c:627 #, fuzzy, c-format msgid "can't set binary mode on stderr (%s)" msgstr "kan ikke stte tilstand p standard fejl (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "ingen programtekst overhovedet!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Brug: %s [POSIX- eller GNU-stilflag] -f progfil [--] fil ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Brug: %s [POSIX- eller GNU-stilflag] %cprogram%c fil ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX-flag:\t\tGNU lange flag:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f progfil\t\t--file=progfil\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=vrdi\t\t--assign=var=vrdi\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "POSIX-flag:\t\tGNU lange flag:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] vrdi\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=fil]\t--dump-variables[=fil]\n" -#: main.c:738 +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=programtekst\t--source=programtekst\n" + +#: main.c:791 #, fuzzy -msgid "\t-W exec=file\t\t--exec=file\n" +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W profile[=fil]\t--profile[=fil]\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=fil]\t--profile[=fil]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=programtekst\t--source=programtekst\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 #, fuzzy msgid "" "\n" @@ -1658,22 +1769,22 @@ msgstr "" "sektionen \"Reporting Problems and Bugs\" i den trykte version.\n" "Rapportr synpunkter p oversttelsen til <dansk@klid.dk>.\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" "\n" msgstr "" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" msgstr "" -#: main.c:794 -#, fuzzy, c-format +#: main.c:845 +#, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" "\n" @@ -1687,11 +1798,11 @@ msgstr "" "\n" "Dette program er frit programmel. Du kan distribuere det og/eller\n" "ndre det under betingelserne i GNU General Public License, offentliggjort\n" -"af Free Software Foundation, enten version 2 eller (hvis du vil)\n" +"af Free Software Foundation, enten version 3 eller (hvis du vil)\n" "enhver senere version.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1705,7 +1816,7 @@ msgstr "" "General Public License for yderligere information.\n" "\n" -#: main.c:813 +#: main.c:864 #, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" @@ -1713,58 +1824,63 @@ msgid "" msgstr "" "Du br have fet en kopi af GNU General Public License sammen\n" "med dette program. Hvis ikke, s skriv til Free Software Foundation,\n" -"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" +"Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft stter ikke FS til tab i POSIX-awk" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "flydendetalsundtagelse" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "fatal fejl: intern fejl" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "fatal fejl: intern fejl" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "fatal fejl: intern fejl" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "ingen for-bnet fd %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "kunne ikke for-bne /dev/null for fd %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "kunne ikke finde grupper: %s" @@ -1834,21 +1950,21 @@ msgstr "kunne ikke bne \"%s\" for skrivning: %s" msgid "internal error: %s with null vname" msgstr "intern fejl: Node_var med null vname" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# gawkprofil, oprettet %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1857,7 +1973,16 @@ msgstr "" "\t# BEGIN-blok\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# BEGIN-blok\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1866,7 +1991,16 @@ msgstr "" "\t# Regel/regler\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# END-blok\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1875,7 +2009,7 @@ msgstr "" "\t# END-blok\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1884,16 +2018,21 @@ msgstr "" "\n" "\t# Funktioner, listede alfabetisk\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "uventet type %s i prec_level" -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "ukendt nodetype %d" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "Lykkedes" @@ -1966,42 +2105,108 @@ msgstr "Ubalanceret ) eller \\)" msgid "No previous regular expression" msgstr "Intet foregende regulrt udtryk" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: ikke tilladt flag -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "filen \"%s\" er et katalog" + +#~ msgid "can't open two way socket `%s' for input/output (%s)" +#~ msgstr "kan ikke bne tovejssoklen \"%s\" for ind-/uddata (%s)" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: ingen argumenter" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: \"%.*s\" er ikke en ben fil, datakanal eller ko-proces" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: \"%.*s\" er ikke en ben fil, datakanal eller ko-proces" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "brug \"PROCINFO[\"%s\"]\" i stedet for \"%s\"" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "brug \"PROCINFO[...]\" i stedet for \"dev/user\"" + +#~ msgid "function %s called\n" +#~ msgstr "funktionen %s kaldt\n" + +#~ msgid "field %d in FIELDWIDTHS, must be > 0" +#~ msgstr "felt %d i FIELDWIDTHS skal vre > 0" + +#, fuzzy +#~ msgid "or used as a variable or an array" +#~ msgstr "kan ikke bruge funktionsnavnet \"%s\" som variabel eller vektor" + +#, fuzzy +#~ msgid "substr: length %g is < 0" +#~ msgstr "substr: lngden %g er <= 0" + #~ msgid "delete: illegal use of variable `%s' as array" #~ msgstr "delete: ikke tilladt brug af variablen \"%s\" som vektor" +#, fuzzy +#~ msgid "%s: gvar_ref to %s\n" +#~ msgstr "%s: vektorreference til %s\n" + #~ msgid "asort: first argument is not an array" #~ msgstr "asort: frste argument er ikke en vektor" #~ msgid "asort: second argument is not an array" #~ msgstr "asort: andet argument er ikke en vektor" -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: ikke tilladt flag -- %c\n" - +#, fuzzy #~ msgid "" -#~ "\n" -#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n" -#~ msgstr "" -#~ "\n" -#~ "For at rapportere fejl, se knuden \"Bugs\" i \"gawk.info\" som findes i\n" - -#~ msgid "invalid syntax in name `%s' for variable assignment" -#~ msgstr "ugyldig syntaks i navnet \"%s\" for variabeltildeling" +#~ "attempt to use array parameter `%s' that was passed from global scalar `%" +#~ "s'" +#~ msgstr "forsg p at bruge skalarparameteren \"%s\" som en vektor" #~ msgid "internal error: Node_var_array with null vname" #~ msgstr "intern fejl: Node_var_vektor med null vname" +#~ msgid "BEGIN blocks must have an action part" +#~ msgstr "BEGIN-blok skal have en handlingsdel" + +#~ msgid "`nextfile' used in BEGIN or END action" +#~ msgstr "\"nextfile\" brugt i BEGIN- eller END-handling" + +#~ msgid "gsub third parameter is not a changeable object" +#~ msgstr "gsub: tredje argument er ikke et ndringsbart objekt" + #~ msgid "or used in other expression context" #~ msgstr "eller brugt i andre udtrykssammenhnge" #~ msgid "`%s' is a function, assignment is not allowed" #~ msgstr "\"%s\" er en funktion, tildeling er ikke tilladt" -#~ msgid "BEGIN blocks must have an action part" -#~ msgstr "BEGIN-blok skal have en handlingsdel" +#~ msgid "internal error: file `%s', line %d\n" +#~ msgstr "intern fejl: filen \"%s\", linje %d\n" -#~ msgid "`nextfile' used in BEGIN or END action" -#~ msgstr "\"nextfile\" brugt i BEGIN- eller END-handling" +#~ msgid "" +#~ "\n" +#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n" +#~ msgstr "" +#~ "\n" +#~ "For at rapportere fejl, se knuden \"Bugs\" i \"gawk.info\" som findes i\n" + +#~ msgid "invalid syntax in name `%s' for variable assignment" +#~ msgstr "ugyldig syntaks i navnet \"%s\" for variabeltildeling" #~ msgid "non-redirected `getline' undefined inside BEGIN or END action" #~ msgstr "" @@ -2010,9 +2215,6 @@ msgstr "Intet foregende regulrt udtryk" #~ msgid "fptr %x not in tokentab\n" #~ msgstr "fptr %x er ikke i tokentab\n" -#~ msgid "gsub third parameter is not a changeable object" -#~ msgstr "gsub: tredje argument er ikke et ndringsbart objekt" - #~ msgid "Unfinished \\ escape" #~ msgstr "Uafsluttet \\-kontrolsekvens" @@ -2034,17 +2236,5 @@ msgstr "Intet foregende regulrt udtryk" #~ msgid "Unbalanced )" #~ msgstr "Ubalanceret )" -#~ msgid "field %d in FIELDWIDTHS, must be > 0" -#~ msgstr "felt %d i FIELDWIDTHS skal vre > 0" - -#~ msgid "function %s called\n" -#~ msgstr "funktionen %s kaldt\n" - -#~ msgid "can't open two way socket `%s' for input/output (%s)" -#~ msgstr "kan ikke bne tovejssoklen \"%s\" for ind-/uddata (%s)" - #~ msgid "remote port invalid in `%s'" #~ msgstr "fjernporten ugyldig i \"%s\"" - -#~ msgid "internal error: file `%s', line %d\n" -#~ msgstr "intern fejl: filen \"%s\", linje %d\n" Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.0\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2002-04-03 18:55+02:00\n" "Last-Translator: Christian Kirsch <ck@held.mind.de>\n" "Language-Team: German <de@li.org>\n" @@ -74,344 +74,359 @@ msgstr "%s: ist ein Parameter\n" msgid "%s: array_ref to %s\n" msgstr "%s: Array-Referenz auf %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, fuzzy, c-format msgid "%s blocks must have an action part" msgstr "END-Blcke mssen einen Aktionsteil haben." -#: awkgram.y:221 +#: awkgram.y:230 #, fuzzy msgid "each rule must have a pattern or an action part" msgstr "END-Blcke mssen einen Aktionsteil haben." -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 #, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "Das alte awk erlaubt den Operator '**' nicht." -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "'%s' ist eine eingebaute Funktion und kann nicht umdefiniert werden." -#: awkgram.y:331 +#: awkgram.y:350 #, fuzzy msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" "Konstanter Regulrer Ausdruck '/%s' sieht wie ein C-Kommentar aus, ist aber " "keiner." -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" "Konstanter Regulrer Ausdruck '/%s' sieht wie ein C-Kommentar aus, ist aber " "keiner." -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "Statement mglicherweise ohne Effekt." -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, fuzzy, c-format msgid "`%s' used in %s action" msgstr "'next' in BEGIN- oder END-Aktion benutzt." -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "'nextfile' ist eine gawk-Erweiterung." -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "'return' auerhalb einer Funktion benutzt." -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "Einfaches 'print' in BEGIN- oder END-Regel soll vermutlich 'print \"\"' sein." -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "'delete array' ist eine gawk-Erweiterung." -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 #, fuzzy msgid "`delete(array)' is a non-portable tawk extension" msgstr "'delete array' ist eine gawk-Erweiterung." -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "'multistage' Zweiwege-Pipes funktionieren nicht." -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "Regulrer Ausdruck auf der rechten Seite einer Zuweisung." -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "Regulrer Ausdruck links vom '~'- oder '!~'-Operator." -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 #, fuzzy msgid "old awk does not support the keyword `in' except after `for'" msgstr "Das alte awk erlaubt den Operator '**' nicht." -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "Regulrer Ausdruck rechts von einem Vergleich." -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "Port-Angabe in '%s' ist ungltig." + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "" "Nicht-umgelenktes 'getline' ist innerhalb der END-Aktion nicht definiert." -#: awkgram.y:904 +#: awkgram.y:955 #, fuzzy msgid "old awk does not support multidimensional arrays" msgstr "Das alte awk erlaubt den Operator '**' nicht." -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "Aufruf von 'length' ohne Klammern ist nicht portabel." -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "Aufruf von 'length' ohne Klammern ist in POSIX-Mode veraltet." -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "'extension' ist eine gawk-Erweiterung." + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "Ungltiger Index-Ausdruck." -#: awkgram.y:1257 +#: awkgram.y:1329 #, fuzzy msgid "unexpected newline or end of string" msgstr "Unerwartetes Zeilenende" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "Kein Programmtext auf der Kommandozeile." -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "Kann Quelldatei '%s' nicht zum Lesen ffnen (%s)." -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "Kann Quelldatei '%s' nicht lesen (%s)." -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "Quelldatei '%s' ist leer." -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "Quelldatei hrt nicht mit Zeilenende auf." -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "" "Nicht-beendeter Regulrer Ausdruck (hrt mit '\\' auf) am Ende der Datei." -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "Nicht-beendeter Regulrer Ausdruck" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "Nicht-beendeter Regulrer Ausdruck am Dateiende." -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "" "Die Verwendung von '\\#...' zur Fortsetzung von Zeilen ist nicht portabel." -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "Backslash ist nicht letztes Zeichen auf der Zeile." -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX erlaubt den Operator '**=' nicht." -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "Das alte awk erlaubt den Operator '**=' nicht." -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX erlaubt den Operator '**' nicht." -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "Das alte awk erlaubt den Operator '**' nicht." -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "Das alte awk kennt den Operator '^=' nicht." -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "Das alte awk kennt den Operator '^' nicht." -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "Nicht-beendeter String" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "Ungltiges Zeichen '%c' in einem Ausdruck." -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "'%s' ist eine gawk-Erweiterung" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "'%s' ist eine Erweiterung der Bell Labs." -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX gestattet '%s' nicht." -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "Das alte awk gestattet '%s' nicht." -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "'goto' gilt als schlechter Stil!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "Unzulssige Argumentzahl %d fr %s." -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: Das dritte Argument ist eine gawk-Erweiterung." -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "%s: Ein String als letztes Argument von substitute hat keinen Effekt." -#: awkgram.y:2475 +#: awkgram.y:2552 #, fuzzy, c-format msgid "%s third parameter is not a changeable object" msgstr "Der dritte Parameter von sub ist ein unvernderliches Objekt." -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: Das zweite Argument ist eine gawk-Erweiterung." -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "Fehlerhafte Verwendung von dcgettext(_\"...\"): \n" "Entfernen Sie den fhrenden Unterstrich." -#: awkgram.y:2530 +#: awkgram.y:2614 #, fuzzy msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "Fehlerhafte Verwendung von dcgettext(_\"...\"): \n" "Entfernen Sie den fhrenden Unterstrich." -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "Funktion '%s': Parameter #%d, '%s' wiederholt Parameter #%d." -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "Funktion '%s': Parameter '%s' verdeckt eine globale Variable." -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "Kann '%s' nicht zum Schreiben ffnen (%s)." -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "Schicke Profile auf Stadard-Fehlerausgabe." -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: close gescheitert (%s)." -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() zweimal aufgerufen!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "" -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "Funktion '%s': Kann Funktionsnamen nicht als Parameternamen benutzen." -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "Funktion '%s': Kann Funktionsnamen nicht als Parameternamen benutzen." -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "Funktion '%s' ist bereits definiert." -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "Aufgerufene funktion '%s' ist nirgends definiert." -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "Funktion '%s' wird nirgends aufgerufen." -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" "Konstanter Regulrer Ausdruck fr Parameter #%d ergibt einen logischen Wert." -#: awkgram.y:3245 +#: awkgram.y:3329 #, fuzzy, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -420,12 +435,12 @@ msgstr "" "Funktion '%s' mit Leerzeichen zwischen Name und '(' aufgerufen, \n" "%s" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "Division durch Null versucht in '/='." -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "Division durch Null versucht in '%%'." @@ -681,255 +696,273 @@ msgstr "mktime: Argument ist kein String." msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 #, fuzzy msgid "system: received non-string argument" msgstr "system: Argument ist kein String." -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, fuzzy, c-format msgid "reference to uninitialized field `$%d'" msgstr "Referenz auf die nicht-initialisierte Variable '%s'." -#: builtin.c:2009 +#: builtin.c:2012 #, fuzzy msgid "tolower: received non-string argument" msgstr "tolower: Argument ist kein String." -#: builtin.c:2039 +#: builtin.c:2042 #, fuzzy msgid "toupper: received non-string argument" msgstr "toupper: Argument ist kein String." -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: Erstes Argument ist keine Zahl." -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: Zweites Argument ist keine Zahl." -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: Argument istk eine Zahl." -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: Argument ist keine Zahl." -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: Argument ist keine Zahl." -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: Drittes Argument ist kein Array." -#: builtin.c:2744 -#, fuzzy +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: Drittes Argument 0 als 1 interpretiert" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: Erstes Argument ist keine Zahl." -#: builtin.c:2862 +#: builtin.c:2868 #, fuzzy msgid "lshift: received non-numeric second argument" -msgstr "atan2: Zweites Argument ist keine Zahl." +msgstr "strftime. Zweites Argument ist keine Zahl." -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "" "lshift(%lf, %lf): Negative Werte werden merkwrdige Ergebnisse liefern." -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): Dezimalteil wird abgeschnitten." -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): Zu groe Shift-Werte werden merkwrdige Ergebnisse liefern." -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: Erstes Argument ist keine Zahl." -#: builtin.c:2900 +#: builtin.c:2906 #, fuzzy msgid "rshift: received non-numeric second argument" -msgstr "atan2: Zweites Argument ist keine Zahl." +msgstr "strftime. Zweites Argument ist keine Zahl." -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "" "rshift (%lf, %lf): Negative Werte werden merkwrdige Ergebnisse liefern." -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): Dezimalteil wird abgeschnitten." -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): Zu groe Shift-Werte werden merkwrdige Ergebnisse liefern." -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: Erstes Argument ist keine Zahl." -#: builtin.c:2938 +#: builtin.c:2944 #, fuzzy msgid "and: received non-numeric second argument" msgstr "atan2: Zweites Argument ist keine Zahl." -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): Negative Werte werden merkwrdige Ergebnisse liefern." -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): Dezimalteil wird abgeschnitten." -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: Erstes Argument ist keine Zahl." -#: builtin.c:2974 +#: builtin.c:2980 #, fuzzy msgid "or: received non-numeric second argument" msgstr "atan2: Zweites Argument ist keine Zahl." -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): Negative Werte werden merkwrdige Ergebnisse liefern." -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): Dezimalteil wird abgeschnitten." -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: Erstes Argument ist keine Zahl." -#: builtin.c:3010 +#: builtin.c:3016 #, fuzzy msgid "xor: received non-numeric second argument" msgstr "atan2: Zweites Argument ist keine Zahl." -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf: Negative Werte werden merkwrdige Ergebnisse liefern." -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): Dezimalteil wird abgeschnitten." -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: Erstes Argument ist keine Zahl." -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): Negativer Wert wird merkwrdige Ergebnisse liefern." -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): Dezimalteil wird abgeschnitten." -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: '%s' ist keine gltige Locale-Kategorie." -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "Unbekannter Knotentyp %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "Pufferberlauf in genflags2str." -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "Versuch, das Array '%s' in Skalarkontext zu verwenden." -#: eval.c:802 +#: eval.c:803 #, fuzzy, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for-Schleife: Array '%s' ndert Grse von %d zu %d innerhalb der Schleife." -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "'break' auerhalb einer Schleife ist nicht portabel." -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "'break' auerhalb einer Schleife ist nicht zulssig." -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "'continue' auerhalb einer Schleife ist nicht portabel." -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "'continue' auerhalb einer Schleife ist nicht zulssig." -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "'next' kann nicht in einer BEGIN-Regel benutzt werden." -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "'next' kann nicht in einer END-Regel benutzt werden." -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "'next' kann nicht in einer BEGIN-Regel benutzt werden." + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "'next' kann nicht in einer END-Regel benutzt werden." + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "'nextfile' kann nicht in einer BEGIN-Regel benutzt werden." -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "'nextfile' kann nicht in einer END-Regel benutzt werden." -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "'nextfile' kann nicht in einer END-Regel benutzt werden." + +#: eval.c:963 msgid "statement has no effect" msgstr "Anweisung hat keinen Effekt." -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "Kann Funktion '%s' nicht als Variable oder Array verwenden." -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "Referenz auf nicht-initialisiertes Argument '%s'." -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "Referenz auf die nicht-initialisierte Variable '%s'." -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -937,39 +970,66 @@ msgstr "" "Konkatenierung: Seiteneffekte in einem Ausdruck haben die Lnge des anderen\n" "gendert!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "Zuweisung in einer Bedingung." -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "Division durch Null versucht." -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "Illegaler Typ (%s) in tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "Division durch Null versucht in '/='." -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "Division durch Null versucht in '%%='." -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "Funktion '%s' mit zu vielen Argumenten aufgerufen." -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "Funktion '%s' ist nicht definiert." -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -980,148 +1040,183 @@ msgstr "" "\t# Funktion Aufruf-Stack\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- main --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "Nicht-numerischer Wert fr Feldreferenz verwendet." -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "Referenz von einem Null-String" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "Versuch des Zugriffs auf Feld %d." -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "" "Zuweisungen an das Ergebnis einer eingebauten Funktion sind nicht erlaubt." -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "'IGNORECASE' ist eine gawk-Erweiterung" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "'BINMODE' ist eine gawk-Erweiterung." -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "Falsche '%sFMT'-Angabe '%s'" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "'--lint' wird abgeschaltet, da 'LINT' gesetzt ist." -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "'extension' ist eine gawk-Erweiterung." -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: Kann '%s' nicht ffnen (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: Bibliothek '%s': kann Funktion '%s' nicht aufrufen (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "" -#: ext.c:110 +#: ext.c:113 #, fuzzy, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: Bibliothek '%s': kann Funktion '%s' nicht aufrufen (%s)\n" -#: ext.c:116 +#: ext.c:119 #, fuzzy, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: Kann '%s' nicht ffnen (%s)\n" -#: ext.c:120 +#: ext.c:123 #, fuzzy, c-format msgid "extension: function `%s' already defined" msgstr "Funktion '%s' ist nicht definiert." -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" -#: ext.c:127 +#: ext.c:130 #, fuzzy, c-format msgid "extension: function name `%s' previously defined" msgstr "Funktion '%s' ist bereits definiert." -#: ext.c:204 +#: ext.c:207 #, fuzzy, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "Funktion '%s' wird nirgends aufgerufen." -#: ext.c:207 +#: ext.c:210 #, fuzzy, c-format msgid "function `%s': missing argument #%d" msgstr "Funktion '%s' ist nicht definiert." -#: ext.c:217 +#: ext.c:220 #, fuzzy, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "Versuch, Skalar '%s' als Array zu verwenden." -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operation nicht mglich." -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: Zweites Argument ist kein Array." -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: Das dritte Argument ist eine gawk-Erweiterung." + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: Zweites Argument ist kein Array." + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: Null-String als drittes Argument ist eine gawk-Erweiterung." -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: Zweites Argument ist kein Array." + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: Zweites Argument ist kein Array." + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: Drittes Argument ist kein Array." + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "'FIELDWIDTHS' ist eine gawk-Erweiterung." -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "Null-String fr 'FS' ist eine gawk-Erweiterung." -#: field.c:1092 +#: field.c:1242 #, fuzzy msgid "old awk does not support regexps as value of `FS'" msgstr "Das alte awk erlaubt den Operator '**' nicht." +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "'%s' ist eine gawk-Erweiterung" + #: getopt.c:574 getopt.c:590 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1177,491 +1272,507 @@ msgstr "%s. Option '-W %s' erlaubt kein Argument.\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: Option '%s' erfordert ein Argument.\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "Kann Datei '%s' nicht zum Lesen ffnen (%s)." -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "Fehler beim Lesen der Eingabedatei '%s': %s." + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "Schlieen von Dateideskriptor %d ('%s') gescheitert (%s)." -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "Ungltiger Tree-Typ %s in redirect()." -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "Ausdruck in '%s' Umlenkung hat nur einen numerischen Wert." -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "Ausdruck fr '%s' Umlenkung ist ein leerer String." -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "Dateiname '%s' fr '%s' Umlenkung kann Ergebnis eines logischen Ausdrucks " "sein." -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "Unntige Kombination von '>' und '>>' fr Datei '%.*s'." -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "Kann Pipe '%s' nicht fr Ausgabe ffnen (%s)." -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "Kann Pipe '%s' nicht fr Eingabe ffnen (%s)." -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "Kann bidirektionale Pipe '%s' nicht fr Ein-/Ausgabe ffnen (%s)." -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "Kann nicht von '%s' umlenken (%s)." -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "Kann nicht auf '%s' umlenken (%s)." -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "Systemgrenze offener Dateien erreicht; beginne mit Multiplexing von " "Dateideskriptoren." -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "Schlieen von '%s' gescheitert (%s)." -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "Zu viele Pipes oder Eingabedateien offen." -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: Zweites Argument muss 'to' oder 'from' sein." -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: '%.*s' ist keine offene Datei, Pipe oder Ko-Prozess." -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "'close' fr eine Umlenkung, die nie geffnet wurde." -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: Umlenkung '%s' nicht mit '[&' geffnet, zweites Argument wird " "ignoriert." -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "Fehlerstatus (%d) beim Schlieen der Pipe '%s' (%s)." -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "Fehlerstatus (%d) beim Schlieen de rDatei '%s' (%s)." -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "Das explizite des Sockets '%s' fehlt." -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "Das explizite Schlieen des Ko-Prozesses '%s' fehlt." -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "Das explizite Schlieen der Pipe '%s' fehlt." -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "Das explizite Schlieen der Datei '%s' fehlt." -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "Fehler beim Schreiben auf stdout (%s)." -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "Fehler beim Schreiben auf stderr (%s)." -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "Leeren der Pipe '%s' gescheitert (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "Ko-Prozess: Leeren der Pipe zu '%s' gescheitert (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "Flush der Datei '%s' gescheitert (%s)." -#: io.c:1222 +#: io.c:1292 #, fuzzy, c-format msgid "local port %s invalid in `/inet'" msgstr "Lokaler Port in '%s' ist ungltig." -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "/inet/raw Client noch nicht fertig." -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "Nur root darf '/inet/raw' benutzen" -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "'/inet/raw'-Server noch nicht fertig." -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "Kein bekanntes Protokoll in Dateinamen '%s' angegeben." -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "Dateiname '%s' ist unvollstndig." -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "Sie mssen einen Rechnernamen in '/inet' angeben." -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "Sie mssen einen Port in '/inet' angeben." -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "TCP/IP-Verbindungen sind nicht mglich." -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "Datei '%s' ist ein Verzeichnis." - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "Benutzen Sie 'PROCINFO[\"%s\"]' statt '%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "Benutzen Sie 'PROCINFO[...] statt '/dev/user'." - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "Konnte '%s' nicht ffnen, Mode '%s'." -#: io.c:1923 +#: io.c:1809 #, fuzzy, c-format msgid "close of master pty failed (%s)" msgstr "Schlieen der Pipe gescheitert (%s)." -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "Schlieen von stdout in Kindprozess gescheitert (%s)." -#: io.c:1928 +#: io.c:1814 #, fuzzy, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "Verschieben der Pipe zu stdout in Kindprozess gescheitert (dup: %s)." -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "Schlieen von stdin im Kindprozess gescheitert (%s)." -#: io.c:1933 +#: io.c:1819 #, fuzzy, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "Verschieben der Pipe zu stdin in Kindprozess gescheitert (dup: %s)." -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, fuzzy, c-format msgid "close of slave pty failed (%s)" msgstr "Schlieen der Pipe gescheitert (%s)." -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "Verschieben der Pipe zu stdout in Kindprozess gescheitert (dup: %s)." -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "Verschieben der Pipe zu stdin in Kindprozess gescheitert (dup: %s)." -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "Schlieen der Pipe gescheitert (%s)." -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "'|&' nicht mglich." -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "Kann Pipe '%s' nicht ffnen (%s)." -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "Kann Kindprozess fr '%s' nicht erzeugen (fork: %s)." -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "Datei '%s' ist leer." -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "Fehler beim Lesen der Eingabedatei '%s': %s." - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "Multicharacter-Wert von 'RS' ist eine gawk-Erweiterung." -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "Kein Speicher mehr." +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "Option '-m[fr]' ist in gawk bedeutungslos." -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "Anwendung der Option -m: '-m[fr] nnn'" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "Leeres Argument fr '--source' ignoriert." + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: Option '-W %s' unbekannt, ignoriert.\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "Leeres Argument fr '--source' ignoriert." - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s Option erfordert ein Argument -- %c.\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "" "Umgebungsvariable 'POSIXLY_CORRECT' ist gesetzt: '--posix' angeschaltet." -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "'--posix' hat Vorrang vor '--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "'--posix' /'--traditional' hat Vorrang vor '--non-decimal-data'." -#: main.c:530 +#: main.c:572 #, fuzzy, c-format msgid "running %s setuid root may be a security problem" msgstr "%s als setuid root auszufhren, kann zu Sicherheitsproblemen fhren." -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "'--posix' hat Vorrang vor '--traditional'" + +#: main.c:622 #, fuzzy, c-format msgid "can't set binary mode on stdin (%s)" msgstr "Kann Mode fr stdin nicht setzen (%s)." -#: main.c:574 +#: main.c:625 #, fuzzy, c-format msgid "can't set binary mode on stdout (%s)" msgstr "Kann Mode fr stdout nicht setzen (%s)." -#: main.c:576 +#: main.c:627 #, fuzzy, c-format msgid "can't set binary mode on stderr (%s)" msgstr "Kann Mode fr stderr nicht setzen (%s)." -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "Kein Programmtext." -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Anwendung: %s [POSIX- oder GNU-Optionen] -f PROGRAM [--] Datei ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Anwendung: %s [POSIX- oder GNU-Optionen] -- %cPROGRAM%c Datei ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX-Optionen\t\tGNU-Optionen (lang):\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f PROGRAM\t\t--file=PROGRAM\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F Feldtrenner\t\t\t--field-separator=Feldtrenner\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=Wert\t\t--assign=var=Wert\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "POSIX-Optionen\t\tGNU-Optionen (lang):\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] Wert\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=Datei]\t--dump-variables[=Datei]\n" -#: main.c:738 +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=Programmtext\t--source=Programmtext\n" + +#: main.c:791 #, fuzzy -msgid "\t-W exec=file\t\t--exec=file\n" +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W profile[=Datei]\t--profile[=Datei]\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=Datei]\t--profile[=Datei]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=Programmtext\t--source=Programmtext\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 #, fuzzy msgid "" "\n" @@ -1672,21 +1783,21 @@ msgstr "" "den Sie im Kapitel 'Reporting Problems and Bugs' in der \n" "gedruckten Version finden.\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" "\n" msgstr "" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" msgstr "" -#: main.c:794 +#: main.c:845 #, fuzzy, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1702,11 +1813,11 @@ msgstr "" "Dieses Programm ist Freie Software. Sie knnen es unter den Bedingungen\n" "der von der Free Software Foundation verffentlichten GNU \n" "General Public License weitergeben und/oder ndern.\n" -"Es gilt Version 2 dieser Lizenz oder (nach Ihrer Wahl) irgendeine\n" +"Es gilt Version 3 dieser Lizenz oder (nach Ihrer Wahl) irgendeine\n" "sptere Version.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1720,7 +1831,7 @@ msgstr "" "GNU General Public License for more details.\n" "\n" -#: main.c:813 +#: main.c:864 #, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" @@ -1728,59 +1839,64 @@ msgid "" msgstr "" "Sie sollten eine Kopie der GNU General Publice License zusammen mit\n" "diesem Programm erhalten haben. Wenn nicht, schreiben Sie an die Free \n" -"Software Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-" +"Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02111-" "1307, USA.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft setzt FS im POSIX-awk nicht auf Tab." -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "Floating point exception" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "Fataler Fehler: interner Fehler" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "Fataler Fehler: interner Fehler" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "Fataler Fehler: interner Fehler" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "Kein geffneter Dateideskriptor %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "Konnte /dev/null nicht fr Dateideskriptor %d ffnen." -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "Konnte Gruppen nicht finden: %s" @@ -1850,21 +1966,21 @@ msgstr "Konnte '%s' nicht zum Schreiben ffnen: %s" msgid "internal error: %s with null vname" msgstr "Interner Fehler: Node_var with null vname." -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# gawk-Profil, erzeugt %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1873,7 +1989,16 @@ msgstr "" "\t# BEGIN block(s)\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# BEGIN block(s)\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1882,7 +2007,16 @@ msgstr "" "\t# Rule(s)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# END block(s)\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1891,7 +2025,7 @@ msgstr "" "\t# END block(s)\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1900,16 +2034,21 @@ msgstr "" "\n" "\t# Functionen, alphabetisch sortiert\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "Unerwarteter Typ %s in prec_level." -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "Unbekannter Knotentyp %d" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "Erfolg" @@ -1982,43 +2121,99 @@ msgstr ") oder \\) nicht geffnet" msgid "No previous regular expression" msgstr "Kein vorangehender Regulrer Ausdruck." +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: Illegale Option -- %c.\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "Datei '%s' ist ein Verzeichnis." + +#~ msgid "can't open two way socket `%s' for input/output (%s)" +#~ msgstr "" +#~ "Kann bidirektionalen Socket '%s' nicht fr Ein-/Ausgabe ffnen (%s)." + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: Keine Argumente" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: '%.*s' ist keine offene Datei, Pipe oder Ko-Prozess." + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: '%.*s' ist keine offene Datei, Pipe oder Ko-Prozess." + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "Benutzen Sie 'PROCINFO[\"%s\"]' statt '%s'" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "Benutzen Sie 'PROCINFO[...] statt '/dev/user'." + +#~ msgid "function %s called\n" +#~ msgstr "Funktion %s aufgerufen\n" + +#~ msgid "field %d in FIELDWIDTHS, must be > 0" +#~ msgstr "Feld %d in FIELDWIDTHS muss > 0 sein." + +#, fuzzy +#~ msgid "or used as a variable or an array" +#~ msgstr "Kann Funktion '%s' nicht als Variable oder Array verwenden." + +#, fuzzy +#~ msgid "substr: length %g is < 0" +#~ msgstr "substr: Lnge %g ist kleiner oder gleich 0." + #~ msgid "delete: illegal use of variable `%s' as array" #~ msgstr "delete: Benutzung der Variablen %s als Array ist nicht zulssig." +#, fuzzy +#~ msgid "%s: gvar_ref to %s\n" +#~ msgstr "%s: Array-Referenz auf %s\n" + #~ msgid "asort: first argument is not an array" #~ msgstr "asort: Erstes Argument ist kein Array." #~ msgid "asort: second argument is not an array" #~ msgstr "asort: Zweites Argument ist kein array." -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: Illegale Option -- %c.\n" - +#, fuzzy #~ msgid "" -#~ "\n" -#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n" -#~ msgstr "" -#~ "\n" -#~ "Um Fehler zu melden, lesen Sie bitte den Abschnitt 'Bugs' in " -#~ "'gawk_info',\n" - -#~ msgid "invalid syntax in name `%s' for variable assignment" -#~ msgstr "Ungltige Syntax im Namen '%s' fr Variablenzuweisung." +#~ "attempt to use array parameter `%s' that was passed from global scalar `%" +#~ "s'" +#~ msgstr "Versuch den skalaren Parameter '%s' als Array zu benutzen." #~ msgid "internal error: Node_var_array with null vname" #~ msgstr "Interner Fehler: Node_var_array with null vname." +#~ msgid "BEGIN blocks must have an action part" +#~ msgstr "BEGIN-Blcke mssen einen Aktionsteil haben." + +#~ msgid "`nextfile' used in BEGIN or END action" +#~ msgstr "'nextfile' in BEGIN- oder END-Aktion benutzt." + +#~ msgid "gsub third parameter is not a changeable object" +#~ msgstr "Der dritte Parameter von gsub ist ein unvernderliches Objekt." + #~ msgid "or used in other expression context" #~ msgstr "or in anderem Kontext benutzt" #~ msgid "`%s' is a function, assignment is not allowed" #~ msgstr "'%s' ist eine Funktion, Zuweisungen sind nicht erlaubt." -#~ msgid "BEGIN blocks must have an action part" -#~ msgstr "BEGIN-Blcke mssen einen Aktionsteil haben." - -#~ msgid "`nextfile' used in BEGIN or END action" -#~ msgstr "'nextfile' in BEGIN- oder END-Aktion benutzt." +#~ msgid "internal error: file `%s', line %d\n" +#~ msgstr "Interner Fehler: Datei '%s', Zeile %d\n" #~ msgid "non-redirected `getline' undefined inside BEGIN or END action" #~ msgstr "" @@ -2028,9 +2223,6 @@ msgstr "Kein vorangehender Regulrer Ausdruck." #~ msgid "fptr %x not in tokentab\n" #~ msgstr "fptr %x nicht in tokentab\n" -#~ msgid "gsub third parameter is not a changeable object" -#~ msgstr "Der dritte Parameter von gsub ist ein unvernderliches Objekt." - #~ msgid "Unfinished \\ escape" #~ msgstr "Nicht-beendetes \\\\-Escape." @@ -2052,16 +2244,6 @@ msgstr "Kein vorangehender Regulrer Ausdruck." #~ msgid "Unbalanced )" #~ msgstr ") wird nicht geffnet." -#~ msgid "field %d in FIELDWIDTHS, must be > 0" -#~ msgstr "Feld %d in FIELDWIDTHS muss > 0 sein." - -#~ msgid "function %s called\n" -#~ msgstr "Funktion %s aufgerufen\n" - -#~ msgid "can't open two way socket `%s' for input/output (%s)" -#~ msgstr "" -#~ "Kann bidirektionalen Socket '%s' nicht fr Ein-/Ausgabe ffnen (%s)." - #~ msgid "remote port invalid in `%s'" #~ msgstr "Port-Angabe in '%s' ist ungltig." @@ -2070,6 +2252,3 @@ msgstr "Kein vorangehender Regulrer Ausdruck." #~ msgid "pipe to `%s': could not set close-on-exec (fcntl: %s)" #~ msgstr "Pipe zu '%s': Konnte close-on-exec nicht setzen (fcntl: %s)." - -#~ msgid "internal error: file `%s', line %d\n" -#~ msgstr "Interner Fehler: Datei '%s', Zeile %d\n" Binary files differ@@ -1,14 +1,13 @@ -# Mensajes en espaol para gawk-3.1.7i. -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. -# This file is distributed under the same license as the gawk package. -# Cristian Othn Martnez Vera <cfuga@itam.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010. +# Mensajes en espaol para gawk-3.1.5f. +# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# Cristian Othn Martnez Vera <cfuga@itam.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007. # msgid "" msgstr "" -"Project-Id-Version: gawk 3.1.7i\n" +"Project-Id-Version: gawk 3.1.5f\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" -"PO-Revision-Date: 2010-04-30 12:18-0500\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" +"PO-Revision-Date: 2007-07-20 01:10-0500\n" "Last-Translator: Cristian Othn Martnez Vera <cfuga@itam.mx>\n" "Language-Team: Spanish <es@li.org>\n" "MIME-Version: 1.0\n" @@ -75,339 +74,353 @@ msgstr "%s: es un parmetro\n" msgid "%s: array_ref to %s\n" msgstr "%s: array_ref a %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "Los bloques %s deben tener una parte de accin" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "cada regla debe tener un patrn o una parte de accin" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "el awk antiguo no admite mltiples reglas `BEGIN' o `END'" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' es una funcin interna, no se puede redefinir" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" "la constante de expresin regular `//' parece un comentario de C++, pero no " "lo es" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" "la constante de expresin regular `/%s/' parece un comentario de C, pero no " "lo es" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "la sentencia puede no tener efecto" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "se us `%s' en la accin %s" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "`nextfile' es una extensin de gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "se us `return' fuera del contexto de la funcin" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "el `print' simple en la regla BEGIN o END probablemente debe ser `print \"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "`delete array' es una extensin de gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(array)' es una extensin de gawk que no es transportable" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "valores case duplicados en el cuerpo de un switch: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "Se detect un `default' duplicado en el cuerpo de un switch" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "las lneas de trabajo de dos vas multiestado no funcionan" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "expresin regular del lado derecho de una asignacin" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "expresin regular a la izquierda del operador `~' o `!~'" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "" "el awk antiguo no admite la palabra clave `in' excepto despus de `for'" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "expresin regular a la derecha de una comparacin" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "puerto remoto invlido en `%s'" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "`getline' no redirigido indefinido dentro de la accin de END" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "el awk antiguo no admite matrices multidimensionales" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "la llamada de `length' sin parntesis no es transportable" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "la llamada de `length' sin parntesis est obsoleta por POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`extension' es una extensin de gawk" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "uso de una matriz que no es matriz" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "expresin de subndice invlida" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "nueva lnea o fin de la cadena inesperados" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "texto de programa vaco en la linea de comando" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "no se puede abrir el fichero fuente `%s' para lectura (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "no se puede leer el fichero fuente `%s' (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "el fichero fuente `%s' est vaco" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "el fichero fuente no termina con lnea nueva" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "expresin regular sin terminar termina con `\\` al final del fichero" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "%s: %d: el modificador de expresin regular `/.../%c` de tawk no funciona en " "gawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "el modificador de expresin regular `/.../%c` de tawk no funciona en gawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "expresin regular sin terminar" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "expresin regular sin terminar al final del fichero" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "el uso de la continuacin de lnea `\\ #...' no es transportable" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "la barra invertida no es el ltimo caracter en la lnea" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX no permite el operador `**='" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "el awk antiguo no admite el operador `**='" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX no permite el operador `**'" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "el awk antiguo no admite el operador `**='" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "el operador `^=' no se admite en el awk antiguo" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "el operador `^' no se admite en el awk antiguo" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "cadena sin terminar" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "caracter '%c' invlido en la expresin" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' es una extensin de gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s' es una extensin de Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX no permite `%s'" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' no se admite en el awk antiguo" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "`goto' se considera daino!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d es invlido como nmero de argumentos para %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: el tercer argumento es una extensin de gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: la literal de cadena como ltimo argumento de substitute no tiene efecto" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "el tercer argumento de %s no es un objecto que se puede cambiar" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: el segundo argumento es una extensin de gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "el uso de dcgettext(_\"...\") es incorrecto: quite el subrayado inicial" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "el uso de dcngettext(_\"...\") es incorrecto: quite el subrayado inicial" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funcin `%s': parmetro #%d, `%s', duplica el parmetro #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funcin `%s': parmetro `%s' oscurece la variable global" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "no se puede abrir `%s' para escritura (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "se enva el perfil a la salida estndar de error" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: fall close (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "se llam shadow_funcs() dos veces!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "hay variables opacadas." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "" "funcin `%s': no se puede usar un nombre de funcin como nombre de parmetro" -#: awkgram.y:3004 -#, c-format +#: awkgram.y:3088 +#, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "" -"funcin `%s': no se puede usar la variable especial `%s' como un parmetro " -"de funcin" +"funcin `%s': no se puede usar un nombre de funcin como nombre de parmetro" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "el nombre de funcin `%s' se defini previamente" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "se llam a la funcin `%s' pero nunca se defini" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "se defini la funcin `%s' pero nunca se llam" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" "la constante de expresin regular para el parmetro #%d da un valor booleano" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -416,11 +429,11 @@ msgstr "" "se llam la funcin `%s' con espacio entre el nombre y el `(',\n" "o se us como una variable o una matriz" -#: awkgram.y:3664 +#: awkgram.y:3750 msgid "division by zero attempted in `/'" msgstr "se intent una divisin por cero en `/'" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "se intent una divisin por cero en `%%'" @@ -680,249 +693,267 @@ msgstr "mktime: se recibi un argumento que no es una cadena" #: builtin.c:1746 msgid "mktime: at least one of the values is out of the default range" msgstr "" -"mktime: por lo menos uno de los valores est fuera del rango por defecto" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: se recibi un argumento que no es una cadena" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "referencia al campo sin inicializar `$%d'" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: se recibi un argumento que no es una cadena" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: se recibi un argumento que no es una cadena" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: el primer argumento recibido no es un nmero" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: el segundo argumento recibido no es un nmero" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: se recibi un argumento que no es un nmero" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: se recibi un argumento que no es un nmero" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: se recibi un argumento que no es un nmero" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: el tercer argumento no es una matriz" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: el tercer argumento de 0 se trata como 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: el primer argumento recibido no es un nmero" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: el segundo argumento recibido no es un nmero" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): los valores negativos darn resultados extraos" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): los valores fraccionarios se truncarn" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): un valor de desplazamiento muy grande dar resultados " "extraos" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: el primer argumento recibido no es un nmero" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: el segundo argumento recibido no es un nmero" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): los valores negativos darn resultados extraos" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): los valores fraccionarios sern truncados" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): un valor de desplazamiento muy grande dar resultados " "extraos" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: el primer argumento recibido no es un nmero" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: el segundo argumento recibido no es un nmero" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): los valores negativos darn resultados extraos" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): los valores fraccionarios sern truncados" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: el primer argumento recibido no es un nmero" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: el segundo argumento recibido no es un nmero" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): los valores negativos darn resultados extraos" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): los valores fraccionarios sern truncados" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: el primer argumento recibido no es un nmero" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: el segundo argumento recibido no es un nmero" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): los valores negativos darn resultados extraos" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): los valores fraccionarios se truncarn" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: se recibi un argumento que no es un nmero" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): el valor negativo dar resultados extraos" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): el valor fraccionario se truncar" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' no es una categora local vlida" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "tipo de nodo %d desconocido" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "desbordamiento de almacenamiento temporal en genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "se intent usar la matriz `%s' en un contexto escalar" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "ciclo for: la matriz `%s' cambi de tamao de %ld a %ld durante la ejecucin " "del ciclo" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "`break' fuera de un ciclo no es transportable" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "no se permite `break' fuera de un ciclo" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "`continue' fuera de un ciclo no es transportable" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "no se permite `continue' fuera de un ciclo" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "`next' no se puede llamar desde una regla BEGIN" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "`next' no se puede llamar desde una regla END" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "`next' no se puede llamar desde una regla BEGIN" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "`next' no se puede llamar desde una regla END" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "`nextfile' no se puede llamar desde una regla BEGIN" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "`nextfile' no se puede llamar desde una regla END" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "`nextfile' no se puede llamar desde una regla END" + +#: eval.c:963 msgid "statement has no effect" msgstr "la declaracin no tiene efecto" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "no se puede usar el nombre de la funcin `%s' como variable o matriz" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "referencia al argumento sin inicializar `%s'" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "referencia a la variable sin inicializar `%s'" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -930,39 +961,66 @@ msgstr "" "concatenacin: Los efectos laterales en una expresin han cambiado la " "longitud de otra!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "se us una asignacin en un contexto condicional" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "se intent una divisin por cero" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tipo ilegal (%s) en tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "se intent una divisin por cero en `/='" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "se intent una divisin por cero en `%%='" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "se llam a la funcin `%s' con ms argumentos de los declarados" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "la funcin `%s' no est definida" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -973,705 +1031,757 @@ msgstr "" "\t# Pila de Llamadas de Funciones:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- principal --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "se intent una referencia de campo desde un valor que no es un nmero" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "se intent una referencia desde una cadena nula" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "se intent accesar al campo %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "no se permite la asignacin como resultado de una funcin interna" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "`IGNORECASE' es una extensin de gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' es una extensin de gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" -msgstr "el valor BINMODE `%s' es invlido; se trata como 3" +msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "especificacin `%sFMT' `%s' errnea" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "se desactiva `--lint' debido a una asignacin a `LINT'" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "`extension' es una extensin de gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: no se puede abrir `%s' (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "" "extension: la biblioteca `%s': no puede llamar a la funcin `%s' (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "extension: falta el nombre de la funcin" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: carcter ilegal `%c' en el nombre de la funcin `%s'" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: no se puede redefinir la funcin `%s'" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "extension: la funcin `%s' ya est definida" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" "extension: no se puede utilizar la orden interna de gawk `%s' como nombre de " "funcin" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "extension: el nombre de funcin `%s' se defini previamente" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "la funcin `%s' se defini para tomar no ms de %d argumento(s)" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "funcin `%s': falta el argumento #%d" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" "funcin `%s': argumento #%d: se intent usar un escalar como una matriz" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" "funcin `%s': argumento #%d: se intent usar una matriz como un escalar" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "No Se Da Soporte A La Operacin" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF con un valor negativo" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: el segundo argumento no es una matriz" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: el tercer argumento es una extensin de gawk" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: el segundo argumento no es una matriz" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "" "split: la cadena nula para el tercer argumento es una extensin de gawk" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: el segundo argumento no es una matriz" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: el segundo argumento no es una matriz" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: el tercer argumento no es una matriz" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`FIELDWIDTHS' es una extensin gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "valor de FIELDWIDTHS invlido, cerca de `%s'" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "la cadena nula para `FS' es una extensin de gawk" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "el awk antiguo no admite expresiones regulares como valor de `FS'" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s' es una extensin de gawk" + #: getopt.c:574 getopt.c:590 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" -msgstr "%s: la opcin '%s' es ambigua\n" +msgstr "%s: la opcin `%s' es ambigua\n" #: getopt.c:623 getopt.c:627 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: la opcin '--%s' no admite ningn argumento\n" +msgstr "%s: la opcin `--%s' no admite ningn argumento\n" #: getopt.c:636 getopt.c:641 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: la opcin '%c%s' no admite ningn argumento\n" +msgstr "%s: la opcin `%c%s' no admite ningn argumento\n" #: getopt.c:684 getopt.c:703 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s: la opcin '--%s' requiere un argumento\n" +msgstr "%s: la opcin `%s' requiere un argumento\n" #: getopt.c:741 getopt.c:744 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: no se reconoce la opcin '--%s'\n" +msgstr "%s: no se reconoce la opcin `--%s'\n" #: getopt.c:752 getopt.c:755 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: no se reconoce la opcin '%c%s'\n" +msgstr "%s: no se reconoce la opcin `%c%s'\n" #: getopt.c:804 getopt.c:807 -#, c-format +#, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: opcin invlida -- '%c'\n" +msgstr "%s: opcin invlida -- %c\n" #: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100 -#, c-format +#, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: la opcin requiere un argumento -- '%c'\n" +msgstr "%s: la opcin requiere un argumento -- %c\n" #: getopt.c:930 getopt.c:946 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: la opcin '-W %s' es ambigua\n" +msgstr "%s: la opcin `-W %s' es ambigua\n" #: getopt.c:970 getopt.c:988 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: la opcin '-W %s' no admite ningn argumento\n" +msgstr "%s: la opcin `-W %s' no admite ningn argumento\n" #: getopt.c:1009 getopt.c:1027 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s: la opcin '-W %s' requiere un argumento\n" +msgstr "%s: la opcin `%s' requiere un argumento\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "no se puede abrir el fichero `%s' para lectura (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "error al leer el fichero de entrada `%s': %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "fall al cerrar el df %d (`%s') (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "tipo de rbol %s invlido en redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "la expresin en la redireccin `%s' slo tiene un valor numrico" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "la expresin para la redireccin `%s' tiene un valor de cadena nula" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "el fichero `%s' para la redireccin `%s' puede ser resultado de una " "expresin lgica" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "mezcla innecesaria de `>' y `>>' para el fichero `%.*s'" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "no se puede abrir la tubera `%s' para la salida (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "no se puede abrir la tubera `%s' para la entrada (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "no se puede abrir la tubera de dos vas `%s' para entrada/salida (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "no se puede redirigir desde `%s' (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "no se puede redirigir a `%s' (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "se alcanz el lmite del sistema para ficheros abiertos: comenzando a " "multiplexar los descriptores de fichero" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "fall al cerrar `%s' (%s)." -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "demasiadas tuberas o ficheros de entrada abiertos" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: el segundo argumento debe ser `to' o `from'" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: `%.*s' no es un fichero abierto, tubera o co-proceso" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "cerrado de una redireccin que nunca fue abierta" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: la redireccin `%s' no se abre con `|&', se ignor el segundo " "argumento" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "estado de fallo (%d) al cerrar la tubera de `%s' (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "estado de fallo (%d) al cerrar el fichero de `%s' (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "no se provee el cerrado explcito del `socket' `%s'" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "no se provee el cerrado explcito del co-proceso `%s'" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "no se provee el cerrado explcito del la tubera `%s'" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "no se provee el cerrado explcito del fichero `%s'" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "error al escribir en la salida estndar (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "error al escribir en la salida estndar de error (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "fall la limpieza de la tubera de `%s' (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "fall la limpieza del co-proceso de la tubera a `%s' (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "fall la limpieza del fichero de `%s' (%s)." -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "puerto local %s invlido en `/inet'" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "anfitrin remoto e informacin de puerto (%s, %s) invlidos" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "el cliente /inet/raw no est listo an, perdn" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "slo root puede utilizar `/inet/raw'." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "el servidor /inet/raw no est listo an, perdn" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "" "no se proporciona algn protocolo (conocido) en el nombre de fichero " "especial `%s'" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "el nombre de fichero especial `%s' est incompleto" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "se debe proporcionar a `/inet' un nombre de anfitrin remoto" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "se debe proporcionar a `/inet' un puerto remoto" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "No se admiten las comunicaciones TCP/IP" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "el fichero `%s' es un directorio" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "use `PROCINFO[\"%s\"]' en lugar de `%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "use `PROCINFO[...]' en lugar de `/dev/user'" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "no se puede abrir `%s', modo `%s'" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "fall al cerrar el pty maestro (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "fall al cerrar la salida estndar en el hijo (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" "fall el movimiento del pty esclavo a la salida estndar en el hijo (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "fall al cerrar la entrada estndar en el hijo (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" "fall el movimiento del pty esclavo a la entrada estndar en el hijo (dup: %" "s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "fall al cerrar el pty esclavo (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "fall el movimiento a la salida estndar en el hijo (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" "fall el movimiento de la tubera a la entrada estndar en el hijo (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "fall la restauracin de la salida estndar en el proceso padre\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "fall la restauracin de la entrada estndar en el proceso padre\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "fall al cerrar la tubera (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' no se admite" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "no se puede abrir la tubera `%s' (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "no se puede crear el proceso hijo para `%s' (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "el fichero de datos `%s' est vaco" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "no se puede reservar ms memoria de entrada" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "error al leer el fichero de entrada `%s': %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "el valor multicaracter de `RS' es una extensin de gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "memoria agotada" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "la opcin -m[fr] es irrelevante en gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "uso de la opcin -m: `-m[fr]' nnn" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "se ignora el argumento vaco para `--source'" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: no se reconoce la opcin `-W %s', se ignora\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "se ignora el argumento vaco para `--source'" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: la opcin requiere un argumento -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "" "la variable de ambiente `POSIXLY_CORRECT' est establecida: se activa `--" "posix'" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "`--posix' se impone a `--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "`--posix'/`--traditional' se imponen a `--non-decimal-data'" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "ejecutar %s como setuid root puede ser un problema de seguridad" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "`--posix' se impone a `--traditional'" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "no se puede establecer el modo binario en la entrada estndar (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "no se puede establecer el modo binario en la salida estndar (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "" "no se puede establecer el modo binario en la salida estndar de error (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "No hay ningn programa de texto!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Modo de empleo: %s [opciones estilo POSIX o GNU] -f fichprog [--] " "fichero ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Modo de empleo: %s [opciones estilo POSIX o GNU] [--] %cprograma%c " "fichero ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Opciones POSIX:\t\tOpciones largas GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f fichprog\t\t--file=fichprog\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F sc\t\t\t--field-separator=sc\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=valor\t\t--assign=var=valor\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "Opciones POSIX:\t\tOpciones largas GNU:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] valor\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "\t-O\t\t\t--optimize\n" - -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=fichero]\t--dump-variables[=fichero]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +# Esta es la lnea ms larga de la lista de argumentos. +# Probar con gawk para revisar tabuladores. cfuga +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=texto-prog\t--source=texto-prog\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=fichero\t\t--exec=fichero\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=fichero]\t--profile[=fichero]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -# Esta es la lnea ms larga de la lista de argumentos. -# Probar con gawk para revisar tabuladores. cfuga -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=texto-prog\t--source=texto-prog\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1685,7 +1795,7 @@ msgstr "" "Reporte los errores de los mensajes en espaol a <es@li.org>.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1695,7 +1805,7 @@ msgstr "" "Por omisin lee la entrada estndar y escribe en la salida estndar.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1705,7 +1815,7 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' fichero\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1718,14 +1828,14 @@ msgid "" msgstr "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" "\n" -"Este programa es software libre; se puede redistribuir y/o modificar\n" +"Este programa es software libre; puede redistribuirse y/o ser modificado\n" "bajo los trminos de la Licencia Pblica General de GNU tal como es " "publicada\n" "por la Free Software Foundation; ya sea por la versin 3 de la Licencia, o\n" "(a su eleccin) cualquier versin posterior.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1739,20 +1849,27 @@ msgstr "" "Licencia Pblica General de GNU para ms detalles.\n" "\n" -#: main.c:813 +#: main.c:864 +#, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" msgstr "" "Debi recibir una copia de la Licencia Pblica General de GNU\n" -"junto con este programa. Si no es as, consulte\n" -"http://www.gnu.org/licenses/.\n" +"junto con este programa; si no es as, escriba a la Free Software\n" +"Foundation, Inc., 51 Franklin Street, Quinto Piso, Boston, MA 02110-1301, " +"USA.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft no establece FS a tabulador en el awk de POSIX" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1761,43 +1878,45 @@ msgstr "" "%s: el argumento `%s' para `-v' no es de la forma `var=valor'\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' no es un nombre de variable legal" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "`%s' no es un nombre de variable, se busca el fichero `%s=%s'" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "excepcin de coma flotante" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "error fatal: error interno" -#: main.c:1206 +#: main.c:1260 +#, fuzzy msgid "fatal error: internal error: segfault" -msgstr "error fatal: error interno: falla de segmentacin" +msgstr "error fatal: error interno" -#: main.c:1218 +#: main.c:1272 +#, fuzzy msgid "fatal error: internal error: stack overflow" -msgstr "error fatal: error interno: desbordamiento de pila" +msgstr "error fatal: error interno" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "no existe el df %d abierto previamente" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "no se puede abrir previamente /dev/null para el df %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "no se pueden encontrar los grupos: %s" @@ -1869,21 +1988,21 @@ msgstr "no se puede abrir `%s' para escritura: %s" msgid "internal error: %s with null vname" msgstr "error interno: %s con vname nulo" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# se trata internamente como `delete'" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "# esta es una funcin de extensin cargada dinmicamente" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# perfil de gawk, creado %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1892,7 +2011,16 @@ msgstr "" "\t# bloque(s) BEGIN\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# bloque(s) BEGIN\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1901,7 +2029,16 @@ msgstr "" "\t# Regla(s)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# bloque(s) END\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1910,7 +2047,7 @@ msgstr "" "\t# bloque(s) END\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1919,15 +2056,20 @@ msgstr "" "\n" "\t# Funciones, enumeradas alfabticamente\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "tipo %s inesperado en prec_level" -#: profile.c:1527 -#, c-format +#: profile.c:1557 +#, fuzzy, c-format msgid "Unknown node type %s in pp_var" -msgstr "Tipo de nodo %s desconocido en pp_var" +msgstr "tipo de nodo %d desconocido" + +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" #: regcomp.c:132 msgid "Success" @@ -2001,15 +2143,49 @@ msgstr ") o \\) desemparejados" msgid "No previous regular expression" msgstr "No hay una expresin regular previa" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: opcin ilegal -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "el fichero `%s' es un directorio" + #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "" #~ "no se puede abrir el `socket' de dos vas `%s' para entrada/salida (%s)" -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: opcin ilegal -- %c\n" +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: sin argumentos" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: `%.*s' no es un fichero abierto, tubera o co-proceso" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: `%.*s' no es un fichero abierto, tubera o co-proceso" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "`%s' no es un nombre de variable legal" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "use `PROCINFO[\"%s\"]' en lugar de `%s'" -#~ msgid "remote port invalid in `%s'" -#~ msgstr "puerto remoto invlido en `%s'" +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "use `PROCINFO[...]' en lugar de `/dev/user'" #~ msgid "function %s called\n" #~ msgstr "se llam a la funcin %s\n" Binary files differ@@ -1,414 +1,432 @@ -# Messages français pour gawk. -# This file is distributed under the same license as the gawk package. -# Ce fichier est distribué sous la même licence que le paquet gawk. -# Copyright © 2004 Free Software Foundation, Inc. -# Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996-2005. -# Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir.org>, 2010. +# Messages franais pour gawk. +# Copyright 2004 Free Software Foundation, Inc. +# Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996. +# msgid "" msgstr "" -"Project-Id-Version: gawk 3.1.7i\n" +"Project-Id-Version: gawk 3.1.4l\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" -"PO-Revision-Date: 2010-05-01 00:08+0200\n" -"Last-Translator: Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir." -"org>\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" +"PO-Revision-Date: 2005-06-29 08:00-0500\n" +"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n" "Language-Team: French <traduc@traduc.org>\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: array.c:112 #, c-format msgid "attempt to use function `%s' as an array" -msgstr "tentative d'utiliser la fonction « %s » comme tableau" +msgstr "tentative d'utilisation de la fonction %s comme un tableau" #: array.c:115 #, c-format msgid "attempt to use scalar parameter `%s' as an array" -msgstr "tentative d'utiliser le paramètre scalaire « %s » comme tableau" +msgstr "tentative d'utilisation d'un paramtre scalaire %s comme un tableau" #: array.c:118 #, c-format msgid "attempt to use scalar `%s' as array" -msgstr "tentative d'utiliser le scalaire « %s » comme tableau" +msgstr "tentative d'utilisation du scalaire %s comme un tableau" #: array.c:156 #, c-format msgid "from %s" -msgstr "de %s" +msgstr " partir de %s" #: array.c:513 -#, c-format +#, fuzzy, c-format msgid "reference to uninitialized element `%s[\"%.*s\"]'" -msgstr "référence à un élément non initialisé « %s[\"%.*s\"] »" +msgstr "rfrence un lment non initialis %s[\"%s\"] " #: array.c:519 #, c-format msgid "subscript of array `%s' is null string" -msgstr "l'indice du tableau « %s » est une chaîne vide" +msgstr "sous-description du tableau %s contient une chane nulle" #: array.c:623 #, c-format msgid "delete: index `%s' not in array `%s'" -msgstr "delete : l'indice « %s » est absent du tableau « %s »" +msgstr "destruction: index %s n'est pas dans le tableau %s " #: array.c:792 #, c-format msgid "%s: empty (null)\n" -msgstr "%s : vide (non défini)\n" +msgstr "%s: vide (null)\n" #: array.c:797 #, c-format msgid "%s: empty (zero)\n" -msgstr "%s : vide (vide)\n" +msgstr "%s: vide (zro)\n" #: array.c:801 #, c-format msgid "%s: table_size = %d, array_size = %d\n" -msgstr "%s : table_size = %d, array_size = %d\n" +msgstr "%s: table_size = %d, array_size = %d\n" #: array.c:830 #, c-format msgid "%s: is parameter\n" -msgstr "%s : est un paramètre\n" +msgstr "%s: est un paramtre\n" #: array.c:835 #, c-format msgid "%s: array_ref to %s\n" -msgstr "%s : array_ref à %s\n" +msgstr "%s: array_ref de %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" -msgstr "les blocs %s doivent avoir une partie action" +msgstr "Les blocs %s doivent avoir une partie action" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" -msgstr "chaque règle doit avoir au moins une partie motif ou action" +msgstr "chaqque rgle doit avoir un patron ou une partie action" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 +#, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" -msgstr "l'ancien awk ne permet pas les « BEGIN » ou « END » multiples" +msgstr "l'ancien awk ne supporte pas l'oprateur ** " -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" -msgstr "« %s » est une fonction interne, elle ne peut être redéfinie" +msgstr " %s est une fonction interne, elle ne peut tre redfinie" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" -msgstr "l'expression rationnelle constante « // » n'est pas un commentaire C++" +msgstr "" +"la constante d'expression rgulire // ressemble un commentaire en C, " +"mais ne l'est pas" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" -msgstr "l'expression rationnelle constante « /%s/ » n'est pas un commentaire C" +msgstr "" +"la constante d'expression rgulire /%s/ ressemble un commentaire en C, " +"mais ne l'est pas" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" -msgstr "la déclaration peut ne pas avoir d'effet" +msgstr "la dclaration peut n'avoir aucun effet" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" -msgstr "« %s » est utilisé dans l'action %s" +msgstr " %s utilis dans l'action %s" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" -msgstr "« nextfile » est une extension de gawk" +msgstr " nextfile est une extension de gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" -msgstr "« return » est utilisé hors du contexte d'une fonction" +msgstr " return utilis en dehors du contexte d'une fonction" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" -"dans BEGIN ou END, un « print » devrait sans doute être un « print \"\" »" +"utilisation de print dans une rgle BEGIN ou END doit tre probablement " +"print \"\" " -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" -msgstr "« delete array » est une extension de gawk" +msgstr " delete array est une extension de gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" -msgstr "« delete(array) » est une extension non portable de tawk" +msgstr " delete(array) est une extension de tawk qui n'est pas portable" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" -msgstr "le corps du switch comporte des cas répétés : %s" +msgstr "duplicata de valeur de case dans le corps du switch: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" -msgstr "le corps du switch comporte plusieurs « default »" +msgstr "duplicata de default dtect dans le corps du switch" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" -msgstr "impossible d'utiliser des tubes bidirectionnels en série" +msgstr "pipelines bidirectionnel multi-tapes ne fonctionnent pas" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" -msgstr "expression rationnelle à droite d'une affectation" +msgstr "expression rgulire la droite de l'affectation" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" -msgstr "expression rationnelle à gauche d'un opérateur « ~ » ou « !~ »" +msgstr "expression rgulire sur la gauche de l'oprateur ~ ou !~ " -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 +#, fuzzy msgid "old awk does not support the keyword `in' except after `for'" -msgstr "l'ancien awk n'autorise le mot-clef « in » qu'après « for »" +msgstr "l'ancien awk ne supporte pas l'oprateur ** " -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" -msgstr "expression rationnelle à droite d'une comparaison" +msgstr "expression rgulire sur la droite de la comparaison" + +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "port distant invalide dans %s " -#: awkgram.y:893 +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" -msgstr "un « getline » non redirigé n'est pas défini dans une action END" +msgstr " getline non redirig indfini l'intrieur de l'action END" -#: awkgram.y:904 +#: awkgram.y:955 +#, fuzzy msgid "old awk does not support multidimensional arrays" -msgstr "l'ancien awk ne dispose pas des tableaux multidimensionnels" +msgstr "l'ancien awk ne supporte pas l'oprateur ** " -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" -msgstr "l'appel de « length » sans parenthèses n'est pas portable" +msgstr "l'appel de length sans les parenthses n'est pas portable" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" -msgstr "l'appel de « length » sans parenthèses est obsolète pour POSIX" +msgstr "l'appel de length sans les parenthses est dprci par POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr " extension est une extension de gawk" + +#: awkgram.y:1084 msgid "use of non-array as array" -msgstr "utilisation d'un non tableau comme tableau" +msgstr "utilisation d'une entit qui n'est pas un tableau comme tableau" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" -msgstr "expression indice non valide" +msgstr "sous-expression invalide" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" -msgstr "fin de chaîne ou passage à la ligne inattendu" +msgstr "nouvelle ligne inattendue ou fin de la chane" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" -msgstr "le programme indiqué en ligne de commande est vide" +msgstr "texte du programme sur la ligne de commande est vide" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" -msgstr "impossible d'ouvrir le fichier source « %s » en lecture (%s)" +msgstr "ne peut ouvrir le fichier source %s pour lecture (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" -msgstr "impossible de lire le fichier source « %s » (%s)" +msgstr "ne peut lire le fichier source %s (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" -msgstr "le fichier source « %s » est vide" +msgstr "fichier source %s est vide" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" -msgstr "le fichier source ne se termine pas par un passage à la ligne" +msgstr "fichier source ne se termine pas par un retour de chariot" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "" -"expression rationnelle non refermée terminée par un « \\ » en fin de fichier" +"expression rgulire non termine se terminant par \\ la fin du fichier" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -"%s : %d : le modificateur d'expressions rationnelles « /.../%c » de tawk ne " -"marche pas dans gawk" +"%s: %d: modificateur d'exp. rg. tawk `/.../%c' ne peut oprer dans gawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" -msgstr "" -"le modificateur d'expressions rationnelles « /.../%c » de tawk ne marche pas " -"dans gawk" +msgstr "modificateur d'exp. rg. tawk `/.../%c' ne peut oprer dans gawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" -msgstr "expression rationnelle non refermée" +msgstr "expression rgulire non termine" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" -msgstr "expression rationnelle non refermée en fin de fichier" +msgstr "expression rgulire non termine la fin du fichier" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "" -"l'utilisation de « \\ #... » pour prolonger une ligne n'est pas portable" +"utilisation de \\ #... comme continuation de ligne n'est pas portable" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" -msgstr "la barre oblique inverse n'est pas le dernier caractère de la ligne" +msgstr "la barre oblique inverse n'est pas le dernier caractre sur la ligne" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" -msgstr "POSIX n'autorise pas l'opérateur « **= »" +msgstr "POSIX ne permet un oprateur **= " -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" -msgstr "l'ancien awk ne dispose pas de l'opérateur « **= »" +msgstr "l'ancien awk ne supporte pas l'oprateur **= " -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" -msgstr "POSIX n'autorise pas l'opérateur « ** »" +msgstr "POSIX ne permet pas l'oprateur ** " -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" -msgstr "l'ancien awk ne dispose pas de l'opérateur « ** »" +msgstr "l'ancien awk ne supporte pas l'oprateur ** " -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" -msgstr "l'ancien awk ne dispose pas de l'opérateur « ^= »" +msgstr "l'oprateur ^= n'est pas support dans l'ancien awk" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" -msgstr "l'ancien awk ne dispose pas de l'opérateur « ^ »" +msgstr "l'oprateur ^ n'est pas support dans l'ancien awk" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" -msgstr "chaîne non refermée" +msgstr "chane non complte" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" -msgstr "caractère non valide « %c » dans l'expression" +msgstr "caractre invalide %c dans l'expression" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" -msgstr "« %s » est une extension de gawk" +msgstr " %s est une extension de gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" -msgstr "« %s » est une extension Bell Labs" +msgstr " %s est une extension de Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" -msgstr "POSIX n'autorise pas « %s »" +msgstr "POSIX ne permet pas %s " -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" -msgstr "l'ancien awk ne dispose pas de « %s »" +msgstr " %s n'est pas support dans l'ancien awk" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" -msgstr "« goto est jugé dangereux ! » (Edsger W. Dijkstra)\n" +msgstr " goto considr nfaste!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" -msgstr "%d n'est pas un nombre d'arguments valide de %s" +msgstr "%d est invalide comme nombre d'arguments pour %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" -msgstr "match : le 3e argument est une extension gawk" +msgstr "match: 3e argument est une extension de gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" -"%s : une chaîne littérale en dernier argument d'une substitution est sans " +"%s: la chane litrale comme dernier arguement d'une substitution n'a aucun " "effet" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" -msgstr "le 3e paramètre de %s n'est pas un objet modifiable" +msgstr "3e paramtre %s n'est pas un objet interchangeable" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" -msgstr "close : le 2e argument est une extension de gawk" +msgstr "close: 2e argument est une extension de gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" -"utilisation incorrecte de dcgettext(_\"...\") : enlevez le souligné de tête" +"utilisation de dcgettext(_\"...\") est incorrect: enlever les souligns en " +"en-tte" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" -"utilisation incorrecte de dcngettext(_\"...\") : enlevez le souligné de tête" +"utilisation de dcngettext(_\"...\") est incorrect: enlever les souligns en " +"en-tte" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" -msgstr "fonction « %s » : paramètre #%d, « %s » est un doublon du paramètre #%d" +msgstr "fonction %s : paramtre #%d, %s est un double du paramtre #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" -msgstr "fonction « %s » : le paramètre « %s » masque la variable globale" +msgstr "fonction %s : paramtre %s porte ombrage la variable globale" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" -msgstr "impossible d'ouvrir « %s » en écriture (%s)" +msgstr "ne peut ourvrir %s en criture (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" -msgstr "envoi du profil vers la sortie d'erreur standard" +msgstr "redirection du profile vers stderr" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" -msgstr "%s : échec de la fermeture (%s)" +msgstr "%s: chec de fermeture (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" -msgstr "shadows_funcs() a été appelé deux fois !" +msgstr "shadows_funcs() appel deux fois!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." -msgstr "il y avait des variables masquées." +msgstr "il y avait des variables ombrages" -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" -msgstr "" -"fonction « %s » : impossible d'utiliser un nom de fonction comme paramètre" +msgstr "fonction %s : ne peut utilise le nom de la fonction comme paramtre" -#: awkgram.y:3004 -#, c-format +#: awkgram.y:3088 +#, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" -msgstr "" -"fonction « %s » : impossible d'utiliser la variable spéciale « %s » comme " -"paramètre d'une fonction" +msgstr "fonction %s : ne peut utilise le nom de la fonction comme paramtre" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" -msgstr "nom de fonction « %s » déjà défini" +msgstr "nom de la fonction %s dfinie prcdemment" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" -msgstr "fonction « %s » appelée sans être définie" +msgstr "fonction %s appel mais jamais dfinie" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" -msgstr "fonction « %s » définie mais non utilisée" +msgstr "fonction %s dfinie mais jamais utilise" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" -msgstr "le paramètre #%d, une expr. rationnelle constante, fourni un booléen" +msgstr "" +"expression rgulire constante pour le paramtre #%d conduit une valeur " +"boolenne" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -417,11 +435,11 @@ msgstr "" "fonction « %s » appelée avec un espace entre son nom\n" "et « ( », ou utilisée comme variable ou tableau" -#: awkgram.y:3664 +#: awkgram.y:3750 msgid "division by zero attempted in `/'" msgstr "tentative de division par zéro dans « / »" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "tentative de division par zéro dans « %% »" @@ -441,523 +459,564 @@ msgstr "raison inconnue" #: builtin.c:137 msgid "exp: received non-numeric argument" -msgstr "exponentielle : l'argument n'est pas numérique" +msgstr "exp: argument n'est pas numrique" #: builtin.c:143 #, c-format msgid "exp: argument %g is out of range" -msgstr "exponentielle : l'argument %g est hors limite" +msgstr "exp: argument %g est hors limite" #: builtin.c:201 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" -"fflush : vidage impossible : le tube « %s » est ouvert en lecture et non en " -"écriture" +"fflush: ne peut vider: le pipe %s est oouvert en lecture, pas en criture" #: builtin.c:204 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" -"fflush : vidage impossible : fichier « %s » ouvert en lecture, pas en écriture" +"fflush: ne peut vider: fichier %s ouvert en lecture, pas en criture" #: builtin.c:216 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "" -"fflush : « %s » n'est ni un fichier ouvert, ni un tube ou ni un co-processus" +"fflush: %s n'est pas ni un fichier ouvert, un pipe ou un co-processus" #: builtin.c:310 msgid "index: received non-string first argument" -msgstr "index : le premier argument n'est pas une chaîne" +msgstr "index: premier argument n'est pas une chane" #: builtin.c:312 msgid "index: received non-string second argument" -msgstr "index : le second argument n'est pas une chaîne" +msgstr "index: second argument n'est pas une chane" #: builtin.c:434 msgid "int: received non-numeric argument" -msgstr "int : l'argument n'est pas numérique" +msgstr "int: argument n'est pas numrique" #: builtin.c:464 +#, fuzzy msgid "`length(array)' is a gawk extension" -msgstr "« length(tableau) » est une extension de gawk" +msgstr " delete array est une extension de gawk" #: builtin.c:471 msgid "length: untyped parameter argument will be forced to scalar" -msgstr "length : le paramètre non typé sera converti en scalaire" +msgstr "" #: builtin.c:480 msgid "length: untyped argument will be forced to scalar" -msgstr "length : l'argument non typé sera converti en scalaire" +msgstr "" #: builtin.c:484 msgid "length: received non-string argument" -msgstr "length : l'argument n'est pas une chaîne" +msgstr "length: argument n'est pas une chane" #: builtin.c:515 msgid "log: received non-numeric argument" -msgstr "log : l'argument n'est pas numérique" +msgstr "log: argument n'est pas numrique" #: builtin.c:518 #, c-format msgid "log: received negative argument %g" -msgstr "log : l'argument est négatif %g" +msgstr "log: argument ngatif %g" #: builtin.c:726 builtin.c:729 msgid "must use `count$' on all formats or none" -msgstr "" -"« numéro$ » doit être utilisé pour toutes les spécifications ou pour aucune" +msgstr "doit utiliser count$ sur tous les formats ou aucun" #: builtin.c:790 #, c-format msgid "field width is ignored for `%%%%' specifier" -msgstr "taille du champ de la spécification « %%%% » ignorée" +msgstr "" #: builtin.c:792 #, c-format msgid "precision is ignored for `%%%%' specifier" -msgstr "précision de la spécification « %%%% » ignorée" +msgstr "" #: builtin.c:794 #, c-format msgid "field width and precision are ignored for `%%%%' specifier" -msgstr "taille du champ et précision de la spécification « %%%% » ignorées" +msgstr "" #: builtin.c:845 msgid "`$' is not permitted in awk formats" -msgstr "« $ » n'est pas un format awk valide" +msgstr " $ n'est pas permis dans les formats awk" #: builtin.c:851 msgid "arg count with `$' must be > 0" -msgstr "le numéro de l'argument attaché à « $ » doit être > 0" +msgstr "dcompte d'arguments avec $ doit tre > 0" #: builtin.c:853 #, c-format msgid "arg count %ld greater than total number of supplied arguments" -msgstr "le numéro d'argument %ld est > au nombre total d'arguments fournis" +msgstr "compteur d'arguments %ld est > que le nombre total d'arguments fournis" #: builtin.c:855 msgid "`$' not permitted after period in format" -msgstr "dans un format, « $ » doit précéder le point" +msgstr " $ n'est pas permis aprs le point" #: builtin.c:868 msgid "no `$' supplied for positional field width or precision" -msgstr "aucun « $ » fourni pour positionner la taille du champ ou la précision" +msgstr "aucun $ fourni dans le champ positionnel (longueur ou prcision)" #: builtin.c:938 msgid "`l' is meaningless in awk formats; ignored" -msgstr "« l » n'a aucun sens dans une spécification de format awk ; ignoré" +msgstr " l n'a aucun sens dans les formats de awk; ignor" #: builtin.c:942 msgid "`l' is not permitted in POSIX awk formats" -msgstr "« l » est interdit dans une spécification de format awk POSIX" +msgstr " l n'est pas permis dans les format POSIX de awk" #: builtin.c:953 msgid "`L' is meaningless in awk formats; ignored" -msgstr "« L » n'a aucun sens dans une spécification de format awk ; ignoré" +msgstr " L n'a aucun sens dans les formats s de awk; ignor" #: builtin.c:957 msgid "`L' is not permitted in POSIX awk formats" -msgstr "« L » est interdit dans une spécification de format awk POSIX" +msgstr " L n'est pas permis dans les formats POSIX de awk" #: builtin.c:968 msgid "`h' is meaningless in awk formats; ignored" -msgstr "« h » n'a aucun sens dans une spécification de format awk ; ignoré" +msgstr " h n'a aucun send dans les formats de awk; ignor" #: builtin.c:972 msgid "`h' is not permitted in POSIX awk formats" -msgstr "« h » est interdit dans une spécification de format awk POSIX" +msgstr " h n'est pas permis dans les formats POSIX de awk" #: builtin.c:1252 #, c-format msgid "[s]printf: value %g is out of range for `%%%c' format" -msgstr "[s]printf : valeur %g hors limite pour la spécification « %%%c »" +msgstr "[s]printf: valeur %g est hors limite pour le format %%%c " #: builtin.c:1332 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" -"caractère de spécification inconnu « %c » ignoré : aucun argument converti" #: builtin.c:1338 msgid "not enough arguments to satisfy format string" -msgstr "pas assez d'arguments pour satisfaire la chaîne de format" +msgstr "pas assez d'arguments pour satisfaire le format d'une chane" #: builtin.c:1340 msgid "^ ran out for this one" -msgstr "^ à court pour celui-ci" +msgstr "^ dbordement pour celle-ci" #: builtin.c:1346 msgid "[s]printf: format specifier does not have control letter" -msgstr "[s]printf : spécification de format sans lettre de contrôle" +msgstr "" +"[s]printf: spcificateur de format ne contient pas de lettre de contrle" #: builtin.c:1349 msgid "too many arguments supplied for format string" -msgstr "trop d'arguments pour la chaîne de format" +msgstr "trop d'arguments pour la chane de format" #: builtin.c:1424 builtin.c:1427 msgid "printf: no arguments" -msgstr "printf : aucun argument" +msgstr "printf: aucun argument" #: builtin.c:1451 msgid "sqrt: received non-numeric argument" -msgstr "sqrt : l'argument n'est pas numérique" +msgstr "sqrt: argument n'est pas numrique" #: builtin.c:1455 #, c-format msgid "sqrt: called with negative argument %g" -msgstr "sqrt : appelé avec un argument négatif %g" +msgstr "sqrt: appel avec un argument ngatif %g" #: builtin.c:1479 #, c-format msgid "substr: start index %g is invalid, using 1" -msgstr "substr : l'index de début %g n'est pas valide, utilisation de 1" +msgstr "substr: dbut de l'index %g est invalide, utilise 1" #: builtin.c:1484 #, c-format msgid "substr: non-integer start index %g will be truncated" -msgstr "substr : l'index de début %g n'est pas un entier, il sera tronqué" +msgstr "substr: dbut avec un nombre non entier %g sera tronqu" #: builtin.c:1510 #, c-format msgid "substr: length %g is not >= 1" -msgstr "substr : la longueur %g n'est pas >= 1" +msgstr "substr: longueur %g n'est pas >= 1" #: builtin.c:1512 #, c-format msgid "substr: length %g is not >= 0" -msgstr "substr : la longueur %g n'est pas >= 0" +msgstr "substr: longueur %g n'est pas >= 0" #: builtin.c:1519 #, c-format msgid "substr: non-integer length %g will be truncated" -msgstr "substr : la longueur %g n'est pas entière, elle sera tronquée" +msgstr "substr: longueur avec un nombre non entier %g sera tronqu" #: builtin.c:1524 #, c-format msgid "substr: length %g too big for string indexing, truncating to %g" -msgstr "substr : la longueur %g est trop grande, tronquée à %g" +msgstr "" +"substr: longueur %g trop grande pour l'indexation de chanes, truncation %g" #: builtin.c:1536 msgid "substr: source string is zero length" -msgstr "substr : la chaîne source est de longueur nulle" +msgstr "substr: chane de dpart est de longueur zro" #: builtin.c:1552 #, c-format msgid "substr: start index %g is past end of string" -msgstr "substr : l'index de début %g est au-delà de la fin de la chaîne" +msgstr "substr: dbut de l'index %g dpasse la fin de la chane" #: builtin.c:1560 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" msgstr "" -"substr : la longueur %g à partir de %g dépasse la fin du 1er argument (%lu)" +"substr: longueur %g dbut avec l'index %g dborde la longueur du 1er " +"arguement (%lu)" #: builtin.c:1637 msgid "strftime: received non-string first argument" -msgstr "strftim : le premier argument n'est pas une chaîne" +msgstr "strftim: premier argument reu n'est pas une chane" #: builtin.c:1643 msgid "strftime: received empty format string" -msgstr "strftime : la chaîne de format est vide" +msgstr "strftime: chane de format vide" #: builtin.c:1652 msgid "strftime: received non-numeric second argument" -msgstr "strftime : le second argument n'est pas numérique" +msgstr "strftime: second argument reu n'est pas numrique" #: builtin.c:1729 msgid "mktime: received non-string argument" -msgstr "mktime : l'argument n'est pas une chaîne" +msgstr "mktime: argument n'est pas une chane" #: builtin.c:1746 msgid "mktime: at least one of the values is out of the default range" msgstr "" -"mktime : au moins l'une des valeurs est en dehors de la plage par défaut" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" -msgstr "system : l'argument n'est pas une chaîne" +msgstr "system: argument reu n'est pas une chane" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" -msgstr "référence à un champ non initialisé « $%d »" +msgstr "rfrence un champ non initialis $%d " -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" -msgstr "tolower : l'argument n'est pas une chaîne" +msgstr "tolower: argument reu n'est pas une chane" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" -msgstr "toupper : l'argument n'est pas une chaîne" +msgstr "toupper: argument reu n'est pas une chane" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" -msgstr "atan2 : le premier argument n'est pas numérique" +msgstr "atan2: premier argument n'est pas numrique" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" -msgstr "atan2 : le second argument n'est pas numérique" +msgstr "atan2: second argument n'est pas numrique" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" -msgstr "sin : l'argument n'est pas numérique" +msgstr "sin: argument n'est pas numrique" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" -msgstr "cos : l'argument n'est pas numérique" +msgstr "cos: argument n'est pas numrique" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" -msgstr "srand : l'argument n'est pas numérique" +msgstr "srand: argument n'est pas numrique" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" -msgstr "match : le 3e argument n'est pas un tableau" +msgstr "match: le 3e argument n'est pas un tableau" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" -msgstr "gensub : le 3e argument vaut 0, il sera traité comme un 1" +msgstr "gensub: le 3e argument de 0 trait comme un 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" -msgstr "lshift : le premier argument n'est pas numérique" +msgstr "lshift: premier argument n'est pas numrique" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" -msgstr "lshift : le second argument reçu n'est pas numérique" +msgstr "lshift: second argument reu n'est pas numrique" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" -msgstr "" -"lshift(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" +msgstr "lshift(%lf, %lf): valeurs ngatives donneront d'tranges rsultats" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" -msgstr "lshift(%lf, %lf) : les valeurs non entières seront tronquées" +msgstr "lshift(%lf, %lf): valeurs fractionnaires seront tronques" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" -msgstr "" -"lshift(%lf, %lf) : un décalage trop grand donnera des résultats inattendus" +msgstr "lshift(%lf, %lf): trop grand dplacement donnera d'tranges rsultats" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" -msgstr "rshift : le premier argument n'est pas numérique" +msgstr "rshift: premier argument n'est pas numrique" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" -msgstr "rshift : le second argument reçu n'est pas numérique" +msgstr "rshift: second argument reu n'est pas numrique" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" -msgstr "" -"rshift(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" +msgstr "rshift(%lf, %lf): valeurs ngatives donneront d'tranges rsultats" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" -msgstr "rshift(%lf, %lf) : les valeurs non entières seront tronquées" +msgstr "rshift(%lf, %lf): valeurs fractionnaires seront tronques" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" -msgstr "" -"rshift(%lf, %lf) : un décalage trop grand donnera des résultats inattendus" +msgstr "rshift(%lf, %lf): trop grand dplacement donnera d'tranges rsultats" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" -msgstr "and : le premier argument n'est pas numérique" +msgstr "and: premier argument n'est pas numrique" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" -msgstr "and : le second argument reçu n'est pas numérique" +msgstr "and: second argument reu n'est pas numrique" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" -msgstr "" -"and(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" +msgstr "and(%lf, %lf): valeurs ngatives donneront d'tranges rsultats" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" -msgstr "and(%lf, %lf): les valeurs non entières seront tronquées" +msgstr "and(%lf, %lf): valeurs fractionnaires seront tronques" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" -msgstr "or : le premier argument n'est pas numérique" +msgstr "or: premier argument n'est pas numrique" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" -msgstr "or : le second argument reçu n'est pas numérique" +msgstr "or: second argument reu n'est pas numrique" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" -msgstr "" -"or(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" +msgstr "or(%lf, %lf): valeurs ngatives donneront d'tranges rsultats" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" -msgstr "or(%lf, %lf) : les valeurs non entières seront tronquées" +msgstr "or(%lf, %lf): valeurs fractionnaires seront tronques" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" -msgstr "xor : le premier argument n'est pas numérique" +msgstr "xor: premier argument n'est pas numrique" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" -msgstr "xor : le second argument reçu n'est pas numérique" +msgstr "xor: second argument reu n'est pas numrique" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" -msgstr "" -"xor(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" +msgstr "xor(%lf, %lf): valeurs ngatives donneront d'tranges rsultats" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" -msgstr "xor(%lf, %lf) : les valeurs non entières seront tronquées" +msgstr "xor(%lf, %lf): valeurs fractionnaires seront tronques" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" -msgstr "compl : l'argument n'est pas numérique" +msgstr "compl: argument n'est pas numrique" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" -msgstr "compl(%lf) : les valeurs négatives donneront des résultats inattendus" +msgstr "compl(%lf): valeurs ngatives donneront d'tranges rsultats" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" -msgstr "compl(%lf) : les valeurs non entières seront tronquées" +msgstr "compl(%lf): valeurs fractionnaires seront tronques" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" -msgstr "dcgettext : « %s » n'est pas dans un catégorie valide de la locale" +msgstr "dcgettext: %s n'est pas dans un catgorie de localisation valide" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" -msgstr "type de nœud %d inconnu" +msgstr "type de noeud inconnu %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" -msgstr "débordement de tampon dans genflag2str" +msgstr "dbordement de tampo dans genflag2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" -msgstr "tentative d'utilisation du tableau « %s » dans un contexte scalaire" +msgstr "tentative d'utilisation du tableau %s dans un contexte scalaire" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" -msgstr "boucle for : la taille du tableau « %s » est passée de %ld à %ld" +msgstr "" +"for loop: tableau %s a chang de taille de %ld %ld durant l'excution " +"de la boucle" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" -msgstr "« break » hors d'une boucle n'est pas portable" +msgstr " break en dehors de la boucle n'est pas portable" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" -msgstr "« break » est interdit en dehors d'une boucle" +msgstr " break en dehors de la boucle n'est pas permis" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" -msgstr "« continue » hors d'une boucle n'est pas portable" +msgstr " continue en dehors de la boucle n'est pas portable" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" -msgstr "« continue » est interdit en dehors d'une boucle" +msgstr " continue en dehors de la boucle n'est pas permis" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" -msgstr "« next » ne peut être appelé depuis une règle BEGIN" +msgstr " next ne peut tre appel depuis une rgle BEGIN" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" -msgstr "« next » ne peut être appelé depuis une règle END" +msgstr " next ne peut tre appel depuis une rgle END" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr " next ne peut tre appel depuis une rgle BEGIN" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr " next ne peut tre appel depuis une rgle END" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" -msgstr "« nextfile » ne peut être appelé depuis une règle BEGIN" +msgstr " nextfile ne peut tre appel depuis une rgle BEGIN" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" -msgstr "« nextfile » ne peut être appelé depuis une règle END" +msgstr " nextfile ne peut tre appel depuis une rgle END" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr " nextfile ne peut tre appel depuis une rgle END" + +#: eval.c:963 msgid "statement has no effect" -msgstr "la déclaration est sans effet" +msgstr "la dclaration n'a aucun effet" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" -msgstr "impossible d'utiliser la fonction « %s » comme variable ou tableau" +msgstr "ne peut utiliser le nom de la fonction %s comme variable ou tableau" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" -msgstr "référence à un argument non initialisé « %s »" +msgstr "rfrence un argument non initialis %s " -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" -msgstr "référence à une variable non initialisée « %s »" +msgstr "rfrence une variable non initialise %s " -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "" -"concaténation : un effet secondaire de l'une des expressions à modifié la " -"longueur d'une autre !" +"concatnation: effects de bord dans une expression a modifi la longueur " +"d'une autre!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" -msgstr "affectation utilisée dans un contexte conditionnel" +msgstr "affectation utilis dans un contexte conditionnel" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" -msgstr "tentative de division par zéro" +msgstr "tentative de division par zro" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" -msgstr "type illégal (%s) dans tree_eval" +msgstr "type illgal (%s) dans tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" -msgstr "tentative de division par zéro dans « /= »" +msgstr "tentative de division par zro dans /= " -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" -msgstr "tentative de division par zéro dans « %%= »" +msgstr "tentative de division par zro dans %%= " -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" -msgstr "la fonction « %s » a été appelée avec trop d'arguments" +msgstr "fonction %s appele avec plus d'arguments que dclares" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" -msgstr "fonction « %s » non définie" +msgstr "fonction %s non dfinie" + +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" -#: eval.c:1983 +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -965,711 +1024,758 @@ msgid "" "\n" msgstr "" "\n" -"\t# Pile des appels de fonctions :\n" +"\t# Appel d'une fonction sur la pile:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" -msgstr "\t# -- programme principal --\n" +msgstr "#t# -- main --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" -msgstr "tentative de référence à un champ via une valeur non numérique" +msgstr "tentative de rfrence un champ partir d'une valeur non numrique" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" -msgstr "tentative de référence à un champ via une chaîne nulle" +msgstr "tentative de rfrence partir d'une chane nulle" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" -msgstr "tentative d'accès au champ %d" +msgstr "tentative d'accs du champ %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" -msgstr "impossible d'affecter au résultat d'une fonction interne" +msgstr "" +"l'affectation n'est pas permise pour obtenir un rsultat d'une fonction " +"interne" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" -msgstr "« IGNORECASE » est une extension gawk" +msgstr " IGNORECASE est une extension de gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" -msgstr "« BINMODE » est une extension gawk" +msgstr " BINMODE est une extension de gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" -msgstr "la valeur « %s » de BINMODE n'est pas valide, 3 utilisé à la place" +msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" -msgstr "spécification de « %sFMT » erronée « %s »" +msgstr " %sFMT spcification errone %s " -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" -msgstr "désactivation de « --lint » en raison d'une affectation à « LINT »" +msgstr "dsactivation --lint en raison d'une affectation LINT " + +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" -#: ext.c:62 ext.c:67 +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" -msgstr "« extension » est une extension de gawk" +msgstr " extension est une extension de gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" -msgstr "extension : impossible d'ouvrir « %s » (%s)\n" +msgstr "extension: ne peut ouvrir %s (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" -msgstr "" -"extension : bibliothèque « %s » : impossible d'appeler la fonction « %s » (%" -"s)\n" +msgstr "extension: librairie %s : ne peut appeler la fonction %s (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" -msgstr "extension : nom de fonction manquant" +msgstr "extension: nom de fonction manquant" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" -msgstr "extension : caractère illégal « %c » dans le nom de la fonction « %s »" +msgstr "extension: caractre illgal %c dans le nom de la fonction %s " -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" -msgstr "extension : impossible de redéfinir la fonction « %s »" +msgstr "extension: ne peut redfinir la fonction %s " -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" -msgstr "extension : fonction « %s » est déjà définie" +msgstr "extension: fonction %s est dj dfinie" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" -"extension : impossible d'utiliser la fonction interne gawk « %s » comme nom " -"de fonction" +"extension: ne peut utilis la fonction interne gawk %s comme nom de " +"fonction" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" -msgstr "extension : nom de la fonction « %s » déjà défini" +msgstr "extension: nom de la fonction %s dfinie prcdemment" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" -msgstr "fonction « %s » définie comme ayant au maximum« %d » argument(s)" +msgstr "" +"fonction %s est dfinie pour ne prendre pas plus de %d argument(s)" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" -msgstr "fonction « %s » : argument #%d manquant" +msgstr "fonction %s : argument #%d manquant" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" -"fonction « %s » : argument #%d : tentative d'utilisation d'un scalaire comme " +"fonction %s : argument #%d: tentative d'utilisation du scalaire comme un " "tableau" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" -"fonction « %s » : argument #%d : tentative d'utiliser un tableau comme " +"fonction %s : argument #%d: tentative d'utiliser un tableau comme un " "scalaire" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" -msgstr "Opération non disponible" +msgstr "Opration non supporte" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" -msgstr "une valeur négative a été assignée à NF" +msgstr "NF initialis avec une valeur ngative" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" -msgstr "split : le second argument n'est pas un tableau" +msgstr "split: 2e argument n'est pas un tableau" + +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: 3e argument est une extension de gawk" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: 2e argument n'est pas un tableau" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" +msgstr "split: chane vide pour le 3e argument est une extension de gawk" + +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: 2e argument n'est pas un tableau" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" -msgstr "split : utiliser une chaîne vide en 3e argument est une extension gawk" +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: 2e argument n'est pas un tableau" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: le 3e argument n'est pas un tableau" -#: field.c:961 +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" -msgstr "« FIELDWIDTHS » est une extension gawk" +msgstr " FIELDWIDTHS est une extension de gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" -msgstr "valeur de FIELDWIDTHS non valide, près de « %s »" +msgstr "valeur de FIELDWIDTHS invalide, prs de `%s'" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" -msgstr "utiliser une chaîne vide pour « FS » est une extension gawk" +msgstr "chane vide pour FS est une extension de gawk" -#: field.c:1092 +#: field.c:1242 +#, fuzzy msgid "old awk does not support regexps as value of `FS'" -msgstr "" -"l'ancien awk n'accepte pas les expr. rationnelles comme valeur de « FS »" +msgstr "l'ancien awk ne supporte pas l'oprateur ** " + +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr " %s est une extension de gawk" #: getopt.c:574 getopt.c:590 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" -msgstr "%s : l'option « %s » est ambiguë\n" +msgstr "%s: option %s est ambigu\n" #: getopt.c:623 getopt.c:627 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s : l'option « --%s » n'accepte pas d'argument\n" +msgstr "%s: option --%s n'admet pas d'arguement\n" #: getopt.c:636 getopt.c:641 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s : l'option « %c%s » n'accepte pas d'argument\n" +msgstr "%s: l'option %c%s ne requiert pas d'arguement\n" #: getopt.c:684 getopt.c:703 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s : l'option « --%s » nécessite un argument\n" +msgstr "%s: l'option %s requiert un argument\n" #: getopt.c:741 getopt.c:744 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s : option non reconnue « --%s »\n" +msgstr "%s: option non reconnue --%s \n" #: getopt.c:752 getopt.c:755 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s : option non reconnue « %c%s »\n" +msgstr "%s: option non reconnue %c%s \n" #: getopt.c:804 getopt.c:807 -#, c-format +#, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s : option non valide -- « %c »\n" +msgstr "%s: option invalide -- %c\n" #: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100 -#, c-format +#, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s : l'option requiert un argument -- « %c »\n" +msgstr "%s: l'option requiert un arguement -- %c\n" #: getopt.c:930 getopt.c:946 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s : l'option « -W %s » est ambiguë\n" +msgstr "%s: l'option -W %s est ambigu\n" #: getopt.c:970 getopt.c:988 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s : l'option « -W %s » n'accepte pas d'argument\n" +msgstr "%s: l'option -W %s ne requiert pas d'arguement\n" #: getopt.c:1009 getopt.c:1027 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s : l'option « -W %s » nécessite un argument\n" +msgstr "%s: l'option %s requiert un argument\n" + +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" -#: io.c:322 io.c:352 +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" -msgstr "impossible d'ouvrir le fichier « %s » en lecture (%s)" +msgstr "ne peut ouvrir le fichier %s en lecture (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "erreur lors de la lecture du fichier source %s : %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" -msgstr "échec de la fermeture du fd %d (« %s ») : %s" +msgstr "fermeture de fd %d ( %s ) en chec (%s)" + +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" -#: io.c:583 +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" -msgstr "type d'arbre %s non valide dans redirect()" +msgstr "type d'arbre invalide %s dans redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" -msgstr "l'expression dans la redirection « %s » n'a qu'une valeur numérique" +msgstr "" +"l'expression de la redirection de %s a seulement une valeur numrique" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" -msgstr "l'expression dans la redirection « %s » donne une chaîne nulle" +msgstr "" +"l'expression de la redirection de %s a une valeur nulle pour la chane" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" -"le fichier « %s » de la redirection « %s » pourrait être le résultat d'une " -"expression booléenne" +"nom de fichier %s pour le redirection %s peut tre le rsultat d'une " +"expression logique" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" -msgstr "mélange non nécessaire de « > » et « >> » pour le fichier « %.*s »" +msgstr "mlange non ncessaire de > et de >> pour le fichier %.*s " -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" -msgstr "impossible d'ouvrir le tube « %s » en sortie (%s)" +msgstr "ne peut ouvrir un pipe %s en sortie (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" -msgstr "impossible d'ouvrir le tube « %s » en entrée (%s)" +msgstr "ne peut ouvrir un pipe %s en entre (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "" -"impossible d'ouvrir un tube bidirectionnel « %s » en entrées-sorties (%s)" +"ne peut ouvrir un pipe bidirectionnel %s pour les entres/sorties (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" -msgstr "impossible de rediriger depuis « %s » (%s)" +msgstr "ne peut rediriger de %s (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" -msgstr "impossible de rediriger vers « %s » (%s)" +msgstr "ne peut rediriger vers %s (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" -"limite système du nombre de fichiers ouverts atteinte : début du " -"multiplexage des descripteurs de fichiers" +"limite systme atteinte pour l'ouverture des fichiers: dbut du multiplexage " +"des descripteurs de fichiers" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." -msgstr "échec de la fermeture de « %s » (%s)" +msgstr "fermeture de %s en chec (%s)" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" -msgstr "trop de fichiers d'entrées ou de tubes ouverts" +msgstr "trop de pipes ou de fichiers en lecture ouverts" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" -msgstr "close : le second argument doit être « to » ou « from »" +msgstr "close: 2e argument doit tre to ou from " -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" -msgstr "" -"close : « %.*s » n'est ni un fichier ouvert, ni un tube ou un co-processus" +msgstr "close: %.*s n'est pas ni un fichier ouvert, pipe ou co-processus" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" -msgstr "fermeture d'une redirection qui n'a jamais été ouverte" +msgstr "fermeture de la redirection qui n'a jamais t ouverte" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" -"close : la redirection « %s » n'a pas été ouverte avec « |& », second argument " -"ignoré" +"close: redirection %s n'a pas t ouverte ave |& 2e argument ignor" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" -msgstr "résultat d'échec (%d) sur la fermeture du tube « %s » (%s)" +msgstr "constat d'chec (%d) lors de la fermeture du pipe %s (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" -msgstr "résultat d'échec (%d) sur la fermeture du fichier « %s » (%s)" +msgstr "constat d'chec (%d) lors de la fermeture du fichier %s (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" -msgstr "aucune fermeture explicite du connecteur « %s » fournie" +msgstr "aucune fermeture explicite du socket %s fournie" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" -msgstr "aucune fermeture explicite du co-processus « %s » fournie" +msgstr "aucune fermeture explicite du co-processus %s fournie" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" -msgstr "aucune fermeture explicite du tube « %s » fournie" +msgstr "aucune fermeture explicite du pipe %s fournie" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" -msgstr "aucune fermeture explicite du fichier « %s » fournie" +msgstr "aucune fermeture explicite du fichier %s fournie" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" -msgstr "erreur lors de l'écriture vers la sortie standard (%s)" +msgstr "erreur lors de l'criture vers stdout (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" -msgstr "erreur lors de l'écriture vers l'erreur standard (%s)" +msgstr "erreur lors de l'criture vers stderr (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." -msgstr "échec du vidage du tube « %s » (%s)." +msgstr "vidange du pipie de %s en chec (%s)" -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." -msgstr "échec du vidage du tube vers « %s » par le co-processus (%s)." +msgstr "vidange du pipe par le co-processus vers %s en chec (%s)" -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." -msgstr "échec du vidage vers le fichier « %s » (%s)" +msgstr "vidange du fichier %s en chec (%s)" -#: io.c:1222 -#, c-format +#: io.c:1292 +#, fuzzy, c-format msgid "local port %s invalid in `/inet'" -msgstr "le port local %s n'est pas valide dans « /inet »" +msgstr "port local invalide dans %s " -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -"les informations sur l'hôte et le port distants (%s, %s) ne sont pas valides" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" -msgstr "le client /inet/raw n'est pas encore prêt, désolé" +msgstr "le client /inet/raw n'est pas encore prt, dsol" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." -msgstr "seul root peut utiliser « /inet/raw »" +msgstr "seul root peut utiliser /inet/raw " -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" -msgstr "le serveur /inet/raw n'est pas encore prêt, désolé" +msgstr "le serveur /inet/raw n'est pas encore prt, dsol" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" -msgstr "" -"aucun protocole (connu) n'a été fourni dans le nom de fichier spécial « %s »" +msgstr "aucun protocole (connu) fourni dans le nom de fichier spcial %s " -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" -msgstr "nom de fichier spécial « %s » incomplet" +msgstr "nom spcial de fichier %s est incomplet" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" -msgstr "un nom d'hôte distant doit être fourni à « /inet »" +msgstr "un nom de hte distant doit tre fourni /inet " -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" -msgstr "un port distant doit être fourni à « /inet »" +msgstr "un port distant doit tre fournis /inet " -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" -msgstr "les communications TCP/IP ne sont pas disponibles" - -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "le fichier « %s » est un répertoire" +msgstr "les communications TCP/IP ne sont pas supportes" -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "utilisez « PROCINFO[\"%s\"] » au lieu de « %s »" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "utlisez « PROCINFO[\"%s\"] » au lieu de « /dev/user »" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" -msgstr "impossible d'ouvrir « %s », mode « %s »" +msgstr "ne peut ouvrir %s , mode %s " -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" -msgstr "échec de la fermeture du pty maître (%s)" +msgstr "chec de la fermeture du pty matre (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" -msgstr "échec de la fermeture de stdout du processus fils (%s)" +msgstr "chec de fermeture de stdout du processus fils (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" -"échec du déplacement du pty esclave vers le stdout du processus fils (dup : %" -"s)" +"chec de redirection de pty esclave vers stdout du processus fils (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" -msgstr "échec de fermeture du stdin du processus fils (%s)" +msgstr "chec de fermeture de stdin du processus fils (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" -"échec du déplacement du pty esclave vers le stdin du processus fils (dup : %" -"s)" +"chec de redirection du pty esclave vers stdin du processus fils (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" -msgstr "échec de la fermeture du pty esclave (%s)" +msgstr "chec de la fermeture du pty esclave (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" -msgstr "échec du déplacement du tube vers stdout du processus fils (dup : %s)" +msgstr "chec de redirection du pipe vers stdout du processus fils (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" -msgstr "échec de déplacement du tube vers stdin du processus fils (dup : %s)" +msgstr "chec de redirection du pipe vers stdin du processus fils (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" -msgstr "échec de la restauration du stdout dans le processus parent\n" +msgstr "restauration de stdout par le processus parent a chou\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" -msgstr "échec de la restauration du stdin dans le processus parent\n" +msgstr "restauration de stdin par le processus parent a chou\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" -msgstr "échec de la fermeture du tube (%s)" +msgstr "chec de la fermeture du pipe (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" -msgstr "« |& » non disponible" +msgstr " |& non support" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" -msgstr "impossible d'ouvrir le tube « %s » (%s)" +msgstr "ne ouvrir un pipe %s (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" -msgstr "impossible de créer le processus fils pour « %s » (fork : %s)" +msgstr "ne crer le processus fils pour %s (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" -msgstr "le fichier de données « %s » est vide" +msgstr "le fichier de donnes %s est vide" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" -msgstr "impossible d'allouer plus de mémoire d'entrée" +msgstr "ne peut allouer plus de mmoire pour l'entre" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "erreur lors de la lecture du fichier en entrée « %s » : %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" -msgstr "" -"l'utilisation d'un « RS » de plusieurs caractères est une extension gawk" +msgstr "valeur de RS avec multiple caractres est une extension gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "mémoire épuisée" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" -msgstr "l'option « -m[fr] » n'est pas pertinente en gawk" +msgstr " -m[fr] est une option non pertinente en gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" -msgstr "utilisation de l'option « -m » : « -m[fr] nnn »" +msgstr "-m usage de l'option: -m[fr] nnn " -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "argument vide l'option --source , ignore" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" -msgstr "%s : option « -W %s » non reconnue, ignorée\n" +msgstr "%s: l'option -W %s n'est pas reconnue, ignore\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "argument de l'option « --source » vide, ignorée" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" -msgstr "%s : l'option requiert un argument -- %c\n" +msgstr "%s: l'option requiert un arguement -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "" -"variable d'environnement « POSIXLY__CORRECT » définie : activation de « --" -"posix »" +"variable d'environnement POSIXLY__CORRECT initialise: utilisation de --" +"posix " -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" -msgstr "« --posix » prend le pas sur « --traditional »" +msgstr " --posix crase --traditional " -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" -msgstr "" -"« --posix » et « --traditional » prennent le pas sur « --non-decimal-data »" +msgstr " --posix / --traditional crase --non-decimal-data " -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "" -"l'exécution de %s en mode setuid root peut être un problème de sécurité" +"excution de %s en mode setuid root peut causer un problme de scurit" + +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr " --posix crase --traditional " -#: main.c:571 +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" -msgstr "impossible d'activer le mode binaire sur stdin (%s)" +msgstr "ne peut initialiser le mode binaire sur stdin (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" -msgstr "impossible d'activer le mode binaire sur stdout (%s)" +msgstr "ne peut initialiser le mode binaire sur stdout (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" -msgstr "impossible d'activer le mode binaire sur stderr (%s)" +msgstr "ne peut initialiser le mode binaire sur stderr (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" -msgstr "aucun programme !" +msgstr "aucun programme!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" -"Utilisation : %s [options GNU ou POSIX] -f fichier_prog [--] fichier ...\n" +"Usage: %s [style des options POSIX ou GNU] -f fichierprog [--] fichier ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" -"Utilisation : %s [options GNU ou POSIX] [--] %cprogramme%c fichier ...\n" +"Usage: %s [style des options POSIX ou GNU] [--] %cprogram%c fichier ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" -msgstr "Options POSIX :\t\tOptions longues GNU :\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" +msgstr "Options POSIX:\t\toptions de long format GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" -msgstr "\t-f fichier_prog\t\t--file=fichier_prog\n" +msgstr "\t-f fichierprog\t\t--file=fichierprog\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" -msgstr "\t-F fs\t\t\t--field-separator=fs\n" +msgstr "#t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" -msgstr "\t-v var=valeur\t\t--assign=var=valeur\n" +msgstr "#t-v var=valeur\t\t--assign=var=valeur\n" + +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "Options POSIX:\t\toptions de long format GNU:\n" -#: main.c:732 +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] valeur\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "\t-O\t\t\t--optimize\n" - -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=fichier]\t--dump-variables[=fichier]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=program-text\t--source=program-text\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=fichier\t\t--exec=fichier\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=fichier]\t--profile[=fichier]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source='programme'\t--source='programme'\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1677,34 +1783,31 @@ msgid "" "\n" msgstr "" "\n" -"Pour signaler une anomalie, consultez la section « Bugs » du fichier\n" -"« gawk.info », qui est dans la section « Reporting Problems and Bugs »\n" -"de la version imprimée.\n" -"Pour signaler une erreur de traduction, envoyez un message à la liste\n" -"<traduc CHEZ traduc POINT org>.\n" -"\n" +"Pour rapporter une anomalies, voir la section Bugs dans gawk.info de " +"la section\n" +" Problems and Bugs dans la version imprime.\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" "\n" msgstr "" -"gawk est un langage de recherche et de traitement des motifs.\n" -"Par défaut, il lit l'entrée standard et écrit sur la sortie standard.\n" +"gawk est un langage de gtraitement et de scrutation de patrons de chanes.\n" +"Par dfaut, il lit de l'entre standard et crit sur la sortie standard.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" msgstr "" -"Exemples :\n" -"\tgawk '{ somme += $1 }; END { print somme }' fichier\n" +"Exemples:\n" +"\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1715,16 +1818,15 @@ msgid "" "(at your option) any later version.\n" "\n" msgstr "" -"Copyright © 1998, 1991-%d Free Software Foundation.\n" +"Copyright 1998, 1991-%d Free Software Foundation, Inc.\n" "\n" -"Ce programme est un logiciel libre ; vous pouvez le redistribuer et le\n" -"modifier selon les termes de la Licence publique générale GNU [GNU\n" -"General Public License], telle que publiée par la Free Software\n" -"Foundation ; soit selon la version 3 de cette licence, soit selon une\n" -"version ultérieure de votre choix.\n" +"Ce programme est un logiciel libre; vous pouvez le redistribuer ou le\n" +"modifier selon les termes de la License Publique Gnrale de GNU, publie\n" +"par la Free Software Foundation; soit la version 3 de la Licence ou,\n" +"soit (selon vos prfrences) toute version ultrieure.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1732,113 +1834,123 @@ msgid "" "GNU General Public License for more details.\n" "\n" msgstr "" -"Ce logiciel est distribué en espérant qu'il sera utile, mais SANS AUCUNE\n" -"GARANTIE, y compris les garanties implicites D'ADAPTATION À UN BUT\n" -"SPÉCIFIQUE et de COMMERCIALISATION. Pour plus d'informations à ce\n" -"sujet, consultez le texte de la Licence publique générale GNU [GNU\n" -"General Public License].\n" -"\n" - -#: main.c:813 +"Ce logiciel est distribu en esprant qu'il soit utile,\n" +"mais sans AUCUNE garantie; sans la garantie lie des raisons\n" +"COMMERCIALES ou pour RPONDRE UN BESOIN PARTICULIER.\n" +"selon les termes de la GNU General Public License .\n" +"Pour plus d'informations ce sujet, consulter la GNU General Public " +"License .\n" + +#: main.c:864 +#, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" msgstr "" -"Vous devriez avoir reçu copie de la Licence publique générale de GNU\n" -"[GNU General Public License] avec ce programme. Sinon, consultez\n" -"http://www.gnu.org/licenses/.\n" +"Vous devriez avoir reu copie de la Licence Publique Gnrale de GNU\n" +"avec ce programme; sinon, sinon crire la Free Software Foundation, Inc.,\n" +"51 Franklin Street, FIth Floor, Boston, MA 02110-1301, USA.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" -msgstr "-Ft ne définit pas le FS comme étant une tabulation en awk POSIX" +msgstr "" +"-Ft ne permet pas d'initialiser FS un tabulateur dans la version POSIX de " +"awk" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "" -"%s : « %s » l'argument de « -v » ne respecte pas la forme « var=valeur »\n" +"%s: %s argument pour -v n'utilise pas la formulation var=valeur \n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" -msgstr "« %s » n'est pas un nom de variable valide" +msgstr " %s n'est pas un nom lgal de variable" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" -msgstr "« %s » n'est pas un nom de variable, recherche du fichier « %s=%s »" +msgstr " %s n'est pas un nom de variable, recherche du fichier %s=%s " -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" -msgstr "exception du traitement en virgule flottante" +msgstr "exception de la virgule flottante" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" -msgstr "erreur fatale : erreur interne" +msgstr "erreur fatale: erreur interne" -#: main.c:1206 +#: main.c:1260 +#, fuzzy msgid "fatal error: internal error: segfault" -msgstr "erreur fatale : erreur interne : erreur de segmentation" +msgstr "erreur fatale: erreur interne" -#: main.c:1218 +#: main.c:1272 +#, fuzzy msgid "fatal error: internal error: stack overflow" -msgstr "erreur fatale : erreur interne : débordement de la pile" +msgstr "erreur fatale: erreur interne" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" -msgstr "aucun descripteur fd %d pré-ouvert" +msgstr "aucun fd pr-ouvert pour %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" -msgstr "impossible de pré-ouvrir /dev/null pour le descripteud fd %d" +msgstr "ne peut pr-ouvrir /dev/null pour le descripteud fd %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" -msgstr "impossible de trouver les groupes : %s" +msgstr "n'a pu trouv les groupes: %s" #: msg.c:54 #, c-format msgid "cmd. line:" -msgstr "ligne de commande :" +msgstr "cmd. ligne:" #: msg.c:120 msgid "warning: " -msgstr "avertissement : " +msgstr "AVERTISSEMENT:" #: msg.c:142 msgid "error: " -msgstr "erreur : " +msgstr "Erreur: " #: msg.c:178 msgid "fatal: " -msgstr "erreur fatale : " +msgstr "Fatal: " #: node.c:63 node.c:78 node.c:105 node.c:121 node.c:151 msgid "can't convert string to float" -msgstr "impossible de convertir la chaîne en nombre flottant" +msgstr "ne peut convertir la chane en nombre flottant" #: node.c:465 msgid "backslash at end of string" -msgstr "barre oblique inverse à la fin de la chaîne" +msgstr "barre oblique inverse la fin de la chane" #: node.c:609 -#, c-format +#, fuzzy, c-format msgid "old awk does not support the `\\%c' escape sequence" -msgstr "l'ancien awk ne dispose pas de la séquence d'échappement « \\%c »" +msgstr "l'ancien awk ne supporte pas l'oprateur ** " #: node.c:660 msgid "POSIX does not allow `\\x' escapes" -msgstr "POSIX n'autorise pas les séquences d'échappement « \\x »" +msgstr "POSIX ne permet pas de squence d'chappement \\x " #: node.c:666 msgid "no hex digits in `\\x' escape sequence" -msgstr "aucun chiffre hexadécimal dans la séquence d'échappement « \\x » " +msgstr "aucun chiffre hexadcimal dans la squence d'chappement \\x " #: node.c:688 #, c-format @@ -1846,92 +1958,113 @@ msgid "" "hex escape \\x%.*s of %d characters probably not interpreted the way you " "expect" msgstr "" -"la séquence d'échappement hexa. \\x%.*s de %d caractères ne sera " -"probablement pas interprétée comme vous l'imaginez" #: node.c:703 #, c-format msgid "escape sequence `\\%c' treated as plain `%c'" -msgstr "séquence d'échappement « \\%c » traitée comme un simple « %c »" +msgstr "squence d'chappement \\%c traite simplement comme %c " #: posix/gawkmisc.c:172 #, c-format msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)" -msgstr "%s %s « %s »: impossible de positionner close-on-exec: (fcntl: %s)" +msgstr "%s %s %s : ne peut initialiser close-on-exec: (fcntl: %s)" #: profile.c:94 #, c-format msgid "could not open `%s' for writing: %s" -msgstr "impossible d'ouvrir « %s » en écriture : %s" +msgstr "ne peut ouvrir %s en criture: %s" #: profile.c:457 #, c-format msgid "internal error: %s with null vname" -msgstr "erreur interne : %s avec un vname nul" +msgstr "erreur interne: %s avec un vname nul" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" -msgstr "# traité en interne comme un « delete »" +msgstr "# trait de manire interne comme delete " -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" -msgstr "# ceci est une fonction d'extension chargée dynamiquement" +msgstr "# cela est un extension d'une fonction charge dynamiquement" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" -msgstr "\t# profile gawk, créé %s\n" +msgstr "\t# profile gawk, cr %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" "\n" msgstr "" -"\t# Bloc(s) BEGIN\n" +"#t# DBUT de bloc(s)\n" +"\n" + +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"#t# DBUT de bloc(s)\n" "\n" -#: profile.c:1117 +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" "\n" msgstr "" -"\t# Règle(s)\n" +"\t# Rgle(s)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# FIN de bloc(s)\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" "\n" msgstr "" -"\t# Bloc(s) END\n" +"\t# FIN de bloc(s)\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" "\t# Functions, listed alphabetically\n" msgstr "" "\n" -"\t# Fonctions, par ordre alphabétique\n" +"\t# Liste alphabtique des fonctions\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "type %s inattendu dans prec_level" -#: profile.c:1527 -#, c-format +#: profile.c:1557 +#, fuzzy, c-format msgid "Unknown node type %s in pp_var" -msgstr "Type de nœud inconnu %s dans pp_var" +msgstr "type de noeud inconnu %d" + +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" #: regcomp.c:132 msgid "Success" -msgstr "Succès" +msgstr "Succs" #: regcomp.c:135 msgid "No match" @@ -1939,154 +2072,172 @@ msgstr "Aucune concordance" #: regcomp.c:138 msgid "Invalid regular expression" -msgstr "Expression rationnelle non valide" +msgstr "Expression rgulire invalide" #: regcomp.c:141 msgid "Invalid collation character" -msgstr "Caractère d'interclassement non valide" +msgstr "Caractre de collation invalide" #: regcomp.c:144 msgid "Invalid character class name" -msgstr "Nom de classe de caractères non valide" +msgstr "Nom de classe de caractres invalide" #: regcomp.c:147 msgid "Trailing backslash" -msgstr "Barre oblique inverse finale" +msgstr "Barre oblique inverse de terminaison" #: regcomp.c:150 msgid "Invalid back reference" -msgstr "Référence arrière non valide" +msgstr "Mauvaise rfrence arrire" #: regcomp.c:153 msgid "Unmatched [ or [^" -msgstr "[ ou [^ sans correspondance" +msgstr "Non appariement de [ ou [^" #: regcomp.c:156 msgid "Unmatched ( or \\(" -msgstr "( ou \\( sans correspondance" +msgstr "Non appariement de ( ou \\(" #: regcomp.c:159 msgid "Unmatched \\{" -msgstr "\\{ sans correspondance" +msgstr "Non appariement de \\{" #: regcomp.c:162 msgid "Invalid content of \\{\\}" -msgstr "Contenu de \\{\\} non valide" +msgstr "Contenu invalide de \\{\\}" #: regcomp.c:165 msgid "Invalid range end" -msgstr "Borne finale non valide" +msgstr "Borne finale invalide" #: regcomp.c:168 msgid "Memory exhausted" -msgstr "Mémoire épuisée" +msgstr "Mmoire puise" #: regcomp.c:171 msgid "Invalid preceding regular expression" -msgstr "Expression rationnelle précédente non valide" +msgstr "Expression rgulire prcdente invalide" #: regcomp.c:174 msgid "Premature end of regular expression" -msgstr "Fin prématurée de l'expression rationnelle" +msgstr "Fin prmature de l'expression rgulire" #: regcomp.c:177 msgid "Regular expression too big" -msgstr "Expression rationnelle trop grande" +msgstr "Expression rgulire trop grande" #: regcomp.c:180 msgid "Unmatched ) or \\)" -msgstr ") ou \\) sans correspondance" +msgstr "Non appariement de ) ou \\)" #: regcomp.c:699 msgid "No previous regular expression" -msgstr "Aucune expression rationnelle précédente" +msgstr "Aucune expression rgulire antrieure" + +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: option illgale -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "le fichier %s est un rpertoire" #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "" -#~ "impossible d'ouvrir un connecteur bidirectionnel « %s » en entrées-sorties " -#~ "(%s)" +#~ "ne peut ouvrir un socket bidirectionnel %s pour les entres/sorties (%" +#~ "s)" -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s : option illégale -- %c\n" +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" #, fuzzy -#~ msgid "remote port invalid in `%s'" -#~ msgstr "port local non valide dans « %s »" +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: aucun argument" #, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: %.*s n'est pas ni un fichier ouvert, pipe ou co-processus" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: %.*s n'est pas ni un fichier ouvert, pipe ou co-processus" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr " %s n'est pas un nom lgal de variable" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "utliser PROCINFO[\"%s\"] au lieu de %s " + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "utliser PROCINFO[\"%s\"] au lieu de /dev/user " + #~ msgid "function %s called\n" -#~ msgstr "fonction « %s » non définie" +#~ msgstr "fonction %s appele\n" #~ msgid "field %d in FIELDWIDTHS, must be > 0" -#~ msgstr "champ %d dans FIELDWIDTHS, doit être > 0" +#~ msgstr "champ %d dans FIELDWIDTHS, doit tre > 0" -#, fuzzy #~ msgid "delete: illegal use of variable `%s' as array" -#~ msgstr "tentative d'utiliser le scalaire « %s » comme tableau" +#~ msgstr "" +#~ "destruction: utilisation illgale d'une variable %s comme tableau" -#, fuzzy #~ msgid "asort: first argument is not an array" -#~ msgstr "match : le 3e argument n'est pas un tableau" +#~ msgstr "asort(): le premier argument n'est pas dans le tableau" -#, fuzzy #~ msgid "asort: second argument is not an array" -#~ msgstr "split : 2e argument n'est pas un tableau" +#~ msgstr "asort(): le scond argument n'est pas dans le tableau" -#, fuzzy #~ msgid "" #~ "\n" #~ "To report bugs, see node `Bugs' in `gawk.info', which is\n" #~ msgstr "" #~ "\n" -#~ "Pour signaler une anomalie, consultez la section « Bugs » du\n" -#~ "fichier « gawk.info », qui est dans la section « Problems and Bugs »\n" -#~ "de la version imprimée.\n" -#~ "Pour signaler une erreur de traduction, envoyez un message à la\n" -#~ "liste <traduc CHEZ traduc POINT org>.\n" -#~ "\n" +#~ "Pour rapporter une anomalie, voir Bugs dans gawk.info , dans la\n" #~ msgid "invalid syntax in name `%s' for variable assignment" -#~ msgstr "syntaxe invalide dans le nom « %s » pour l'affectation de variable" +#~ msgstr "syntaxe invalide dans le nom %s pour l'affectation de variable" -#, fuzzy #~ msgid "internal error: Node_var_array with null vname" -#~ msgstr "erreur interne: %s avec un vname nul" +#~ msgstr "erreur interne: Node_var_array avec un vname nul" -#, fuzzy #~ msgid "or used in other expression context" -#~ msgstr "« return » est utilisé hors du contexte d'une fonction" +#~ msgstr "ou utilise dans un autre contexte d'expression" -#, fuzzy #~ msgid "`%s' is a function, assignment is not allowed" -#~ msgstr "« %s » est une fonction interne, elle ne peut être redéfinie" +#~ msgstr " %s est une fonction, l'affectation n'est pas permise" -#, fuzzy #~ msgid "BEGIN blocks must have an action part" -#~ msgstr "les blocs %s doivent avoir une partie action" +#~ msgstr "Les blocs de DBUT doitvent avoir une partie action" -#, fuzzy #~ msgid "`nextfile' used in BEGIN or END action" -#~ msgstr "« %s » est utilisé dans l'action %s" +#~ msgstr " nextfile utilis dans l'action BEGIN ou END" -#, fuzzy #~ msgid "non-redirected `getline' undefined inside BEGIN or END action" -#~ msgstr "un « getline » non redirigé n'est pas défini dans une action END" +#~ msgstr "" +#~ " getline non redirig indfini l'intrieur de l'action BEGIN ou END" #~ msgid "fptr %x not in tokentab\n" #~ msgstr "fptr %x n'est pas dans la table des jetons\n" -#, fuzzy #~ msgid "gsub third parameter is not a changeable object" -#~ msgstr "le 3e paramètre de %s n'est pas un objet modifiable" +#~ msgstr "gsub: 3e paramtre n'est pas un objet interchangeable" #~ msgid "Unfinished \\ escape" -#~ msgstr "séquence d'échappement \\ non terminée" +#~ msgstr "squence d'chappement \\ non termine" #~ msgid "unfinished repeat count" -#~ msgstr "répétition de compteur non terminé" +#~ msgstr "rptition de compteur non termin" #~ msgid "malformed repeat count" -#~ msgstr "compteur de répétition mal composé" +#~ msgstr "compteur de rptition mal compos" #~ msgid "Unbalanced [" #~ msgstr "Non appariement de [" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.5h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2007-10-01 13:47-0500\n" "Last-Translator: Peadar Guiln <peadarog@oceanfree.net>\n" "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" @@ -75,326 +75,341 @@ msgstr "%s: is paraimadar \n" msgid "%s: array_ref to %s\n" msgstr "%s: tagairt_eagair do %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "t g le pirt ghnomhach ag blocanna %s" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "t g le patrn n pirt ghnomhach ag gach riail" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "n thacaonn sean-awk le rialacha iomadla `BEGIN' n `END'" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "is feidhm insuite `%s', n fidir a shainmhni" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "t cuma nta trchta C++ ar an dtairiseach `//', ach n nta trchta " -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "t cuma nta trchta C ar an dtairiseach `/%s/', ach n nta trchta " -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "seans nach mbeidh ifeacht ag an riteas" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "`%s' sid i ngnomh %s" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "is feabhschn gawk `nextfile'" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "`return' sid lasmuigh den chomhthacs feidhmeach" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "is digh gur chir go mbeadh an gnth `print' sa riail TS n CROCH scrofa " "mar `print \"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "is feabhschn gawk `delete array'" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "is feabhschn neamh-iniompartha tawk `delete(eagar)'" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "luachanna cs dbailte sa chorp laisce: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "`default' dbailte aimsithe sa chorp laisce" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "n oibronn pblnte dthreo ilchimeacha" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "slonn ionadaochta ar dhis an tsannachin" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "slonn ionadaochta ar chl na oibreoir `~' n `!~'" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "n thacaonn sean-awk le heochairfhocal `in' ach tar is `for'" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "slonn ionadaochta ar dhis na comparide" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "cianphort neamhbhail i `%s'" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "n shannadh `getline' neamhatreoraithe lasmuigh den ghnomh CROCH" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "n thacaonn sean-awk le heagair iltoiseacha" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "t glao `length' gan libn doiompartha" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "lochtaonn POSIX glao `length' gan libn" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "is feabhschn gawk `extension'" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "neamheagar sid mar eagar" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "slonn foscripte neamhbhail" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "lne nua n deireadh teaghrin gan choinne" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "tacs feidhmchlr folamh ar lne na n-orduithe" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "n fidir an comhad foinseach `%s' a oscailt chun lamh (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "n fidir an comhad foinseach `%s' a lamh (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "comhad foinseach `%s' folamh" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "n chrochnaonn an comhad foinseach le lne nua" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "crochnaonn regexp gan chrochn le `\\' ag an gcomhadchroch" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "%s: %d: n oibronn an mionathraitheoir tawk regex `/.../%c' i ngawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "n oibronn an mionathraitheoir tawk regex `/.../%c' i ngawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "slonn ionadaochta gan crochn" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "slonn ionadaochta gan crochn ag an gcomhadchroch" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "nl sid `\\ #...' mar leanint lne doiompartha" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "n clslais carachtar deireanach an lne" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "n cheadaonn POSIX an t-oibreoir `**='" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "n cheadaonn sean-awk an t-oibreoir `**='" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "n cheadaonn POSIX an t-oibreoir `**='" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "n cheadaonn sean-awk an t-oibreoir `**='" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "t an t-oibreoir `^=' gan tacaocht sa shean awk" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "t an t-oibreoir `^' gan tacaocht sa shean awk" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "teaghrn gan chrochn" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "carachtar neamhbhail '%c' sa slonn" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "is feabhschn gawk `%s'" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "is feabhschn Bell Labs `%s'" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "n cheadaonn POSIX `%s'" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "t `%s' gan tacaocht sa shean awk" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "deirtear go bhfuil `goto' dochrach!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d oiread argint neamhbhail le haghaidh %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "meaitseil: is feabhschn gawk an tr hargint" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: n bhonn aon ifeacht ag teaghrn litriil mar arg deireanach an ionada" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "n oibiacht athraitheach an tr paraimadar %s" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: is feabhschn gawk an dara hargint" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "t sid dcgettext(_\"...\") mcheart: bain amach an chad fhostroc" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "t sid dcgettext(_\"...\") mcheart: bain amach an chad fhostroc" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "feidhm `%s': is cip paraimadar #%d, `%s', den pharaimadar #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "feidhm `%s': leanann paraimadar `%s' athrg chomhchoiteann" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "norbh fhidir `%s' a oscailt chun scrobh (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "prifl seoladh go hearrid chaighdenach" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: theip ar an dn (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "glaodh dh uair ar shadow_funcs()!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "bh scthathrga ann." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "feidhm `%s': nl cead ainm feidhme a sid mar ainm paraimadar" -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "feidhm `%s': nl cead ainm feidhme a sid mar ainm paraimadar" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "ainm feidhme `%s' sainmhnithe cheana" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "glaodh ar an bhfeidhm `%s' nach bhfuil sainithe" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "t saini ag an bhfeidhm `%s' ach n ghlaodh " -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "tagann luach Boole de bharr n dtairiseach regexp don pharaimadar #%d" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -403,12 +418,12 @@ msgstr "" "glaodh feidhm `%s' le sps idir ainm agus `(',\n" "n sideadh mar athrg n mar eagar" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "iarracht roinnt le nialas a dhanamh i `/='" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "iarracht roinnt le nialas a dhanamh i `%%'" @@ -657,281 +672,327 @@ msgstr "mktime: n teaghrn an argint" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: fuarthas argint nach teaghrn " -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "tagairt d'athrg nach bhfuil tsaithe `$%d'" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: fuarthas argint nach teaghrn " -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: fuarthas argint nach teaghrn " -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: n huimhir an chad argint" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: n huimhir an dara hargint" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: fuarthas argint neamhuimhriil" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: fuarthas argint neamhuimhriil" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: fuarthas argint neamhuimhriil" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: n eagar an tr hargint" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: 3 hargint 0 sidte mar 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: n huimhir an chad argint" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: n huimhir an dara hargint" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): tiocfaidh tortha aisteacha as luachanna diltacha" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): teascfar luachanna codnacha" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): gheobhfar tortha aisteacha le luach iomlaoideach r-mhr" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: n huimhir an chad argint" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: n huimhir an dara hargint" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): gheobhfar tortha aisteacha le luachanna diltacha" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): teascfar luachanna codnacha" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): gheobhfar tortha aisteacha le luach iomlaoideach r-mhr" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: n huimhir an chad argint" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: n huimhir an dara hargint" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): gheobhfar tortha aisteacha le luachanna diltacha" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): teascfar luachanna codnacha" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: n huimhir an chad argint" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: n huimhir an dara hargint" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): gheobhfar tortha aisteacha le luachanna diltacha" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): teascfar luachanna codnacha" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: n huimhir an chad argint" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: n huimhir an dara hargint" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): gheobhfar tortha aisteacha le luachanna diltacha" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): teascfar luachanna codnacha" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: fuarthas argint neamhuimhriil" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): gheobhfar tortha aisteacha le luachanna diltacha" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): teascfar luachanna codnacha" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: n catagir lognach ceart `%s'" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr " cinel anaithnid nid %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "maoln thar maoil i genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "iarracht eagar `%s' a sid i gcomhthacs sclach" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "lb for: d'athraigh mid an eagair `%s' %ld go %ld i lr na libe" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "nl `break' lasmuigh den lb iniompartha" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "nl `break' lasmuigh den lb ceadaithe" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "nl `continue' lasmuigh den lb iniompartha" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "nl `continue' lasmuigh den lb ceadaithe" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "n fidir glaoigh ar `next' riail TS" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "n fidir glaoigh ar `next' riail CROCH" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "n fidir glaoigh ar `next' riail TS" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "n fidir glaoigh ar `next' riail CROCH" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "n fidir glaoigh ar `nextfile' riail TS" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "n fidir glaoigh ar `nextfile' riail CROCH" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "n fidir glaoigh ar `nextfile' riail CROCH" + +#: eval.c:963 msgid "statement has no effect" msgstr "nl aon ifeacht ag an riteas" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "n fidir ainm feidhme `%s' a sid mar athrg n eagar" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "tagairt d'argint nach bhfuil tsaithe `%s'" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "tagairt d'athrg nach bhfuil tsaithe `%s'" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "comhchaitini: d'athraigh ifeachta sloinn amhin fad ceann eile!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "sannadh sidte i gcomhthacs coinnollach" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "iarracht roinnt le nialas a dhanamh" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "cinel neamhcheadaithe (%s) i tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "iarracht roinnt le nialas a dhanamh i `/='" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "iarracht roinnt le nialas a dhanamh i `%%='" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "glaodh ar fheidhm `%s' le nos m argint n mar a bh fgartha" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "feidhm `%s' gan sainmhni" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -942,147 +1003,182 @@ msgstr "" "\t# Cruach an Glaoigh ar an bhFeidhm:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- promh --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "iarracht tagairt a fhil luach neamhuimhriil" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "iarracht tagairt a fhil theaghrn neamhnitheach" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "iarracht rochtain a dhanamh ar rimse %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "n fidir sannachn a dhanamh le toradh fheidhm insuite" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "is feabhschn gawk `IGNORECASE'" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "is feabhschn gawk `BINMODE'" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "drochshonraocht`%sFMT' `%s'" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "`--lint' mhchadh de bharr sannachn go `LINT'" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "is feabhschn gawk `extension'" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: n fidir oscailt `%s' (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: leabharlann `%s': n fidir glaoigh ar fheidhm `%s' (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "extension: ainm feidhme in easnamh" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: carachtar neamhcheadaithe `%c' in ainm na feidhme `%s'" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: n fidir feidhm `%s' a shainmhni ars" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "extension: sainmhnodh an fheidhm `%s' cheana" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "extension: n fidir insuite gawk `%s' a sid mar ainm feidhme" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "extension: ainm feidhme `%s' sainmhnithe cheana" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "n cheadaonn feidhm `%s' nos m n %d argint" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "feidhm `%s': argint #%d ar iarraidh" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "feidhm `%s': argint #%d: iarracht sclach a sid mar eagar" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "feidhm `%s': argint #%d: iarracht sclach a sid mar eagar" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Oibrocht Gan Tacaocht" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF socraithe go luach diltach" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "scoilt: n eagar an dara hargint" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "meaitseil: is feabhschn gawk an tr hargint" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "scoilt: n eagar an dara hargint" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "" "scoilt: is feabhschn gawk an teaghrn neamhnitheach don tr hargint" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "scoilt: n eagar an dara hargint" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "scoilt: n eagar an dara hargint" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: n eagar an tr hargint" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "is feabhschn gawk `FIELDWIDTHS'" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "luach FIELDWIDTHS neamhbhail cngarach le `%s'" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "is feabhschn gawk an teaghrn neamhnitheach do `FS'" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "n thacaonn sean-awk le slonn ionadaochta mar luach de `FS'" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "is feabhschn gawk `%s'" + #: getopt.c:574 getopt.c:590 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1138,492 +1234,510 @@ msgstr "%s: n cheadatear argint i ndiaidh na rogha `-W %s'\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: t argint de dhth i ndiaidh na rogha `%s'\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "n fidir `%s' a oscailt chun a lamh (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "earrid ag lamh comhad aschuir `%s': %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "dnadh fd %d (`%s') teipthe (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "cinel crainn %s neamhbhail san atreor()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "nl ach luach uimhriil ag an slonn in atreor `%s'" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "t luach teaghrin neamhnitheach ag an slonn in atreor `%s'" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "seans gur toradh sloinn loighciil an comhadainm `%s' don atreor `%s'" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "meascn neamhriachtanach de `>' agus `>>' do chomhad `%.*s'" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "n fidir popa `%s' a oscailt d'aschur (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "n fidir popa `%s' a oscailt d'ionchur (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "n fidir an popa dthreo `%s' a oscailt d'ionchur/aschur (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "n fidir atreor `%s' (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "n fidir atreor go `%s' (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "tagtha chuig teorainn an chrais do chomhadlanna oscailte: ag tos " "tuairisceoir na gcomhadlann a ilphlacsadh" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "dnadh `%s' teipthe (%s)." -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "t an iomarca popa n comhadlanna ionchuir oscailte" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: t `to' n `from' de dhth mar dara hargint" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: n comhad oscailte, popa n comhphriseas `%.*s'" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "dnadh atreoraithe nach n-oscladh riamh" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: nl atreor `%s' oscailte le `|&', rinneadh neamhaird ar an dara " "hargint" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "stdas teipfhulangach (%d) ar dnadh an phopa `%s' (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "stdas teipfhulangach (%d) ar dnadh an chomhaid `%s' (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "n fhuarthas dnadh lir an tsoicid `%s'" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "n fhuarthas dnadh lir an chomhphrisis `%s'" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "n fhuarthas dnadh lir an phopa `%s'" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "n fhuarthas dnadh lir an chomhaid `%s'" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "earrid agus aschur caighdenach scrobh (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "earrid agus earrid caighdenach scrobh (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "sruthladh popa `%s' teipthe (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "sruthladh comhphrisis an phopa go `%s' teipthe (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "sruthladh comhaid `%s' teipthe (%s)." -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "port lognta %s neamhbhail i `/inet'" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "eolas neamhbhail faoin chiansta agus port (%s, %s)" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "t brn orm, nl an cliant /inet/raw ridh go fill" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "`/inet/raw' ceadaithe do root amhin." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "t brn orm, nl an freastala /inet/raw r go fill" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "n fhuarthas for phrtacal sa chomhadainm speisialta `%s'" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "nl an comhadainm speisialta `%s' iomln" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "t ainm cianstaigh de dhth ag `/inet'" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "t cianphort de dhth ag `/inet'" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "cumarsid TCP/IP gan tacaocht" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "n comhadlann an comhad `%s'" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "sid `PROCINFO[\"%s\"]' in ionad `%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "sid `PROCINFO[...]' in ionad `/dev/user'" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "norbh fhidir `%s' a oscailt, md `%s'" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "theip ar dnadh mistir-pty (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "theip ar dnadh aschuir caighdenach i mac teipthe (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" "theip ar bogadh an pty sclbhnta go haschur caighdenach sa mhac (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "theip ar dnadh ionchuir caighdenach i mac (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" "theip ar bogadh an pty sclbhnta go hionchuir caighdenach sa mhac (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "theip ar dnadh an pty sclbhnta (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "theip ar bhogadh popa go haschur caighdenach i mac (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "theip ar bhogadh popa go hionchur caighdenach i mac (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "theip ar dhul ar ais go haschur caighdenach i mthair teipthe\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "theip ar dhul ar ais go hionchur caighdenach i mthair teipthe\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "theip ar dnadh phopa (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' gan tacaocht" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "n fidir popa `%s' a oscailt (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "n fidir mac a dhanamh do `%s' (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "t comhad sonra `%s' folamh" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "norbh fhidir nos m cuimhne ionchuir a leithdhileadh" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "earrid ag lamh comhad aschuir `%s': %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "is feabhschn gawk an luach ilcharachtar 'RS'" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "cuimhne dithe" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "`-m[fr]' rogha neamhbhartha i ngawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "sid rogha -m: `-m[fr] nnn'" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "rinneadh neamhshuim ar argint fholamh go `--source'" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: rogha `-W %s' anaithnid, rinneadh neamhshuim air\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "rinneadh neamhshuim ar argint fholamh go `--source'" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: t argint de dhth i ndiaidh na rogha -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "athrg thimpeallachta `POSIXLY_CORRECT' socraithe: ag lasadh `--posix'" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "sraonn `--posix' `--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "sraonn `--posix'/`--traditional' `--non-decimal-data'" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "seans gur neamhdhaingean ag rith %s setuid root" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "sraonn `--posix' `--traditional'" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "n fidir md dnrtha a shocr ar stdin (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "n fidir md dnrtha a shocr ar stdout (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "n fidir md dnrtha a shocr ar stderr (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "nl aon tacs sa romhchlr!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "sid: %s [roghanna cinel POSIX n GNU] -f clrchomhad [--] comhad ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "sid: %s [roghanna cinel POSIX n GNU] [--] %cromhchlr%c comhad ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "roghanna POSIX:\t\tGNU roghanna fada:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f comhad\t\t--file=progfile\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v athrg=luach\t\t--assign=athrg=luach\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "roghanna POSIX:\t\tGNU roghanna fada:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] luach\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=comhad]\t--dump-variables[=comhad]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=program-text\t--source=program-text\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=comhad\t\t--exec=comhad\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +#, fuzzy +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=comhad]\t--profile[=comhad]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=program-text\t--source=program-text\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1635,7 +1749,7 @@ msgstr "" "sa rannn `Reporting Problems and Bugs' sa leagan faoi chl.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1646,7 +1760,7 @@ msgstr "" "haschur caighdenach.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1656,7 +1770,7 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' comhad\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1675,7 +1789,7 @@ msgstr "" "n (ms mian leat) aon leagan nos dana.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1689,7 +1803,7 @@ msgstr "" "GNU General Public License chun nos m sonra a fhil.\n" "\n" -#: main.c:813 +#: main.c:864 msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" @@ -1698,11 +1812,16 @@ msgstr "" "a fhil in ineacht leis an romhchlr seo; mura bhfuair,\n" "fach ar http://www.gnu.org/licenses/.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "n athraonn -Ft FS go tb san awk POSIX" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1711,45 +1830,45 @@ msgstr "" "%s: nl an argint `%s' go `-v' san fhoirm `var=value'\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "n ainm athrige dleathil `%s'" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "n ainm athrige `%s', ag lorg comhad `%s=%s'" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "eisceacht snmhphointe" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "earrid mharfach: earrid inmhenach" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "earrid mharfach: earrid inmhenach" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "earrid mharfach: earrid inmhenach" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "nl aon fd %d ramhoscailte" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "norbh fhidir /dev/null a ramhoscailt do fd %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "n fidir na grpa a aimsi: %s" @@ -1819,21 +1938,21 @@ msgstr "Norbh fhidir `%s' a oscailt chun scrobh ann: %s" msgid "internal error: %s with null vname" msgstr "earrid inmhenach: %s le vname nialasach" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# sidte go hinmhenach mar `delete'" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "# is feidhm iarmhreach seo at le lucht go dinimiciil" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# cuntas gawk, cruthaodh %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1842,7 +1961,16 @@ msgstr "" "\t# TS bloc(anna)\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# TS bloc(anna)\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1851,7 +1979,16 @@ msgstr "" "\t# Riail(eacha)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# CROCH bloc(anna)\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1860,7 +1997,7 @@ msgstr "" "\t# CROCH bloc(anna)\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1869,16 +2006,21 @@ msgstr "" "\n" "\t# Feidhmeanna, i liosta aibtreach\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "cinel gan sil %s i prec_level" -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr " cinel anaithnid nid %d" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "D'irigh leis" @@ -1954,11 +2096,45 @@ msgstr "Nl aon slonn ionadaochta roimhe seo" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: rogha neamhcheadaithe -- %c\n" +#~ msgid "file `%s' is a directory" +#~ msgstr "n comhadlann an comhad `%s'" + #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "n fidir an soicad dthreo `%s' a oscailt d'ionchur/aschur (%s)" -#~ msgid "remote port invalid in `%s'" -#~ msgstr "cianphort neamhbhail i `%s'" +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: nl aon argint" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: n comhad oscailte, popa n comhphriseas `%.*s'" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: n comhad oscailte, popa n comhphriseas `%.*s'" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "n ainm athrige dleathil `%s'" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "sid `PROCINFO[\"%s\"]' in ionad `%s'" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "sid `PROCINFO[...]' in ionad `/dev/user'" #~ msgid "delete: illegal use of variable `%s' as array" #~ msgstr "delete: sid neamhdhleathach na hathrige `%s' mar eagar" diff --git a/po/gawk.pot b/po/gawk.pot index dafd33cc..571bf6af 100644 --- a/po/gawk.pot +++ b/po/gawk.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gawk 3.1.8\n" +"Project-Id-Version: gawk 3.1.70\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -76,334 +76,348 @@ msgstr "" msgid "%s: array_ref to %s\n" msgstr "" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "" -#: awkgram.y:893 +#: awkgram.y:936 +#, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "" -#: awkgram.y:1009 +#: awkgram.y:1051 +msgid "indirect function calls are a gawk extension" +msgstr "" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "" -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "" -#: awkgram.y:3004 +#: awkgram.y:3088 #, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" "or used as a variable or an array" msgstr "" -#: awkgram.y:3664 +#: awkgram.y:3750 msgid "division by zero attempted in `/'" msgstr "" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "" @@ -650,279 +664,322 @@ msgstr "" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "" -#: eval.c:893 +#: eval.c:887 +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "" + +#: eval.c:889 +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "" -#: eval.c:952 +#: eval.c:906 +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "" + +#: eval.c:963 msgid "statement has no effect" msgstr "" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -930,146 +987,174 @@ msgid "" "\n" msgstr "" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +msgid "split: fourth argument is a gawk extension" +msgstr "" + +#: field.c:928 +msgid "split: fourth argument is not an array" +msgstr "" + +#: field.c:975 +msgid "split: null string for third argument is a gawk extension" msgstr "" -#: field.c:961 +#: field.c:1032 +msgid "patsplit: second argument is not an array" +msgstr "" + +#: field.c:1041 +msgid "patsplit: fourth argument is not an array" +msgstr "" + +#: field.c:1067 +msgid "patsplit: third argument must be non-null" +msgstr "" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "" +#: field.c:1357 +msgid "`FPAT' is a gawk extension" +msgstr "" + #: getopt.c:574 getopt.c:590 #, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1125,475 +1210,474 @@ msgstr "" msgid "%s: option '-W %s' requires an argument\n" msgstr "" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "" -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "" -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "" -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "" -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "" -#: main.c:306 +#: main.c:313 msgid "out of memory" msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "" -#: main.c:393 -#, c-format -msgid "%s: option `-W %s' unrecognized, ignored\n" +#: main.c:419 +msgid "empty argument to `-e/--source' ignored" msgstr "" -#: main.c:434 -msgid "empty argument to `--source' ignored" +#: main.c:485 +#, c-format +msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "" -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "" -#: main.c:571 +#: main.c:577 +msgid "`--posix' overrides `--binary'" +msgstr "" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "" -#: main.c:732 -msgid "\t-m[fr] val\n" +#: main.c:784 +msgid "POSIX options:\t\tGNU long options: (extensions)\n" msgstr "" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:785 +msgid "\t-m[fr] val\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:791 +msgid "\t-E file\t\t\t--exec=file\n" msgstr "" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:792 +msgid "\t-g\t\t\t--gen-pot\n" msgstr "" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:793 +msgid "\t-h\t\t\t--help, --usage\n" msgstr "" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:794 +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:795 +msgid "\t-L\t\t\t--lint-old\n" msgstr "" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:796 +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" msgstr "" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:799 +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:800 +msgid "\t-P\t\t\t--posix\n" msgstr "" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" +#: main.c:801 +msgid "\t-r\t\t\t--re-interval\n" msgstr "" -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" +#: main.c:802 +msgid "\t-S\t\t\t--sandbox\n" msgstr "" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" +#: main.c:803 +msgid "\t-V\t\t\t--version\n" msgstr "" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "" -#: main.c:757 -msgid "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" msgstr "" #. TRANSLATORS: --help output 5 (end) @@ -1601,7 +1685,7 @@ msgstr "" #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1609,21 +1693,21 @@ msgid "" "\n" msgstr "" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" "\n" msgstr "" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" msgstr "" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1635,7 +1719,7 @@ msgid "" "\n" msgstr "" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1644,60 +1728,65 @@ msgid "" "\n" msgstr "" -#: main.c:813 +#: main.c:864 msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" msgstr "" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "" -#: main.c:1206 +#: main.c:1260 msgid "fatal error: internal error: segfault" msgstr "" -#: main.c:1218 +#: main.c:1272 msgid "fatal error: internal error: stack overflow" msgstr "" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "" @@ -1767,58 +1856,77 @@ msgstr "" msgid "internal error: %s with null vname" msgstr "" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" "\n" msgstr "" -#: profile.c:1117 +#: profile.c:1122 +#, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" "\n" msgstr "" -#: profile.c:1123 +#: profile.c:1138 +#, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" "\n" msgstr "" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" "\t# Functions, listed alphabetically\n" msgstr "" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "" -#: profile.c:1527 +#: profile.c:1557 #, c-format msgid "Unknown node type %s in pp_var" msgstr "" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "" Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.1a\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2002-04-28 21:46+0300\n" "Last-Translator: Eli Zaretskii <eliz@gnu.org>\n" "Language-Team: Hebrew <eliz@gnu.org>\n" @@ -76,330 +76,345 @@ msgstr " %s\n" msgid "%s: array_ref to %s\n" msgstr "%s: %s- (array_ref) \n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, fuzzy, c-format msgid "%s blocks must have an action part" msgstr " END " -#: awkgram.y:221 +#: awkgram.y:230 #, fuzzy msgid "each rule must have a pattern or an action part" msgstr " END " -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 #, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "`**' awk" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr " , `%s'" -#: awkgram.y:331 +#: awkgram.y:350 #, fuzzy msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr " ,C `/%s/' " -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr " ,C `/%s/' " -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr " " -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, fuzzy, c-format msgid "`%s' used in %s action" msgstr "END BEGIN `next'- " -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "gawk- `nextfile'" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr " `return'- " -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "`print \"\"' END BEGIN `print'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "gawk- `delete array'" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 #, fuzzy msgid "`delete(array)' is a non-portable tawk extension" msgstr "gawk- `delete array'" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr " - " -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr " " -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "`!~' `~' " -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 #, fuzzy msgid "old awk does not support the keyword `in' except after `for'" msgstr "`**' awk" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr " " -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "`%s'- " + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "END `getline'" -#: awkgram.y:904 +#: awkgram.y:955 #, fuzzy msgid "old awk does not support multidimensional arrays" msgstr "`**' awk" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr " `length'- " -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "POSIX `length'- " -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "gawk- `extension'" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr " " -#: awkgram.y:1257 +#: awkgram.y:1329 #, fuzzy msgid "unexpected newline or end of string" msgstr "- " -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr " " -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr " `%s' (%s) " -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "`%s' (%s) " -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr " `%s' " -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "- " -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr " `\\'- - " -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "- " -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr " - " -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr " `\\ #...'- " -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr " " -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "`**=' POSIX" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "`**=' awk" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "`**' POSIX" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "`**' awk" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr " awk- `^=' " -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr " awk- `^' " -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "- " -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr " '%c' " -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "gawk- `%s'" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "Bell awk- `%s'" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "`%s' POSIX" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr " awk- `%s'" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "!- `goto'\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr " %d %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "gawk- `match' " -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr " `%s' " -#: awkgram.y:2475 +#: awkgram.y:2552 #, fuzzy, c-format msgid "%s third parameter is not a changeable object" msgstr "- `sub' " -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "gawk- `close' " -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr " - :dcgettext(_\"...\")- " -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr " - :dncgettext(_\"...\")- " -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "`%s' %d ' ,`%s' ,%d ' " -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr " `%s' `%s' " -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr " `%s' (%s) " -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr " " -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "`%s' (%s) " -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "! shadow_funcs()" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "" -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr " :`%s' " -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr " :`%s' " -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr " `%s' " -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr " `%s' " -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr " , `%s' " -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr " %d ' " -#: awkgram.y:3245 +#: awkgram.y:3329 #, fuzzy, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -408,12 +423,12 @@ msgstr "" ",`(' `%s' \n" "%s" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "`/='- " -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "`%%'- " @@ -662,286 +677,331 @@ msgstr " :mktime" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr " :system" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, fuzzy, c-format msgid "reference to uninitialized field `$%d'" msgstr "`%s' - " -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr " :tolower" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr " :toupper" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr " :atan2" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr " :atan2" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr " :sin" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr " :cos" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr " :srand" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr " :match" -#: builtin.c:2744 -#, fuzzy +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "1- 0 :gensub" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr " :lshift" -#: builtin.c:2862 +#: builtin.c:2868 #, fuzzy msgid "lshift: received non-numeric second argument" msgstr " :strftime" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "- :lshift(%lf, %lf)" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr " :lshift(%lf, %lf)" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "- :lshift(%lf, %lf)" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr " :rshift" -#: builtin.c:2900 +#: builtin.c:2906 #, fuzzy msgid "rshift: received non-numeric second argument" msgstr " :strftime" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "- :rshift(%lf, %lf)" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr " :rshift(%lf, %lf)" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "- :rshift(%lf, %lf)" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr " :and" -#: builtin.c:2938 +#: builtin.c:2944 #, fuzzy msgid "and: received non-numeric second argument" msgstr " :atan2" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "- :and(%lf, %lf)" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr " :and(%lf, %lf)" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr " :or" -#: builtin.c:2974 +#: builtin.c:2980 #, fuzzy msgid "or: received non-numeric second argument" msgstr " :atan2" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "- :or(%lf, %lf)" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr " :or(%lf, %lf)" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr " :xor" -#: builtin.c:3010 +#: builtin.c:3016 #, fuzzy msgid "xor: received non-numeric second argument" msgstr " :atan2" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "- :xor(%lf, %lf)" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr " :xor(%lf, %lf)" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr " :compl" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "- :compl(%lf)" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr " :compl(%lf)" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr " `%s' :dcgettext" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "%d - node" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "genflags2str- " -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr " `%s' " -#: eval.c:802 +#: eval.c:803 #, fuzzy, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "(`%s' ) %d- %d- :for " -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr " `break'" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr " `break'- " -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr " `continue'" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr " `continue'- " -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "BEGIN `next'- " -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "END `next'- " -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "BEGIN `next'- " + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "END `next'- " + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "BEGIN `nextfile'- " -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "END `nextfile'- " -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "END `nextfile'- " + +#: eval.c:963 msgid "statement has no effect" msgstr "- " -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr " `%s' " -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "`%s' - " -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "`%s' - " -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "" "! - :concatenation" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr " " -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr " " -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tree_eval- (%s) " -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "`/='- " -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "`%%='- " -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr " `%s' " -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr " `%s' " -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -952,147 +1012,182 @@ msgstr "" "\t# : \n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- main --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr " " -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr " " -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "%d ' " -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr " " -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "gawk- `IGNORECASE'" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "gawk- `BINMODE'" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr " `%sFMT' `%s'" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "`LINT'- `--lint' " -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "gawk- `extension'" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "`%s' (%s) :extension\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "`%s' `%s' (%s) :extension\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "" -#: ext.c:110 +#: ext.c:113 #, fuzzy, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "`%s' `%s' (%s) :extension\n" -#: ext.c:116 +#: ext.c:119 #, fuzzy, c-format msgid "extension: can't redefine function `%s'" msgstr "`%s' (%s) :extension\n" -#: ext.c:120 +#: ext.c:123 #, fuzzy, c-format msgid "extension: function `%s' already defined" msgstr " `%s' " -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" -#: ext.c:127 +#: ext.c:130 #, fuzzy, c-format msgid "extension: function name `%s' previously defined" msgstr " `%s' " -#: ext.c:204 +#: ext.c:207 #, fuzzy, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr " , `%s' " -#: ext.c:207 +#: ext.c:210 #, fuzzy, c-format msgid "function `%s': missing argument #%d" msgstr " `%s' " -#: ext.c:217 +#: ext.c:220 #, fuzzy, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr " `%s' " -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr " " -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr " NF" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr " `split' " -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "gawk- `match' " + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr " `split' " + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "gawk- `split'- " -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr " `split' " + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr " `split' " + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr " :match" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "gawk- `FIELDWIDTHS'" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "gawk- `FS'- " -#: field.c:1092 +#: field.c:1242 #, fuzzy msgid "old awk does not support regexps as value of `FS'" msgstr "`**' awk" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "gawk- `%s'" + # The way the leading "%s:" is translated is a terrible kludge, # but what can I do? FIXME. #: getopt.c:574 getopt.c:590 @@ -1150,488 +1245,504 @@ msgstr "%s `-W %s' \n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s `%s' \n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr " `%s' (%s) " -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "`%s' (%s) " + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "(%d / ) `%s' (%s) " -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "redirect() %s " -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr " `%s' / " -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr " `%s' / " -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr " `%s' `%s' / " -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "`%.*s' `>>'- `>'- " -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr " `%s' (%s) " -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr " `%s' (%s) " -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "/ - (pipe) `%s' (%s) " -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "`%s'- (%s) " -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "`%s' (%s) " -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "/ ; " -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "`%s' (%s) " -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "- (pipes) " -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "`from' `to' `close' " -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr " , `%.*s' :close" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr " " -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr " ,`|&' \" `%s' " -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "(%d ) `%s'- (%s) " -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "(%d ) `%s' (%s) " -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr " (socket) `%s' " -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr " (co-process) `%s' " -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr " (pipe) `%s' " -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr " `%s' " -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr " (%s) " -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr " (%s) " -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "`%s'- (%s) " -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "`%s'- (%s) " -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "`%s' (%s) " -#: io.c:1222 +#: io.c:1292 #, fuzzy, c-format msgid "local port %s invalid in `/inet'" msgstr "`%s'- " -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr " /inet/raw ," -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr " root `inet/raw'- " -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr " /inet/raw ," -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "`%s' - " -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr " `%s' " -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "`/inet' - " -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "`/inet' " -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "TCP/IP " -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr " `%s' " - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "`PROCINFO[\"%s\"]'- `%s' " - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "`/dev/user' - `PROCINFO[...]'- " - # This probably sounds nonsensical in Hebrew, but what can I do, # given the original message text? -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "`%s' `%s' " -#: io.c:1923 +#: io.c:1809 #, fuzzy, c-format msgid "close of master pty failed (%s)" msgstr " (%s) " -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "- stdout (%s) " -#: io.c:1928 +#: io.c:1814 #, fuzzy, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "- stdout- (dup: %s) " -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "- stdin (%s) " -#: io.c:1933 +#: io.c:1819 #, fuzzy, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "- stdin- (dup: %s) " -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, fuzzy, c-format msgid "close of slave pty failed (%s)" msgstr " (%s) " -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "- stdout- (dup: %s) " -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "- stdin- (dup: %s) " -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "- stdout \n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "- stdin \n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr " (%s) " -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&'- " -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "`%s' (%s) " -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "`%s' - (fork: %s) " -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr " `%s' " -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "`%s' (%s) " - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "gawk- `RS' " -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr " " +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "gawk `-m[fr]' " -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "`-m[fr] nnn' :-m " -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr " `--source'- " + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr " ,%s `-W %s' \n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr " `--source'- " - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "`--posix' : `POSIXLY_CORRECT' " -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "`--traditional' `--posix'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "`--non-decimal-data' `--posix'/`--traditional'" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr " setuid root- %s " -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "`--traditional' `--posix'" + +#: main.c:622 #, fuzzy, c-format msgid "can't set binary mode on stdin (%s)" msgstr "stdin (%s) " -#: main.c:574 +#: main.c:625 #, fuzzy, c-format msgid "can't set binary mode on stdout (%s)" msgstr "stdout (%s) " -#: main.c:576 +#: main.c:627 #, fuzzy, c-format msgid "can't set binary mode on stderr (%s)" msgstr "stderr (%s) " -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "! " -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "%s [GNU POSIX ] -f - [--] - ... : \n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "%s [GNU POSIX ] [--] %c%c - ... : \n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr ":POSIX \t\t: GNU \n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f -\t\t--file=-\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F -\t\t--field-separator=-\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v =\t\t--assign==\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr ":POSIX \t\t: GNU \n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] \n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=-]\t--dump-variables[=-]\n" -#: main.c:738 +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=-\t--source=-\n" + +#: main.c:791 #, fuzzy -msgid "\t-W exec=file\t\t--exec=file\n" +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W profile[=-]\t--profile[=-]\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=-]\t--profile[=-]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=-\t--source=-\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1643,7 +1754,7 @@ msgstr "" " . `Reporting Problems and Bugs' \n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1652,7 +1763,7 @@ msgstr "" ". gawk\n" ". \n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1662,8 +1773,8 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 -#, fuzzy, c-format +#: main.c:845 +#, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" "\n" @@ -1677,10 +1788,10 @@ msgstr "" "\n" " / ; \n" " \" ,GNU General Public License \n" -" , 2 ;Free Software Foundation\n" +" , 3 ;Free Software Foundation\n" " . ( )\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1693,7 +1804,7 @@ msgstr "" ", . \n" " .GNU General Public License- \n" -#: main.c:813 +#: main.c:864 #, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" @@ -1701,60 +1812,65 @@ msgid "" msgstr "" ";GNU General Public License \n" "Free Software Foundation, Inc.- , \n" -".59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\n" +".51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "awk POSIX TAB FS- -Ft" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr " " -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr " : " -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr " : " -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr " : " # FIXME: I wonder how many people will understand what "fd 2" means. -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr " %d / " # FIXME: /dev/null might not be known to all. -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "/dev/null- %d / " -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "%s : " @@ -1828,21 +1944,21 @@ msgstr " `%s' (%s) " msgid "internal error: %s with null vname" msgstr " vname- Node_var : " -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# %s gawk \n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1851,7 +1967,16 @@ msgstr "" "\t# BEGIN \n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# BEGIN \n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1860,7 +1985,16 @@ msgstr "" "\t# ()\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# END \n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1869,7 +2003,7 @@ msgstr "" "\t# END \n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1878,16 +2012,21 @@ msgstr "" "\n" "\t# - ,\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "prec_level- %s " -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "%d - node" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "" @@ -1960,47 +2099,105 @@ msgstr "- \\) )" msgid "No previous regular expression" msgstr " " +# "Illegal" is against GNU coding standards, but since Posix requires +# it (see the comment below), let's say that in Hebrew as well... +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: - -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr " `%s' " + +#~ msgid "can't open two way socket `%s' for input/output (%s)" +#~ msgstr "/ - (socket) `%s' (%s) " + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr " :printf" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr " , `%.*s' :close" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr " , `%.*s' :close" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "`PROCINFO[\"%s\"]'- `%s' " + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "`/dev/user' - `PROCINFO[...]'- " + +#~ msgid "field %d in FIELDWIDTHS, must be > 0" +#~ msgstr "0- FIELDWIDTHS- %d ' " + +#, fuzzy +#~ msgid "or used as a variable or an array" +#~ msgstr " `%s' " + +#~ msgid "regex match failed, not enough memory to match string \"%.*s%s\"" +#~ msgstr "" +#~ "\"%.*s%s\" , " + +#, fuzzy +#~ msgid "substr: length %g is < 0" +#~ msgstr "0- %g :substr" + #~ msgid "delete: illegal use of variable `%s' as array" #~ msgstr " `%s' :delete" +#, fuzzy +#~ msgid "%s: gvar_ref to %s\n" +#~ msgstr "%s: %s- (array_ref) \n" + #~ msgid "asort: first argument is not an array" #~ msgstr " :asort" #~ msgid "asort: second argument is not an array" #~ msgstr " :asort" -# "Illegal" is against GNU coding standards, but since Posix requires -# it (see the comment below), let's say that in Hebrew as well... -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: - -- %c\n" - -#~ msgid "invalid syntax in name `%s' for variable assignment" -#~ msgstr " `%s' " +#, fuzzy +#~ msgid "" +#~ "attempt to use array parameter `%s' that was passed from global scalar `%" +#~ "s'" +#~ msgstr " `%s' " #~ msgid "internal error: Node_var_array with null vname" #~ msgstr " vname- Node_var_array : " -#~ msgid "or used in other expression context" -#~ msgstr " " - -#~ msgid "`%s' is a function, assignment is not allowed" -#~ msgstr " , `%s'" - #~ msgid "BEGIN blocks must have an action part" #~ msgstr " BEGIN " #~ msgid "`nextfile' used in BEGIN or END action" #~ msgstr "END BEGIN `nextfile'- " +#~ msgid "gsub third parameter is not a changeable object" +#~ msgstr "- `gsub' " + +#~ msgid "or used in other expression context" +#~ msgstr " " + +#~ msgid "`%s' is a function, assignment is not allowed" +#~ msgstr " , `%s'" + #~ msgid "non-redirected `getline' undefined inside BEGIN or END action" #~ msgstr "END BEGIN `getline'" #~ msgid "fptr %x not in tokentab\n" #~ msgstr "tokentab- fptr %x\n" -#~ msgid "gsub third parameter is not a changeable object" -#~ msgstr "- `gsub' " - #~ msgid "Unbalanced [" #~ msgstr "- [" @@ -2022,21 +2219,11 @@ msgstr " " #~ msgid "Unbalanced )" #~ msgstr "- )" -#~ msgid "field %d in FIELDWIDTHS, must be > 0" -#~ msgstr "0- FIELDWIDTHS- %d ' " - #~ msgid "function %s called\n" #~ msgstr "`%s' \n" -#~ msgid "can't open two way socket `%s' for input/output (%s)" -#~ msgstr "/ - (socket) `%s' (%s) " - #~ msgid "remote port invalid in `%s'" #~ msgstr "`%s'- " #~ msgid "internal error: file `%s', line %d\n" #~ msgstr "`%s' %d \n" - -#~ msgid "regex match failed, not enough memory to match string \"%.*s%s\"" -#~ msgstr "" -#~ "\"%.*s%s\" , " Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.7\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2009-12-23 07:30+0700\n" "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n" "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" @@ -75,333 +75,348 @@ msgstr "%s: adalah parameter\n" msgid "%s: array_ref to %s\n" msgstr "%s: array_ref ke %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "%s blok harus memiliki sebuah bagian aksi" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "setiap aturan harus memiliki sebuah pola atau sebuah bagian aksi" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "awk lama tidak mendukung multiple aturan `BEGIN' atau `END'" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' adalah sebuah fungsi bawaan, ini tidak dapat di redefinisi" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "konstanta regexp `//' tampak seperti sebuah komentar C++, tetapi bukan" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "konstanta regexp `/%s/' tampak seperti sebuah komentar C, tetapi bukan" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "pernyataan mungkin tidak memiliki pengaruh" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "`%s' digunakan dalam aksi %s" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "`nextfile' adalah sebuah ekstensi gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "`return' digunakan diluar konteks fungsi" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "plain `print' dalam aturan BEGIN atau AKHIR seharusnya berupa `print \"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "`delete array' adalah sebuah ekstensi gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(array)' adalah sebuah ekstensi tidak portabel tawk" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "duplikasi nilai case dalam tubuh switch: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "Duplikasi `default' terdeteksi dalam tubuh switch" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "multi tahap dua jalur pipe lines tidak bekerja" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "ekspresi regular di penempatan kanan" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "ekspresi regular di kiri dari operator `~' atau `!~'" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "awk lama tidak mendukung kata kunci `in' kecuali setelah `for'" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "ekspresi regular di kanan dari perbandingan" -#: awkgram.y:893 +#: awkgram.y:936 +#, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "tidak terdireksi `getline' tidak terdefinisi didalam aksi END" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "awk lama tidak mendukung array multi dimensi" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "panggilan dari `length' tanpa tanda kurung tidak portabel" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "" "panggilan dari `length' tanpa tanda kurung sudah ditinggalkan oleh POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`extension' adalah sebuah ekstensi gawk" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "penggunaan dari bukan array sebagai array" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "ekspresi subscript tidak valid" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "tidak terduga baris baru atau akhir dari string" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "aplikasi teks kosong di baris perintah" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "tidak dapat membuka berkas sumber `%s' untuk pembacaan (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "tidak dapat membaca berkas sumber `%s' (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "berkas sumber `%s' kosong" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "berkas sumber tidak berakhir dalam baris baru" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "tidak terakhiri regexp akhir denga `\\' diakhir dari berkas" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "%s: %d: tawk regex pemodifikasi `/.../%c' tidak bekerja dalam gawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "tawk regex pemodifikasi `/.../%c' tidak bekerja dalam gawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "tidak terselesaikan regexp" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "tidak terselesaikan di akhir dari berkas" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "penggunaan dari `\\ #...' kelanjutan baris tidak portabel" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "backslash bukan karakter terakhir di baris" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX tidak mengijinkan operator `**='" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "awk lama tidak mendukung operator `**='" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX tidak mengijinkan operator `**'" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "awk lama tidak mendukung operator `**'" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "operator `^=' tidak didukung dalam awk lama" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "operator `^' tidak didukung dalam awk lama" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "string tidak terselesaikan" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "karakter '%c' tidak valid dalam ekspresi" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' adalah sebuah ekstensi gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s' adalah sebuah ekstensi Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX tidak mengijinkan `%s'" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' tidak didukung dalam awk lama" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "`goto' dipertimbangkan berbahaya!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d tidak valid sebagai jumlah dari argumen untuk %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "cocok: argumen ketiga adalah sebuah ekstensi gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: literal string sebagai argumen terakhir dari pergantian tidak memiliki " "efek" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s parameter ketika bukan sebuah objek yang dapat diubah" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "tutup: argumen kedua adalah sebuah ekstensi gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "penggunaan dari dcgettext(_\"...\") adalah tidak benar: hapus garis bawah " "yang mengawali" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "penggunaan dari dcngettext(_\"...\") adalah tidak benar: hapus garis bawah " "yang mengawali" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "fungsi `%s': parameter #%d, `%s', duplikasi paramter #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "fungsi `%s': parameter `%s' bayangan variabel global" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "tidak dapat membuka `%s' untuk menulis (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "mengirim profile ke standar error" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: tutup gagal (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() dipanggil dua kali!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "disana tidak ada variabel bayangan." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "" "fungsi `%s': tidak dapat menggunakan nama fungsi sebagai nama parameter" -#: awkgram.y:3004 +#: awkgram.y:3088 #, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "" "fungsi `%s': tidak dapat menggunakan variabel `%s' sebagai fungsi parameter" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "nama fungsi `%s' sebelumnya telah didefinisikan" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "fungsi `%s' dipanggil tetapi tidak pernah didefinisikan" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "fungsi `%s' didefinisikan tetapi tidak pernah dipanggil" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "konstanta regexp untuk parameter #%d menghasilkan nilai boolean" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -410,12 +425,12 @@ msgstr "" "fungsi `%s' dipanggil dengan spasi diantara nama dan `(',\n" "atau gunakan sebagai sebuah variabel atau sebuah array" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "pembagian dengan nol dicoba dalam `/='" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "pembagian dengan nol dicoba dalam `%%'" @@ -671,243 +686,262 @@ msgstr "mktime: diterima argumen bukan string" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: diterima argumen bukan string" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "referensi ke field tidak terinisialisasi `$%d'" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: diterima argumen bukan string" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: diterima argumen bukan string" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: diterima argumen pertama bukan numerik" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: diterima argumen kedua bukan numerik" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: diterima argumen bukan numerik" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: diterima argumen bukan numerik" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: diterima argumen bukan numerik" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: argumen ketiga bukan sebuah array" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: argumen ketiga dari 0 diperlakukan sebagai 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: diterima argumen pertama bukan numerik" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: diterima argumen kedua bukan numerik" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): nilai negatif akan memberikan hasil aneh" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): nilai pecahan akan dipotong" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "lshift(%lf, %lf): nilai shift terlalu besar akan memberikan hasil aneh" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: diterima argumen pertama bukan numerik" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: diterima argumen kedua bukan-numerik" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf. %lf): nilai negatif akan memberikan hasil aneh" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): nilai pecahan akan dipotong" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "rshift(%lf, %lf): nilai shift terlalu besar akan memberikan hasil aneh" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: diterima argumen pertama tidak numerik" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: diterima argumen kedua bukan numerik" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): nilai negatif akan memberikan hasil aneh" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): nilai pecahan akan dipotong" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: diterima argumen pertama bukan numerik" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: diterima argumen kedua bukan numerik" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): nilai negatif akan memberikan hasil aneh" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): nilai pecahan akan dipotong" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: diterima argumen pertama bukan numerik" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: diterima argumen kedua bukan numerik" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): nilai negatif akan memberikan hasil aneh" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): nilai pecahan akan dipotong" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: diterima argumen bukan numerik" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): nilai negatif akan memberikan hasil aneh" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): nilai pecahan akan dipotong" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' bukan sebuah kategori lokal yang valid" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "tipe titik %d tidak diketahui" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "buffer overflow dalam genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "mencoba menggunakan array `%s' dalam sebuah konteks skalar" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for loop: array `%s' berubah ukuran dari %ld ke %ld selama eksekusi loop" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "`break' diluar sebuah loop adalah tidak portabel" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "`break' diluar sebuah loop tidak diijinkan" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "`continue' diluar sebuah loop tidak portabel" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "`continue' diluar sebuah loop tidak diijinkan" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "`next' tidak dapat dipanggil dari sebuah aturan BEGIN" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "`next' tidak dapat dipanggil dari sebuah aturan END" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "`next' tidak dapat dipanggil dari sebuah aturan BEGIN" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "`next' tidak dapat dipanggil dari sebuah aturan END" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "`nextfile' tidak dapat dipanggil dari sebuah aturan BEGIN" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "`nextfile' tidak dapat dipanggil dari sebuah aturan END" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "`nextfile' tidak dapat dipanggil dari sebuah aturan END" + +#: eval.c:963 msgid "statement has no effect" msgstr "pernyataan tidak memiliki efek" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "" "tidak dapat menggunakan nama fungsi `%s' sebagai sebuah variabel atau array" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "referensi ke argumen `%s' tidak terinisialisasi" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "referensi ke variabel `%s' tidak terinisialisasi" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -915,39 +949,66 @@ msgstr "" "concatenation: efek samping dalam satu ekspresi telah mengubah panjang dari " "yang lain!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "penempatan digunakan dalam konteks kondisional" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "pembagian dengan nol telah dicoba" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tipe (%s) tidak legal dalam tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "pembagian dengan nol dicoba dalam `/='" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "pembagian dengan nol dicoba dalam `%%='" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "fungsi `%s' dipanggil argumen lebih dari yang dideklarasikan" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "fungsi `%s' tidak didefinisikan" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -958,150 +1019,185 @@ msgstr "" "\t# Fungsi Call Stack:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- main --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "mencoba untuk mereferensi field dari nilai bukan numerik" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "mencoba untuk mereferensi dari null string" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "mencoba untuk mengakses field %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "penempatan tidak diijinkan untuk menghasilkan fungsi bawaan" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "`IGNORECASE' adalah ekstensi gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' adalah ekstensi gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "BINMODE nilai `%s' tidak valid, diperlakukan sebagai 3" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "buruk `%sFMT' spesifikasi `%s'" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "menonaktifkan `--lint' karena penempatan ke `LINT'" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "`extension' adalah sebuah ekstensi gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: tidak dapat membuka `%s' (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: perpustakaan `%s': tidak dapat memanggil fungsi `%s' (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "extension: hilang nama fungsi" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: karakter `%c' tidak legal dalam nama fungsi `%s'" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: tidak dapat meredefinisi fungsi `%s'" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "extension: fungsi `%s' telah didefinisikan" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" "extension: tidak dapat menggunakan gawk bawaan `%s' sebagai nama fungsi" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "extension: nama fungsi `%s' telah didefinisikan sebelumnya" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "fungsi `%s' didefinisikan untuk mengambil lebih dari %d argumen" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "fungsi `%s': hilang argumen #%d" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" "fungsi `%s': argumen #%d: mencoba menggunaka skalar sebagai sebuah array" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" "fungsi `%s': argumen #%d: mencoba untuk menggunakan array sebagai sebuah " "skalar" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operasi Tidak Didukung" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF set ke nilai negatif" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: argumen kedua bukan sebuah array" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "cocok: argumen ketiga adalah sebuah ekstensi gawk" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: argumen kedua bukan sebuah array" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: null string untuk arg ketika adalah sebuah ekstensi gawk" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: argumen kedua bukan sebuah array" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: argumen kedua bukan sebuah array" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: argumen ketiga bukan sebuah array" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`FIELDWIDTHS' adalah sebuah ekstensi gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "nilai FIELDWIDTHS tidak valid, didekat `%s'" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "null string untuk `FS' adalah sebuah ekstensi gawk" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "awk lama tidak mendukung regexps sebagai nilai dari `FS'" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s' adalah sebuah ekstensi gawk" + #: getopt.c:574 getopt.c:590 #, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1157,490 +1253,507 @@ msgstr "%s: pilihan '-W %s' tidak mengijinkan sebuah argumen\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: pilihan '%s' membutuhkan sebuah argumen\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "tidak dapat membuka berkas `%s' untuk membaca (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "error membaca berkas masukan `%s': %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "penutupan dari fd %d (`%s') gagal (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "tipe tree %s tidak valid dalam redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "ekspresi dalam `%s' redireksi hanya memiliki nilai numerik" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "ekspresi untuk `%s' redireksi hanya memiliki nilai string null" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "nama berkas `%s' untuk `%s' redireksi hanya menghasilkan ekspresi logikal" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "pencampuran tidak perlu dari `>' dan `>>' untuk berkas `%.*s'" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "tidak dapat membuka pipe `%s' untuk keluaran (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "tidak dapat membuka pipe `%s' untuk masukan (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "tidak dapat membuka pipe dua arah `%s' untuk input/output (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "tidak dapat redirek dari `%s' (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "tidak dapat redirek ke `%s' (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "batas sistem tercapi untuk berkas terbuka: mulai untuk multiplex berkas " "deskripsi" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "penutupan dari `%s' gagal (%s)." -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "terlalu banyak pipes atau berkas masukan terbuka" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: argumen kedua harus berupa `to' atau `from'" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: `%.*s' bukan sebuah berkas terbuka, pipe atau co-proses" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "penutupan dari redireksi yang tidak pernah terbuka" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: redireksi `%s' tidak dibuka dengan `|&', argumen kedua diabaikan" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "status gagal (%d) di tutup pipe dari `%s' (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "status gagal (%d) di tutup berkas dari `%s' (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "tidak ada eksplisit tutup dari socket `%s' yang disediakan" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "tidak ada eksplisit tutup dari co-proses `%s' yang disediakan" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "tidak ada eksplisit tutup dari pipe `%s' disediakan" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "tidak ada eksplisit close dari berkas `%s' disediakan" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "error menulis standar keluaran (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "error menulis standar error (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "pipe flush dari `%s' gagal (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "co-proses flush dari pipe ke `%s' gagal (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "file flush dari `%s' gagal (%s)." -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "lokal port %s tidak valid dalam `/inet'" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "remote host dan informasi port (%s, %s) tidak valid" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "/inet/raw client belum siap, maaf" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "hanya root yang boleh menggunakan `/inet/raw'." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "/inet/raw server belum siap, maaf" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "" "tidak (diketahui) protokol yang diberikan dalam nama berkas spesial `%s'" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "nama berkas spesial `%s' tidak lengkap" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "harus memberikan sebuah remote hostname ke `/inet'" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "harus memberikan sebuah remote port ke `/inet'" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "komunikasi TCP/IP tidak didukung" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "berkas `%s' adalah sebuah direktori" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "lebih baik gunakan `PROCINFO[\"%s\"]' daripada `%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "lebih baik gunakan `PROCINFO[...]' daripada `/dev/user'" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "tidak dapat membuka `%s', mode `%s'" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "penutupan dari master pty gagal (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "penutupan dari stdout dalam child gagal (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "memindahkan slave pty ke stdout dalam child gagal (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "penutupan dari stdin dalam anak gagal (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "memindahkan slave pty ke stdin dalam anak gagal (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "penutupan dari pty budak gagal (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "memindahkan pipe ke stdout dalam anak gaal (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "memindahkan pipe ke stdin dalam anak gagal (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "mengembalikan stdout dalam proses orang tua gagal\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "mengembalikan stdin dalam proses orang tua gagal\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "penutupan dari pipe gagal (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' tidak didukung" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "tidak dapat membuka pipe `%s' (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "tidak dapat membuat proses anak untuk `%s' (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "berkas data `%s' kosong" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "tidak dapat mengalokasikan lebih dari masukan memori" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "error membaca berkas masukan `%s': %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "nilai multi karakter dari `RS' adalah sebuah ekstensi gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" msgstr "kehabisan memori" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "pilihan `-m[fr]' tidak relevan dalam gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "penggunaan pilihan -m: `-m[fr] nnn'" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "argumen kosong ke `--source' diabaikan" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: pilihan `-W %s' tidak dikenal, diabaikan\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "argumen kosong ke `--source' diabaikan" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: pilihan membutuhkan sebuah argumen -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "variabel lingkungan `POSIXLY_CORRECT' set: mengaktifkan `--posix'" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "`--posix' overrides `--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "`--posix'/`--traditional' overrides `--non-decimal-data'" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "menjalankan %s setuid root mungkin sebuah masalah keamanan" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "`--posix' overrides `--traditional'" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "tidak dapat menset mode binari di stdin (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "tidak dapat menset mode binari di stdout (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "tidak dapat menset mode binari di stderr (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "tidak ada teks aplikasi apapun!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Penggunaan: %s [pilihan POSIX atau gaya GNU] -f progfile [--] berkas ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Penggunaan: %s[ pilihan POSIX atau gaya GNU] [--] %cprogram%c berkas ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "pilihan POSIX:\t\tpilihan panjang GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f progfile\t\t--file=progfile\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=val\t\t--assign=var=val\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "pilihan POSIX:\t\tpilihan panjang GNU:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] val\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "\t-0\t\t\t--optimize\n" - -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compabilitas\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W hak cipta\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W tampilkan variabel[=berkas]\t--dump-variables[=berkas]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W sumber=teks-program\t--source=teks-program\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=berkas\t\t--exec=berkas\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W bantuan\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +#, fuzzy +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "\t-0\t\t\t--optimize\n" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=file]\t--profile[=file]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W sumber=teks-program\t--source=teks-program\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W tradisional\t\t--traditional\n" +#: main.c:802 +msgid "\t-S\t\t\t--sandbox\n" +msgstr "" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W penggunaan\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W versi\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W versi\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1652,7 +1765,7 @@ msgstr "" "daerah `Reporting Problems and Bugs' dalam versi tercetak.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1662,7 +1775,7 @@ msgstr "" "Secara baku ini membaca standar masukan dan menulis standa keluaran.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1672,7 +1785,7 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' berkas\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1693,7 +1806,7 @@ msgstr "" "(di pilihan anda) untuk versi selanjutnya.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1708,7 +1821,7 @@ msgstr "" "GNU General Public License untuk lebih lengkapnya.\n" "\n" -#: main.c:813 +#: main.c:864 msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" @@ -1717,11 +1830,16 @@ msgstr "" "bersama dengan aplikasi ini. Jika tidak, lihat http://www.gnu.org/" "licenses/.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft tidak menset FS ke tab dalam POSIX awk" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1730,43 +1848,43 @@ msgstr "" "%s: `%s' argumen ke `-v' tidak dalam bentuk `var=value'\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' bukan sebuah nama variabel legal" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "`%s' bukan sebuah nama variabel, pencarian untuk berkas `%s=%s'" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "eksepsi titik pecahan" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "fatal error: internal error" -#: main.c:1206 +#: main.c:1260 msgid "fatal error: internal error: segfault" msgstr "fatal error: internal error: segfault" -#: main.c:1218 +#: main.c:1272 msgid "fatal error: internal error: stack overflow" msgstr "fatal error: internal error: stack overflow" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "tidak ada pre-opened fd %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "tidak dapat pre-open /dev/null untuk fd %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "tidak dapat menemukan grup: %s" @@ -1838,21 +1956,21 @@ msgstr "tidak dapat membuka `%s' untuk penulisan: %s" msgid "internal error: %s with null vname" msgstr "internal error: %s dengan null vname" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# diperlakukan secara internal sebagai `delete'" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "# ini adalah sebuah fungsi yang secara dinamis diload ekstensi" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# gawk profile, dibuat %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1861,7 +1979,16 @@ msgstr "" "\t # BEGIN blok\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t # BEGIN blok\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1870,7 +1997,16 @@ msgstr "" "\t# Aturan\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# END blok\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1879,7 +2015,7 @@ msgstr "" "\t# END blok\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1888,16 +2024,21 @@ msgstr "" "\n" "\t# Fungsi, terdaftar secara alphabet\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "tipe %s tidak terduga dalam prec_level" -#: profile.c:1527 +#: profile.c:1557 #, c-format msgid "Unknown node type %s in pp_var" msgstr "tipe titik %s dalam pp_var tidak diketahui" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "Sukses" @@ -1970,6 +2111,27 @@ msgstr "Tidak cocok ) atau \\)" msgid "No previous regular expression" msgstr "Tidak ada ekspresi regular sebelumnya" +#~ msgid "file `%s' is a directory" +#~ msgstr "berkas `%s' adalah sebuah direktori" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "lebih baik gunakan `PROCINFO[\"%s\"]' daripada `%s'" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "lebih baik gunakan `PROCINFO[...]' daripada `/dev/user'" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compabilitas\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W tradisional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W penggunaan\t\t--usage\n" + #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "tidak dapat membuka socket dua arah `%s' untuk input/output (%s)" @@ -1,13 +1,13 @@ # Italian messages for GNU Awk -# Copyright (C) 2002-2010 Free Software Foundation, Inc. +# Copyright (C) 2002-2007 Free Software Foundation, Inc. # Antonio Colombo <azc100@gmail.com>. # msgid "" msgstr "" "Project-Id-Version: gawk 3.1.5h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" -"PO-Revision-Date: 2010-04-22 10:00+0100\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" +"PO-Revision-Date: 2007-09-30 23:20+0100\n" "Last-Translator: Antonio Colombo <azc100@gmail.com>\n" "Language-Team: Italian <it@li.org>\n" "MIME-Version: 1.0\n" @@ -74,331 +74,344 @@ msgstr "%s: parametro\n" msgid "%s: array_ref to %s\n" msgstr "%s: riferimento_vettoriale a %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "blocchi %s richiedono una 'azione'" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "ogni regola deve avere una parte 'espressione' o una parte 'azione'" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "il vecchio awk non supporta pi di una regola `BEGIN' o `END'" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' una funzione interna, non si pu ridefinire" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "espressione regolare costante `//' sembra un commento C, ma non lo " -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "espressione regolare costante `/%s/' sembra un commento C, ma non lo " -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "istruzione che pu non aver alcun effetto" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "`%s' usato in 'azione' %s" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "`nextfile' un'estensione gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "`return' usato fuori da una funzione" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "`print' da solo in BEGIN o END dovrebbe forse essere `print \"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "`delete array' un'estensione gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(array)' un'estensione tawk non-portabile" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "valori di 'case' doppi all'interno di uno 'switch': %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "Valori per difetto doppi all'interno di uno 'switch'" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "'pipelines' multistadio bidirezionali non funzionano" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "espressione regolare usata per assegnare un valore" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "espressione regolare prima di operatore `~' o `!~'" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "il vecchio awk non supporta la parola-chiave `in' se non dopo `for'" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "espressione regolare a destra in un confronto" -#: awkgram.y:893 +#: awkgram.y:936 +#, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "`getline' non re-diretta indefinita dentro 'azione' END" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "il vecchio awk non supporta vettori multidimensionali" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "chiamata a `length' senza parentesi non portabile" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "chiamata a `length' senza parentesi sconsigliata da POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`extension' un'estensione gawk" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "uso di non-vettore come vettore" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "espressione indice invalida" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "carattere 'a capo' o fine stringa inaspettati" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "programma nullo sulla linea comandi" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "non riesco ad aprire file sorgente `%s' in lettura (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "non riesco a leggere file sorgente `%s' (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "file sorgente `%s' vuoto" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "file sorgente non termina con carattere 'a capo'" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "espressione regolare non completata termina con `\\' a fine file" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "%s: %d: modificatore di espressione regolare tawk `/.../%c' non valido in " "gawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "modificatore di espressione regolare tawk `/.../%c' non valido in gawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "espressione regolare non completata" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "espressione regolare non completata a fine file" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "uso di `\\ #...' continuazione linea non portabile" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "'\\' non l'ultimo carattere della linea" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX non permette l'operatore `**='" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "il vecchio awk non supporta l'operatore `**='" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX non permette l'operatore `**'" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "il vecchio awk non supporta l'operatore `**'" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "l'operatore `^=' non supportato nel vecchio awk" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "l'operatore `^' non supportato nel vecchio awk" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "stringa non terminata" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" -msgstr "carattere '%c' non valido in un'espressione" +msgstr "carattere '%c' invalido in un'espressione" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' un'estensione gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s' un'estensione Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX non permette `%s'" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' non supportato nel vecchio awk" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "`goto' considerato pericoloso!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" -msgstr "%d non valido come numero di argomenti per %s" +msgstr "%d invalido come numero di argomenti per %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: il terzo argomento un'estensione gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "%s: una stringa come ultimo argomento di 'substitute' non ha effetto" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "il terzo parametro di '%s' non un oggetto modificabile" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: il secondo argomento un'estensione gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "uso scorretto di dcgettext(_\"...\"): togliere il carattere '_' iniziale" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "uso scorretto di dcngettext(_\"...\"): togliere il carattere '_' iniziale" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funzione `%s': parametro #%d, `%s', duplica parametro #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funzione `%s': parametro `%s' nasconde variabile globale" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "non riesco ad aprire `%s' in scrittura (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "mando profilo a 'standard error'" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: 'close' fallita (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() chiamata due volte!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "c'erano variabili nascoste." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "funzione `%s': non posso usare nome della funzione come nome parametro" -#: awkgram.y:3004 -#, c-format +#: awkgram.y:3088 +#, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" -msgstr "" -"funzione `%s': non posso usare la variabile speciale `%s' come parametro di " -"funzione" +msgstr "funzione `%s': non posso usare nome della funzione come nome parametro" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "funzione di nome `%s' definita in precedenza" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "funzione `%s' chiamata ma mai definita" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "funzione `%s' definita ma mai chiamata" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" "espressione regolare di valore costante per parametro #%d genera valore " "booleano" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -407,11 +420,11 @@ msgstr "" "funzione `%s' chiamata con spazio tra il nome e `(',\n" "o usata come variabile o vettore" -#: awkgram.y:3664 +#: awkgram.y:3750 msgid "division by zero attempted in `/'" msgstr "divisione per zero tentata in `/'" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "divisione per zero tentata in `%%'" @@ -666,243 +679,262 @@ msgstr "mktime: l'argomento non una stringa" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: l'argomento non una stringa" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" -msgstr "riferimento a variabile non inizializzata `$%d'" +msgstr "referenza a variabile non inizializzata `$%d'" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: l'argomento non una stringa" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: l'argomento non una stringa" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: il primo argomento non numerico" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: il secondo argomento non numerico" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: l'argomento non numerico" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: l'argomento non numerico" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: l'argomento non numerico" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: il terzo argomento non un vettore" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: il terzo argomento 0, trattato come 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: il primo argomento non numerico" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: il secondo argomento non numerico" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "lshift(%lf, %lf): valori troppo alti daranno risultati strani" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: il primo argomento non numerico" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: il secondo argomento non numerico" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "rshift(%lf, %lf): valori troppo alti daranno risultati strani" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: il primo argomento non numerico" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: il secondo argomento non numerico" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: il primo argomento non numerico" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: il secondo argomento non numerico" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: il primo argomento non numerico" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: il secondo argomento non numerico" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: l'argomento non numerico" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): valore negativo dar risultati strani" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): valore con decimali verr troncato" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' non una categoria 'locale' valida" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "tipo nodo sconosciuto %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "superament limiti buffer in 'genflags2str'" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "tentativo di usare vettore `%s' in un contesto scalare" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "ciclo for: vettore `%s' ha cambiato dimensione da %ld a %ld durante " "l'esecuzione del ciclo" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "`break' all'esterno di un ciclo non portabile" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "`break' all'esterno di un ciclo non consentito" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "`continue' all'esterno di un ciclo non portabile" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "`continue' all'esterno di un ciclo non consentito" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "`next' non pu essere chiamato da una regola BEGIN" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "`next' non pu essere chiamato da una regola END" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "`next' non pu essere chiamato da una regola BEGIN" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "`next' non pu essere chiamato da una regola END" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "`nextfile' non pu essere chiamato da una regola BEGIN" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "`nextfile' non pu essere chiamato da una regola END" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "`nextfile' non pu essere chiamato da una regola END" + +#: eval.c:963 msgid "statement has no effect" msgstr "istruzione che non fa nulla" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "non posso usare nome di funzione `%s' come variabile o vettore" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" -msgstr "riferimento ad argomento non inizializzato `%s'" +msgstr "referenza ad argomento non inizializzato `%s'" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" -msgstr "riferimento a variabile non inizializzata `%s'" +msgstr "referenza a variabile non inizializzata `%s'" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -910,39 +942,66 @@ msgstr "" "concatenatione: effetti secondari in una espressione hanno modificato la " "lunghezza di un'altra espressione!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "assegnamento usato nel contesto di un test condizionale" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "tentativo di dividere per zero" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tipo non ammesso (%s) in 'tree_eval'" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "divisione per zero tentata in `/='" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "divisione per zero tentata in `%%='" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "funzione `%s' chiamata con pi argomenti di quelli previsti" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "funzione `%s' non definita" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -953,688 +1012,741 @@ msgstr "" "\t# 'Stack' (Pila) Chiamate Funzione:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- principale --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "tentativo di referenziare campo da valore non numerico" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "tentativo to referenziare da stringa nulla" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "tentativo di accedere al campo %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "assegnamento non permesso al risultato di una funzione interna" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "`IGNORECASE' un'estensione gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' un'estensione gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" -msgstr "valore di BINMODE `%s' non valido, considerato come 3" +msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "specificazione invalida `%sFMT' `%s'" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "disabilito `--lint' a causa di assegnamento a `LINT'" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "`extension' un'estensione gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "estensione: non riesco ad aprire `%s' (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "" "estensione: biblioteca `%s': non riesco a chiamare funzione `%s' (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "estensione: manca nome di funzione" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "estensione: carattere non ammesso `%c' nel nome di funzione `%s'" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "estensione: non riesco a ridefinire funzione `%s'" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "estensione: funzione `%s' gi definita" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" "estensione: nome funzione interna gawk `%s' non ammesso come nome funzione" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "estensione: funzione di nome `%s' definita in precedenza" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "funzione `%s' definita per avere al massimo %d argumenti/o" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "funzione `%s': manca argomento #%d" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "funzione `%s': argomento #%d: tentativo di usare scalare come vettore" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "funzione `%s': argomento #%d: tentativo di usare vettore come scalare" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operazione Non Supportata" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF impostato a un valore negativo" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: il secondo argomento non un vettore" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: il terzo argomento un'estensione gawk" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: il secondo argomento non un vettore" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: la stringa nulla come terzo arg. un'estensione gawk" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: il secondo argomento non un vettore" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: il secondo argomento non un vettore" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: il terzo argomento non un vettore" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`FIELDWIDTHS' un'estensione gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" -msgstr "valore di FIELDWIDTHS non valido, vicino a `%s'" +msgstr "valore di FIELDWIDTHS invalido, vicino a `%s'" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "la stringa nulla usata come `FS' un'estensione gawk" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "il vecchio awk non supporta espressioni come valori di `FS'" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s' un'estensione gawk" + #: getopt.c:574 getopt.c:590 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" -msgstr "%s: opzione '%s' ambigua\n" +msgstr "%s: opzione `%s' ambigua\n" #: getopt.c:623 getopt.c:627 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: l'opzione '--%s' non ammette un argomento\n" +msgstr "%s: opzione `--%s' non prevede un argomento\n" #: getopt.c:636 getopt.c:641 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: l'opzione '%c%s' non ammette un argomento\n" +msgstr "%s: opzione `%c%s' non prevede un argomento\n" #: getopt.c:684 getopt.c:703 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s: l'opzione '--%s' richiede un argomento\n" +msgstr "%s: opzione `%s' richiede un argomento\n" #: getopt.c:741 getopt.c:744 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: opzione sconosciuta '--%s'\n" +msgstr "%s: opzione sconosciuta `--%s'\n" #: getopt.c:752 getopt.c:755 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: opzione sconosciuta '%c%s'\n" +msgstr "%s: opzione sconosciuta `%c%s'\n" #: getopt.c:804 getopt.c:807 -#, c-format +#, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: opzione non valida -- '%c'\n" +msgstr "%s: opzione non valida -- %c\n" #: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100 -#, c-format +#, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: l'opzione richiede un argomento -- '%c'\n" +msgstr "%s: l'opzione richiede un argomento -- %c\n" #: getopt.c:930 getopt.c:946 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: l'opzione '-W %s' ambigua\n" +msgstr "%s: opzione `-W %s' ambigua\n" #: getopt.c:970 getopt.c:988 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: l'opzione '-W %s' non ammette un argomento\n" +msgstr "%s: opzione `-W %s' non prevede un argomento\n" #: getopt.c:1009 getopt.c:1027 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s: l'opzione '-W %s' richiede un argomento\n" +msgstr "%s: opzione `%s' richiede un argomento\n" + +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" -#: io.c:322 io.c:352 +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "non riesco ad aprire file `%s' in lettura (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "errore leggendo file di input `%s': %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "chiusura di fd %d (`%s') fallita (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" -msgstr "tipo di albero non valido %s in redirect()" +msgstr "tipo di albero invalido %s in redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "espressione nella re-direzione `%s' ha solo un valore numerico" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "espressione nella re-direzione `%s' ha per valore la stringa nulla" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "nome file `%s' per la re-direzione `%s' pu essere il risultato di una " "espressione logica" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "mistura non necessaria di `>' e `>>' per il file `%.*s'" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "non posso aprire 'pipe' `%s' in scrittura (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "non posso aprire 'pipe' `%s' in lettura (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "non posso aprire 'pipe' bidirezionale `%s' per lettura/scrittura (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "non posso re-dirigere da `%s' (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "non posso re-dirigere a `%s' (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "numero massimo consentito di file aperti raggiunto: comincio a riutilizzare " "i descrittori di file" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "chiusura di `%s' fallita (%s)." -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "troppe 'pipe' o file di input aperti" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: il secondo argomento deve essere `a' o `da'" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: `%.*s' non un file aperto, una 'pipe' o un co-processo" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "chiusura di una re-direzione mai aperta" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "close: re-direzione `%s' non aperta con `|&', ignoro secondo argomento" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "errore ritornato (%d) dalla chiusura della 'pipe' `%s' (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "errore ritornato (%d) dalla chiusura del file `%s' (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "nessuna chiusura esplicita richiesta per 'socket' `%s'" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "nessuna chiusura esplicita richiesta per co-processo `%s'" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "nessuna chiusura esplicita richiesta per 'pipe' `%s'" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "nessuna chiusura esplicita richiesta per file `%s'" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "errore scrivendo 'standard output' (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "errore scrivendo 'standard error' (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "scaricamento di 'pipe' `%s' fallita (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "scaricamento da co-processo di 'pipe' a `%s' fallita (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "scaricamento di file `%s' fallita (%s)." -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "porta locale %s invalida in `/inet'" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "host remoto e informazione di porta (%s, %s) invalidi" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "spiacente, 'client' /inet/raw non ancora pronto" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "solo root pu usare `/inet/raw'." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "spiacente, 'server' /inet/raw non ancora pronto" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "nessuno protocollo (conosciuto) specificato nel filename speciale `%s'" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "nome file speciale `%s' incompleto" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "va fornito nome di 'host' remoto a `/inet'" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "va fornita porta remota a `/inet'" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "comunicazioni TCP/IP non supportate" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "file `%s' una 'directory'" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "usa `PROCINFO[\"%s\"]' invece che `%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "usa `PROCINFO[...]' invece che `/dev/user'" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "non riesco ad aprire `%s', modo `%s'" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "fallita chiusura di 'pty' principale (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "fallita chiusura di 'stdout' nel processo-figlio (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" "fallito trasferimento di 'pty' secondaria a 'stdout' nel processo-figlio " "(dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "fallita chiusura di 'stdin' nel processo-figlio (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" "fallito trasferimento di 'pty' secondaria a 'stdin' nel processo-figlio " "(dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "fallita chiusura di 'pty' secondaria (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "fallito passaggio di 'pipe' a 'stdout' nel processo-figlio (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "fallito passaggio di pipe a 'stdin' nel processo-figlio (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "fallito ripristino di 'stdout' nel processo-padre\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "fallito ripristino di 'stdin' nel processo-padre\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "fallita chiusura di 'pipe' (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' non supportato" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "non riesco ad aprire 'pipe' `%s' (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "non riesco a creare processo-figlio per `%s' (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "file dati `%s' vuoto" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "non riesco ad allocare ulteriore memoria per l'input" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "errore leggendo file di input `%s': %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "valore multicarattere per `RS' un'estensione gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "memoria esaurita" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "`-m[fr]' opzione irrilevante per gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "-m uso opzione: `-m[fr] nnn'" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "argomento di `--source' mancante, comando ignorato" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: opzione `-W %s' non riconosciuta, ignorata\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "argomento di `--source' mancante, comando ignorato" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: l'opzione richiede un argomento -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "variable d'ambiente `POSIXLY_CORRECT' impostata: attivo `--posix'" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "`--posix' annulla `--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "`--posix'/`--traditional' annulla `--non-decimal-data'" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "eseguire %s con 'setuid' root pu essere un rischio per la sicurezza" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "`--posix' annulla `--traditional'" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "non posso impostare modalit binaria su 'stdin'(%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "non posso impostare modalit binaria su 'stdout'(%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "non posso impostare modalit binaria su 'stderr'(%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "manca del tutto il testo del programma!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Uso: %s [opzioni in stile POSIX o GNU] -f fileprog [--] file ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Usage: %s [opzioni in stile POSIX o GNU] [--] %cprogramma%c file ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Opzioni POSIX:\t\topzioni lunghe GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f fileprog\t\t--file=fileprog\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=valore\t\t--assign=var=valore\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "Opzioni POSIX:\t\topzioni lunghe GNU:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] valore\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "\t-O\t\t\t--optimize\n" - -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=file]\t--dump-variables[=file]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=testo-programma\t--source=testo-programma\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec[=file]\t--exec[=file]\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +#, fuzzy +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=file]\t--profile[=file]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=testo-programma\t--source=testo-programma\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1646,7 +1758,7 @@ msgstr "" "sezione `Reporting Problems and Bugs' nella versione a stampa.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1656,7 +1768,7 @@ msgstr "" "Senza parametri, legge da 'standard input' e scrive su 'standard output'.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1666,7 +1778,7 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1685,7 +1797,7 @@ msgstr "" "Licenza, o (a tua scelta) a una qualsiasi versione successiva.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1695,11 +1807,11 @@ msgid "" msgstr "" "Questo programma distribuito con la speranza che sia utile,\n" "ma SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita\n" -"di COMMERCIABILIT o IDONEIT AD UN PARTICOLARE SCOPO.\n" +"di COMMERCIABILITA' o IDONEITA' AD UN PARTICOLARE SCOPO.\n" "Vedi la 'GNU General Public License' per ulteriori dettagli.\n" "\n" -#: main.c:813 +#: main.c:864 msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" @@ -1708,11 +1820,16 @@ msgstr "" "assieme a questo programma; se non cos, vedi http://www.gnu.org/" "licenses/.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft non imposta FS a 'tab' nell'awk POSIX" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1721,43 +1838,45 @@ msgstr "" "%s: `%s' argomento di `-v' non in forma `var=valore'\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' non un nome di variabile ammesso" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "`%s' non un nome di variabile, cerco il file `%s=%s'" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "eccezione floating point" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "errore fatale: errore interno" -#: main.c:1206 +#: main.c:1260 +#, fuzzy msgid "fatal error: internal error: segfault" -msgstr "errore fatale: errore interno: segfault" +msgstr "errore fatale: errore interno" -#: main.c:1218 +#: main.c:1272 +#, fuzzy msgid "fatal error: internal error: stack overflow" -msgstr "errore fatale: errore interno: stack overflow" +msgstr "errore fatale: errore interno" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "manca 'fd' predefinita %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "non riesco a predefinire /dev/null per 'fd' %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "non riesco a trovare gruppi: %s" @@ -1829,21 +1948,21 @@ msgstr "non riesco ad aprire `%s' in scrittura: %s" msgid "internal error: %s with null vname" msgstr "errore interno: %s con 'vname' nullo" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" -msgstr "# gestito internamente come `delete' [cancellazione]" +msgstr "# gestito internamente come 'delete' (cancellazione)" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "# questa una funzione di estensione caricata dinamicamente" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# profilo gawk, creato %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1852,7 +1971,16 @@ msgstr "" "\t# blocco(hi) BEGIN\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# blocco(hi) BEGIN\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1861,7 +1989,16 @@ msgstr "" "\t# Regola(e)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# blocco(hi) END\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1870,7 +2007,7 @@ msgstr "" "\t# blocco(hi) END\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1879,15 +2016,20 @@ msgstr "" "\n" "\t# Funzioni, listate in ordine alfabetico\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "tipo non previsto %s in 'prec_level'" -#: profile.c:1527 -#, c-format +#: profile.c:1557 +#, fuzzy, c-format msgid "Unknown node type %s in pp_var" -msgstr "Tipo nodo sconosciuto %s in pp_var" +msgstr "tipo nodo sconosciuto %d" + +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" #: regcomp.c:132 msgid "Success" @@ -1907,7 +2049,7 @@ msgstr "Carattere di ordinamento non valido" #: regcomp.c:144 msgid "Invalid character class name" -msgstr "Nome di 'classe di caratteri' non valido" +msgstr "Nome di 'classe di caratteri' invalido" #: regcomp.c:147 msgid "Trailing backslash" @@ -1915,7 +2057,7 @@ msgstr "'\\' finale" #: regcomp.c:150 msgid "Invalid back reference" -msgstr "Riferimento indietro non valido" +msgstr "Riferimento indietro invalido" #: regcomp.c:153 msgid "Unmatched [ or [^" @@ -1931,11 +2073,11 @@ msgstr "\\{ non chiusa" #: regcomp.c:162 msgid "Invalid content of \\{\\}" -msgstr "Contenuto di \\{\\} non valido" +msgstr "Contenuto di \\{\\} invalido" #: regcomp.c:165 msgid "Invalid range end" -msgstr "Fine di intervallo non valido" +msgstr "Fine di intervallo invalido" #: regcomp.c:168 msgid "Memory exhausted" @@ -1960,3 +2102,47 @@ msgstr ") or \\) non aperta" #: regcomp.c:699 msgid "No previous regular expression" msgstr "Nessuna espressione regolare precedente" + +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: opzione non permessa -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "file `%s' una 'directory'" + +#~ msgid "can't open two way socket `%s' for input/output (%s)" +#~ msgstr "" +#~ "non posso aprire 'socket' bidirezionale `%s' per lettura/scrittura (%s)" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: manca argomento" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: `%.*s' non un file aperto, una 'pipe' o un co-processo" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: `%.*s' non un file aperto, una 'pipe' o un co-processo" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "`%s' non un nome di variabile ammesso" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "usa `PROCINFO[\"%s\"]' invece che `%s'" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "usa `PROCINFO[...]' invece che `/dev/user'" Binary files differ@@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.4l\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2005-06-27 02:37+1000\n" "Last-Translator: Makoto Hosoya <mhosoya@ozemail.com.au>\n" "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" @@ -75,332 +75,347 @@ msgstr "%s: ϥѥǤ\n" msgid "%s: array_ref to %s\n" msgstr "%s: %s ؤ (array_ref)\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "%s ֥åˤϥɬܤǤ" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "ƥ롼ˤϥѥޤϥɬܤǤ" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 #, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "黻 `**' ϸŤ awk ǻȤޤ" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' ȹߴؿǤǤޤ" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "ɽ `//' C++Ȥ˻Ƥޤ㤤ޤ" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "ɽ `/%s/' CȤ˻Ƥޤ㤤ޤ" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "̿ʸˤϸ̵̤⤷ޤ" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "`%s' %s ΥǻȤޤ" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "`nextfile' gawk ͭγĥǤ" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "`return' ؿʸγǻȤޤ" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "BEGIN ޤ END 롼ΰ̵ `print' `print \"\"' Ȼפ" "" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "`delete array' gawk ͭγĥǤ" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(array)' tawk ͭγĥǤ¾ awk ǤϻѤǤޤ" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "switch ʸ˽ʣ case ͤѤƤޤ: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "switch ʸ `default' ʣƤޤ" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "¿ʳѥפѤϻѤǤޤ" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "ɽαդ˻ѤƤޤ" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "`~' `!~' 黻ҤκդɽѤƤޤ" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 #, fuzzy msgid "old awk does not support the keyword `in' except after `for'" msgstr "黻 `**' ϸŤ awk ǻȤޤ" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "ӼαդɽѤƤޤ" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "`%s' Υ⡼ȥݡȤ̵Ǥ" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "쥯ȤƤʤ `getline' END Ǥ̤Ǥ" -#: awkgram.y:904 +#: awkgram.y:955 #, fuzzy msgid "old awk does not support multidimensional arrays" msgstr "黻 `**' ϸŤ awk ǻȤޤ" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "̵ `length' ¾ awk ǻѤǤޤ" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "POSIX ϳ̵Ǥ `length' λѤ侩ޤ" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`extension' gawk ͭγĥǤ" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "ǤʤΤȤƻѤƤޤ" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "źǤ" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "ͽ۳βԤޤʸνüޤ" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "ޥɹԤΥץɽǤ" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "ե `%s' ɤ߹ि˳ޤ (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "ե `%s' ɤ߹ޤ (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "ե `%s' ϶Ǥ" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "ե뤬ԤǽäƤޤ" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "üƤʤɽեǸ `\\' ǽäƤޤ" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "%s: %d: tawk ɽ `/.../%c' gawk ǻѤǤޤ" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "tawk ɽ `/.../%c' gawk ǻѤǤޤ" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "ɽüƤޤ" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "եɽüƤޤ" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "`\\ #...' ιԷ³¾ awk ǻȤޤ" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "Хåå夬ԺǸʸˤʤäƤޤ" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX ϱ黻 `**=' Ĥޤ" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "黻 `**=' ϸŤ awk ǻȤޤ" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX Ǥϱ黻 `**' ĤƤޤ" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "黻 `**' ϸŤ awk ǻȤޤ" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "黻 `^=' ϸŤ awk ǻȤޤ" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "黻 `^' ϸŤ awk ǻȤޤ" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "ʸüƤޤ" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "ɽ char '%c' Ǥ" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' gawk ͭγĥǤ" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s' ϥ٥븦ˤĥǤ" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX `%s' Ĥޤ" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' ϸŤ awk ǻѤǤޤ" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "`goto' ͭǤ!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d %s ˻ȤοȤƤǤ" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: 軰 gawk ͭγĥǤ" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "%s: ʸƥ֤Ǹΰ˻Ѥȸ̤ޤ" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s 軰ѥϲѥ֥ȤǤϤޤ" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: gawk ͭγĥǤ" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "dcgettext(_\"...\")λȤְäƤޤ: ǽΥƤ" "" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "dcngettext(_\"...\")λȤְäƤޤ: ǽΥ" "" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "ؿ `%s': ѥ #%d, `%s' ѥ #%d ȽʣƤޤ" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "ؿ `%s': ѥ `%s' ѿʤƤޤ" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "`%s' Ѥ˳ޤǤ (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "ץեɸ२顼äƤޤ" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: Ĥ뤳ȤǤޤ (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() ƤӽФƤޤ!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "ʤ줿ѿޤ" -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "ؿ `%s': ؿ̾ϥѥ̾˻ѤǤޤ" -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "ؿ `%s': ؿ̾ϥѥ̾˻ѤǤޤ" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "ؿ̾ `%s' ѤߤǤ" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "̤δؿ `%s' ƤӽФޤ" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "줿ؿ `%s' ϰ٤ƤӽФޤǤ" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "ѥ #%d ɽϥ֡ͤϤޤ" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -409,12 +424,12 @@ msgstr "" "ؿ̾ `(' δ֤˥ڡƴؿ `%s' ƤӽФƤޤ\n" "ޤϡѿȤƻȤƤޤ" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "`/=' ǥǤνԤޤ" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "`%%' ǥǤνԤޤ" @@ -666,242 +681,261 @@ msgstr "mktime: ʸǤϤޤ" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: ʸǤϤޤ" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "Ƥʤե `$%d' ȤƤޤ" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: ʸǤϤޤ" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: ʸǤϤޤ" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: ͤǤϤޤ" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: ͤǤϤޤ" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: ͤǤϤޤ" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: ͤǤϤޤ" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: ͤǤϤޤ" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: 軰̾ǤϤޤ" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: 軰 0 Ǥ1 ˻Ѥޤ" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: ͤǤϤޤ" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: ͤǤϤޤ" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): οͤѤȰ۾ʷ̤ˤʤޤ" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): ʲڤΤƤˤʤޤ" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "lshift(%lf, %lf): եͤ礭Ȱ۾ʷ̤ˤʤޤ" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: ͤǤϤޤ" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: ͤǤϤޤ" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): οͤѤȰ۾ʷ̤ˤʤޤ" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): ʲڤΤƤˤʤޤ" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "rshift(%lf, %lf): եͤ礭Ȱ۾ʷ̤ˤʤޤ" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: ͤǤϤޤ" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: ͤǤϤޤ" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): οͤѤȰ۾ʷ̤ˤʤޤ" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): ʲڤΤƤˤʤޤ" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: ͤǤϤޤ" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: ͤǤϤޤ" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): οͤѤȰ۾ʷ̤ˤʤޤ" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): ʲڤΤƤˤʤޤ" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: ͤǤϤޤ" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: ͤǤϤޤ" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): οͤѤȰ۾ʷ̤ˤʤޤ" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): ʲڤΤƤˤʤޤ" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: ͤǤϤޤ" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): οͤѤȰ۾ʷ̤ˤʤޤ" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): ʲڤΤƤˤʤޤ" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' ʥ롦ƥǤ" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "Ρ %d μबǤ" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "genflags2str Хåե̤Ķᤷޤ" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "顼Ķ `%s' ѤƤޤ" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for 롼: 롼 `%s' Υ %ld %ld Ѥޤ" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "롼פγǻѤ `break' ¾ awk ǻѤǤޤ" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "롼פγǤ `break' ѤǤޤ" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "롼פγǻѤ `continue' ¾ awk ǻѤǤޤ" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "롼פγǤ `continue' ѤǤޤ" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "BEGIN 롼뤫 `next' ƤӽФޤ" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "END 롼뤫 `next' ƤӽФޤ" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "BEGIN 롼뤫 `next' ƤӽФޤ" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "END 롼뤫 `next' ƤӽФޤ" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "BEGIN 롼뤫 `nextfile' ƤӽФޤ" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "END 롼뤫 `nextfile' ƤӽФޤ" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "END 롼뤫 `nextfile' ƤӽФޤ" + +#: eval.c:963 msgid "statement has no effect" msgstr "̿ʸ˸̤Ϥޤ" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "ؿ̾ `%s' ѿˤϻȤޤ" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "Ƥʤ `%s' ȤƤޤ" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "Ƥʤѿ `%s' ȤƤޤ" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -909,39 +943,66 @@ msgstr "" "concatenationʸϢ: μѤǡ⤦ĹѤޤ" "!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "ʸǤ" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "ǤνԤޤ" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tree_eval ʥ (%s) ѤƤޤ" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "`/=' ǥǤνԤޤ" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "`%%=' ǥǤνԤޤ" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "Ƥ¿Ȥäƴؿ `%s' ƤӽФޤ" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "ؿ `%s' Ƥޤ" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -952,147 +1013,182 @@ msgstr "" "\t# ƽдؿå:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- ᥤ --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "ͰʳͤȤäƥեɤȤƤޤ" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "ȤäƻȤƤޤ" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "ե %d ȤƤޤ" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "ȹؿͤϤǤޤ" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "`IGNORECASE' gawk ͭγĥǤ" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' gawk ͭγĥǤ" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "`%sFMT' λ `%s' ְäƤޤ" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "`LINT' ؤ˽ `--lint' ̵ˤޤ" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "`extension' gawk ͭγĥǤ" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: `%s' ޤ (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: 饤֥ `%s': ؿ `%s' ƤӽФޤ (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "extension: ؿ̾ޤ" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: ؿ̾ `%2$s' ʸ `%1$c' ȤƤޤ" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: ؿ `%s' Ǥޤ" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "extension: ؿ `%s' ϴƤޤ" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "extension: Ȥ߹ߴؿ `%s' ϴؿ̾˻Ȥޤ" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "extension: ؿ̾ `%s' ϴƤޤ" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "ؿ `%s' ˻Ȥο `%d' ʲƤޤ" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "ؿ `%s': #%d ޤ" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "ؿ `%s': #%d: 顼ȤƻѤƤޤ" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "ؿ `%s': #%d: 顼ȤƻѤƤޤ" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "ϼƤޤ" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF ͤǤ" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: ǤϤޤ" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: 軰 gawk ͭγĥǤ" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: ǤϤޤ" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: 軰˶ѤΤ gawk ͭγĥǤ" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: ǤϤޤ" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: ǤϤޤ" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: 軰̾ǤϤޤ" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`FIELDWIDTHS' gawk ͭγĥǤ" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "`%s' ն FIELDWIDTHS ͤǤ" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "`FS' ˶ѤΤ gawk ͭγĥǤ" -#: field.c:1092 +#: field.c:1242 #, fuzzy msgid "old awk does not support regexps as value of `FS'" msgstr "黻 `**' ϸŤ awk ǻȤޤ" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s' gawk ͭγĥǤ" + #: getopt.c:574 getopt.c:590 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1148,500 +1244,517 @@ msgstr "%s: ץ `-W %s' ˰Ϥޤ\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: ץ `%s' ˤϰɬפǤ\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "ե `%s' ɤ߹ि˳ޤ (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "ϥե `%s' ɤ߹˥顼ȯޤ: %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "fd %d (`%s') Ĥ뤳ȤǤޤ (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "redirect() ʥĥ %s ѤƤޤ" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "`%s' 쥯Ȥ̿ἰ˿ͤҤƤޤ" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "`%s' 쥯Ȥ̿ἰǤ" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "`%2$s' 쥯Ȥ黻η̤Ȼפե̾ `%1$s' ȤƤ" "" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "ե `%.*s' ɬװʾ `>' `>>' ȹ礻Ƥޤ" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "Ѥ˥ѥ `%s' ޤ (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "Ѥ˥ѥ `%s' ޤ (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "Ѥѥ `%s' ޤ (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "`%s' 쥯ȤǤޤ (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "`%s' ˥쥯ȤǤޤ (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "Ƥեοƥ¤ãޤե뵭һҤ¿Ų" "" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "`%s' Ĥޤ (%s)" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "Ƥѥפޤϥեο¿ޤ" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: ˻ѤǤΤ `to' ޤ `from' Ǥ" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "" "close: `%.*s' ϥե롢ѥס¹ԥץΤǤ⤢ޤ" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "Ƥʤ쥯ȤĤ褦ȤƤޤ" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: 쥯 `%s' `|&' ȤäƤޤ̵뤷ޤ" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "ѥ `%2$s' ĤȤξ֥ɤ (%1$d) Ǥ (%3$s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "ե `%2$s' ĤȤξ֥ɤ (%1$d) Ǥ (%3$s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "å `%s' ĤƤޤ" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "¹ԥץ `%s' ĤƤޤ" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "ѥ `%s' ĤƤޤ" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "ե `%s' ĤƤޤ" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "ɸϤؤνߥ顼 (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "ɸ२顼ؤνߥ顼 (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "ѥ `%s' եåǤޤ (%s)" -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "`%s' ³ѥפ¹ԥץեåǤޤ (%s)" -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "ե `%s' եåǤޤ (%s)" -#: io.c:1222 +#: io.c:1292 #, fuzzy, c-format msgid "local port %s invalid in `/inet'" msgstr "`%s' ΥݡȤ̵Ǥ" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "ǰʤ顢/inet/raw 饤ȤνǤƤޤ" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "`/inet/raw' root 桼ΤѤǤޤ" -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "ǰʤ顢/inet/raw СνǤƤޤ" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "" "ڥե̾ `%s' ˡǧǤ˥ץȥ뤬ꤵƤޤ" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "ڥե̾ `%s' ԴǤ" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "`/inet' ˤϥ⡼ȥۥ̾ɬפǤ" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "`/inet' ˤϥ⡼ȥݡֹ椬ɬפǤ" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "TCP/IP ³ϻѤǤޤ" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "ե `%s' ϥǥ쥯ȥǤ" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "`%2$s' `PROCINFO[\"%1$s\"]' ѤƤ" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "`/dev/user' `PROCINFO[...]' ѤƤ" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "`%s' (⡼ `%s') ޤ" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "ޥ pty Ĥޤ (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "ҥץɸϤĤޤ (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "ҥץ졼 pty ɸϤ˰ưǤޤ (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "ҥץɸϤĤޤ (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "ҥץ졼 pty ɸϤ˰ưǤޤ (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "졼 pty Ĥޤ (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "ҥץѥפɸϤ˰ưǤޤ (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "ҥץѥפɸϤ˰ưǤޤ (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "ƥץɸϤǤޤ\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "ƥץɸϤǤޤ\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "ѥפĤޤ (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' ϻѤǤޤ" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "ѥ `%s' ޤ (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "`%s' Ѥλҥץ¹ԤǤޤ (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "ǡե `%s' ϶Ǥ" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "ѥʾݤǤޤ" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "ϥե `%s' ɤ߹˥顼ȯޤ: %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "ʣʸ `RS' ˻ѤΤ gawk ͭγĥǤ" -#: main.c:306 +#: main.c:313 msgid "out of memory" msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "gawk Ǥϥץ `-m[fr]' ˸̤Ϥޤ" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "-m ץλˡ: `-m[fr] '" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr " `--source' ̵뤵ޤ" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: ץ `-W %s' ǧǤޤ̵뤷ޤ\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr " `--source' ̵뤵ޤ" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: ɬפʥץ -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "" "Ķѿ `POSIXLY_CORRECT' ꤵƤޤץ `--posix' ͭ" "ޤ" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "ץ `--posix' `--traditional' ̵ˤޤ" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "" "ץ `--posix'/`--traditional' `--non-decimal-data' ̵ˤޤ" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "" "setuid root %s ¹Ԥȡƥ꤬ȯ礬" "" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "ץ `--posix' `--traditional' ̵ˤޤ" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "ɸϤХʥ⡼ɤǤޤ (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "ɸϤХʥ⡼ɤǤޤ (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "ɸ२顼Хʥ⡼ɤǤޤ (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "ץʸޤ!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Ȥ: %s [POSIX ޤ GNU ץ] -f ץե [--] " "ե \n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Ȥ: %s [POSIX ޤ GNU ץ] [--] %cץ%c ϥե" " \n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX ץ:\t\tGNU Ĺץ\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f ץե\t\t--file=ץե\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "" "\t-F եɥѥ졼\t\t\t--field-separator=եɥѥ졼\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v ѿ=\t\t--assign=ѿ=\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "POSIX ץ:\t\tGNU Ĺץ\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] \n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=ե]\t--dump-variables[=ե]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=ץʸ\t--source=ץʸ\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=ե\t\t--exec=ե\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=ե]\t--profile[=ե]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=ץʸ\t--source=ץʸ\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1654,7 +1767,7 @@ msgstr "" "ϡ`Reporting Problems and Bugs' Ǥ\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1664,7 +1777,7 @@ msgstr "" "ǥեǤϡɸϤɤ߹ߡɸϤ˽Фޤ\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1674,8 +1787,8 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' ϥե\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 -#, fuzzy, c-format +#: main.c:845 +#, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" "\n" @@ -1692,7 +1805,7 @@ msgstr "" "˽ۡڤ/ޤϡѹä뤳ȤǤޤ\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1706,7 +1819,7 @@ msgstr "" "ܤϡGNU General Public License ȤƤ\n" "\n" -#: main.c:813 +#: main.c:864 #, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" @@ -1719,11 +1832,16 @@ msgstr "" "\t59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\n" "ؽ̤ǤΤ餻\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "POSIX ͤ awk Ǥ -Ft FS ֤Ǥޤ" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1732,45 +1850,45 @@ msgstr "" "%s: ץ `-v' ΰ `%s' `ѿ=' ηˤʤäƤޤ\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' ѿ̾Ǥ" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "`%s' ѿ̾ǤϤޤ`%s=%s' Υեõޤ" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "ư㳰" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "̿Ū顼: 顼" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "̿Ū顼: 顼" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "̿Ū顼: 顼" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "fd %d ˳Ƥޤ" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr " fd %d Ѥ /dev/null ޤ" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "롼פĤޤ: %s" @@ -1840,21 +1958,21 @@ msgstr "`%s' Ѥ˳ޤǤ: %s" msgid "internal error: %s with null vname" msgstr "顼: %s vname ̵Ǥ" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# Ǥ `delete' Ȥưޤ" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "# ưŪ˥ɤ줿ĥǽǤ" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# gawk ץե롢 %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1863,7 +1981,16 @@ msgstr "" "\t# BEGIN ֥å\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# BEGIN ֥å\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1872,7 +1999,16 @@ msgstr "" "\t# 롼\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# END ֥å\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1881,7 +2017,7 @@ msgstr "" "\t# END ֥å\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1890,16 +2026,21 @@ msgstr "" "\n" "\t# ؿʥե٥åȽ\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "prec_level %s ͽ۳ΥפǤ" -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "Ρ %d μबǤ" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "" @@ -1975,8 +2116,44 @@ msgstr "˻ѤɽϤޤ" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: ʥץ -- %c\n" +#~ msgid "file `%s' is a directory" +#~ msgstr "ե `%s' ϥǥ쥯ȥǤ" + #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "Ѥå `%s' ޤ (%s)" -#~ msgid "remote port invalid in `%s'" -#~ msgstr "`%s' Υ⡼ȥݡȤ̵Ǥ" +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: ޤ" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "" +#~ "close: `%.*s' ϥե롢ѥס¹ԥץΤǤ⤢ޤ" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "" +#~ "close: `%.*s' ϥե롢ѥס¹ԥץΤǤ⤢ޤ" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "`%s' ѿ̾Ǥ" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "`%2$s' `PROCINFO[\"%1$s\"]' ѤƤ" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "`/dev/user' `PROCINFO[...]' ѤƤ" Binary files differ@@ -1,38 +1,34 @@ -# Dutch translations for gawk. -# Copyright (C) 2010 Free Software Foundation, Inc. -# This file is distributed under the same license as the gawk package. -# Pozdrav iz Maribora! +# Translation of gawk-3.1.5h to Dutch. +# Copyright (C) 2005, 2007 Free Software Foundation, Inc. # -# Erwin Poeze <erwin.poeze@gmail.com>, 2009. -# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2010. +# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007. msgid "" msgstr "" -"Project-Id-Version: gawk 3.1.7i\n" +"Project-Id-Version: gawk 3.1.5h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" -"PO-Revision-Date: 2010-04-30 17:03+0200\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" +"PO-Revision-Date: 2007-10-02 12:43+0200\n" "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: KBabel 1.11.4\n" #: array.c:112 #, c-format msgid "attempt to use function `%s' as an array" -msgstr "functie '%s' wordt gebruikt als array" +msgstr "functie `%s' wordt gebruikt als array" #: array.c:115 #, c-format msgid "attempt to use scalar parameter `%s' as an array" -msgstr "scalaire parameter '%s' wordt gebruikt als array" +msgstr "scalaire parameter `%s' wordt gebruikt als array" #: array.c:118 #, c-format msgid "attempt to use scalar `%s' as array" -msgstr "scalair '%s' wordt gebruikt als array" +msgstr "scalair `%s' wordt gebruikt als array" #: array.c:156 #, c-format @@ -40,19 +36,19 @@ msgid "from %s" msgstr "van %s" #: array.c:513 -#, c-format +#, fuzzy, c-format msgid "reference to uninitialized element `%s[\"%.*s\"]'" -msgstr "verwijzing naar ongeïnitialiseerd element '%s[\"%.*s\"]'" +msgstr "verwijzing naar ongeïnitialiseerd element '%s[\"%s\"]'" #: array.c:519 #, c-format msgid "subscript of array `%s' is null string" -msgstr "index van array '%s' is lege string" +msgstr "index van array `%s' is lege string" #: array.c:623 #, c-format msgid "delete: index `%s' not in array `%s'" -msgstr "delete: index '%s' niet in array '%s'" +msgstr "delete: index `%s' niet in array '%s'" #: array.c:792 #, c-format @@ -79,325 +75,339 @@ msgstr "%s: is een parameter\n" msgid "%s: array_ref to %s\n" msgstr "%s: array-verwijzing naar %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "%s-blokken horen een actiedeel te hebben" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "elke regel hoort een patroon of een actiedeel te hebben" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "oude 'awk' staat meerdere 'BEGIN'- en 'END'-regels niet toe" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "'%s' is een ingebouwde functie en is niet te herdefiniëren" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "regexp-constante '//' lijkt op C-commentaar, maar is het niet" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "regexp-constante '/%s/' lijkt op C-commentaar, maar is het niet" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "opdracht heeft mogelijk geen effect" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "'%s' wordt gebruikt in %s-actie" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "'nextfile' is een gawk-uitbreiding" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "'return' wordt gebruikt buiten functiecontext" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "kale 'print' in BEGIN- of END-regel moet vermoedelijk 'print \"\"' zijn" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "'delete array' is een gawk-uitbreiding" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" -msgstr "'delete(array)' is een niet-overdraagbare 'tawk'-uitbreiding" +msgstr "'delete(array)' is een niet-overdraagbare tawk-uitbreiding" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "dubbele 'case'-waarde in 'switch'-opdracht: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "dubbele 'default' in 'switch'-opdracht" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "meerfase-tweerichtings-pijplijnen werken niet" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "reguliere expressie rechts van toewijzing" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "reguliere expressie links van operator '~' of '!~'" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "oude 'awk' kent het sleutelwoord 'in' niet, behalve na 'for'" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "reguliere expressie rechts van vergelijking" -#: awkgram.y:893 +#: awkgram.y:936 +#, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "onherverwezen 'getline' is ongedefinieerd binnen END-actie" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "oude 'awk' kent geen meerdimensionale arrays" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "aanroep van 'length' zonder haakjes is niet overdraagbaar" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "aanroep van 'length' zonder haakjes wordt door POSIX afgeraden" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "'extension' is een gawk-uitbreiding" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "non-array wordt gebruikt als array" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "ongeldige index-expressie" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "onverwacht regeleinde of einde van string" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "lege programmatekst op commandoregel" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "kan bronbestand '%s' niet openen om te lezen (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "kan bronbestand '%s' niet lezen (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "bronbestand '%s' is leeg" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "bronbestand eindigt niet met een regeleindeteken (LF)" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "onafgesloten reguliere expressie eindigt met '\\' aan bestandseinde" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" -msgstr "%s: %d: regexp-optie '/.../%c' van 'tawk' werkt niet in gawk" +msgstr "%s: %d: regexp-optie '/.../%c' van tawk werkt niet in gawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" -msgstr "regexp-optie '/.../%c' van 'tawk' werkt niet in gawk" +msgstr "regexp-optie '/.../%c' van tawk werkt niet in gawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "onafgesloten reguliere expressie" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "onafgesloten reguliere expressie aan bestandseinde" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "gebruik van regelvoortzetting '\\ #...' is niet overdraagbaar" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "backslash is niet het laatste teken op de regel" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX staat operator '**=' niet toe" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "oude 'awk' kent de operator '**=' niet" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX staat operator '**' niet toe" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "oude 'awk' kent de operator '**' niet" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "oude 'awk' kent de operator '^=' niet" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "oude 'awk' kent de operator '^' niet" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "onafgesloten string" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "ongeldig teken '%c' in expressie" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "'%s' is een gawk-uitbreiding" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "'%s' is een uitbreiding door Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX staat '%s' niet toe" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "oude 'awk' kent '%s' niet" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "'goto' wordt als schadelijk beschouwd!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d is een ongeldig aantal argumenten voor %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: derde argument is een gawk-uitbreiding" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "%s: een stringwaarde als laatste vervangingsargument heeft geen effect" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s: derde parameter is geen veranderbaar object" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: tweede argument is een gawk-uitbreiding" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "dcgettext(_\"...\") is onjuist: verwijder het liggende streepje" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "dcngettext(_\"...\") is onjuist: verwijder het liggende streepje" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "functie '%s': parameter #%d, '%s', dupliceert parameter #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "functie '%s': parameter '%s' schaduwt een globale variabele" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "kan '%s' niet openen om te schrijven (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "profiel gaat naar standaardfoutuitvoer" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: sluiten is mislukt (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() twee keer aangeroepen!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "er waren geschaduwde variabelen." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "functie '%s': kan functienaam niet als parameternaam gebruiken" -#: awkgram.y:3004 -#, c-format +#: awkgram.y:3088 +#, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" -msgstr "" -"functie '%s': kan speciale variabele '%s' niet als functieparameter gebruiken" +msgstr "functie '%s': kan functienaam niet als parameternaam gebruiken" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "functienaam '%s' is al eerder gedefinieerd" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "functie '%s' aangeroepen maar nergens gedefinieerd" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "functie '%s' gedefinieerd maar nergens aangeroepen" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "regexp-constante als parameter #%d levert booleanwaarde op" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -406,11 +416,12 @@ msgstr "" "functie '%s' aangeroepen met spatie tussen naam en '(',\n" "of gebruikt als variabele of array" -#: awkgram.y:3664 +#: awkgram.y:3750 +#, fuzzy msgid "division by zero attempted in `/'" -msgstr "deling door nul in '/'" +msgstr "deling door nul in '/='" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "deling door nul in '%%'" @@ -474,11 +485,11 @@ msgstr "'length(array)' is een gawk-uitbreiding" #: builtin.c:471 msgid "length: untyped parameter argument will be forced to scalar" -msgstr "length: typeloos parameterargument wordt omgezet naar scalair" +msgstr "" #: builtin.c:480 msgid "length: untyped argument will be forced to scalar" -msgstr "length: typeloos argument wordt omgezet naar scalair" +msgstr "" #: builtin.c:484 msgid "length: received non-string argument" @@ -500,17 +511,17 @@ msgstr "'count$' hoort in alle opmaken gebruikt te worden, of in geen" #: builtin.c:790 #, c-format msgid "field width is ignored for `%%%%' specifier" -msgstr "veldbreedte wordt genegeerd voor opmaakaanduiding '%%%%'" +msgstr "" #: builtin.c:792 #, c-format msgid "precision is ignored for `%%%%' specifier" -msgstr "veldprecisie wordt genegeerd voor opmaakaanduiding '%%%%'" +msgstr "" #: builtin.c:794 #, c-format msgid "field width and precision are ignored for `%%%%' specifier" -msgstr "veldbreedte en -precisie worden genegeerd voor opmaakaanduiding '%%%%'" +msgstr "" #: builtin.c:845 msgid "`$' is not permitted in awk formats" @@ -566,7 +577,6 @@ msgstr "[s]printf: waarde %g ligt buiten toegestaan bereik voor opmaak '%%%c'" #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" -"onbekend opmaakteken '%c' wordt genegeerd: geen argument is geconverteerd" #: builtin.c:1338 msgid "not enough arguments to satisfy format string" @@ -663,245 +673,264 @@ msgstr "mktime: argument is geen string" #: builtin.c:1746 msgid "mktime: at least one of the values is out of the default range" -msgstr "mktime: minstens één van waarden valt buiten het standaardbereik" +msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: argument is geen string" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "verwijzing naar ongeïnitialiseerd veld '$%d'" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: argument is geen string" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: argument is geen string" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: eerste argument is geen getal" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: tweede argument is geen getal" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: argument is geen getal" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: argument is geen getal" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: argument is geen getal" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: derde argument is geen array" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: derde argument is 0; wordt beschouwd als 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: eerste argument is geen getal" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: tweede argument is geen getal" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "lshift(%lf, %lf): te grote opschuifwaarden geven rare resultaten" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: eerste argument is geen getal" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: tweede argument is geen getal" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "rshift(%lf, %lf): te grote opschuifwaarden geven rare resultaten" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: eerste argument is geen getal" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: tweede argument is geen getal" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: eerste argument is geen getal" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: tweede argument is geen getal" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: eerste argument is geen getal" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: tweede argument is geen getal" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: argument is geen getal" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): negatieve waarden geven rare resultaten" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): cijfers na de komma worden afgekapt" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" -msgstr "dcgettext: '%s' is geen geldige taalregio-deelcategorie" +msgstr "dcgettext: '%s' is geen geldige lokale categorie" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" -msgstr "onbekend knooptype %d" +msgstr "onbekend nodetype %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "bufferoverloop in genflags2str()" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "array '%s' wordt gebruikt in een scalaire context" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for: array '%s' veranderde van grootte %ld naar %ld tijdens uitvoer van de " "lus" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "'break' buiten een lus is niet overdraagbaar" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "'break' buiten een lus is niet toegestaan" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "'continue' buiten een lus is niet overdraagbaar" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "'continue' buiten een lus is niet toegestaan" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "'next' kan niet aangeroepen worden in een BEGIN-regel" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "'next' kan niet aangeroepen worden in een END-regel" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "'next' kan niet aangeroepen worden in een BEGIN-regel" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "'next' kan niet aangeroepen worden in een END-regel" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "'nextfile' kan niet aangeroepen worden in een BEGIN-regel" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "'nextfile' kan niet aangeroepen worden in een END-regel" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "'nextfile' kan niet aangeroepen worden in een END-regel" + +#: eval.c:963 msgid "statement has no effect" msgstr "opdracht heeft geen effect" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "kan functienaam '%s' niet als variabele of array gebruiken" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "verwijzing naar ongeïnitialiseerd argument '%s'" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "verwijzing naar ongeïnitialiseerde variabele '%s'" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -909,39 +938,66 @@ msgstr "" "concatenation: neveneffecten in de ene expressie hebben de lengte van een " "andere veranderd!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "toewijzing wordt gebruikt in een conditionele context" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "deling door nul" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "ongeldig type (%s) in tree_eval()" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "deling door nul in '/='" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "deling door nul in '%%='" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "functie '%s' aangeroepen met meer argumenten dan gedeclareerd" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "functie '%s' is niet gedefinieerd" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -952,693 +1008,746 @@ msgstr "" "\t# Functieaanroepen-stack:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- hoofd --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "veldverwijzingspoging via een waarde die geen getal is" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "verwijzingspoging via een lege string" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "toegangspoging tot veld %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "" "toewijzing aan het resultaat van een ingebouwde functie is niet toegestaan" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "'IGNORECASE' is een gawk-uitbreiding" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "'BINMODE' is een gawk-uitbreiding" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" -msgstr "BINMODE-waarde '%s' is ongeldig, wordt behandeld als 3" +msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "onjuiste opgave van '%sFMT': '%s'" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "'--lint' wordt uitgeschakeld wegens toewijzing aan 'LINT'" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "'extension' is een gawk-uitbreiding" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: kan '%s' niet openen (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: bibliotheek '%s': kan functie '%s' niet aanroepen (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "extension: ontbrekende functienaam" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: ongeldig teken '%c' in functienaam '%s'" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: kan functie '%s' niet herdefiniëren" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "extension: functie '%s' is al gedefinieerd" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "extension: kan in gawk ingebouwde '%s' niet als functienaam gebruiken" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "extension: functienaam '%s' is al eerder gedefinieerd" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "" "functie '%s' is gedefinieerd om niet meer dan %d argument(en) te accepteren" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "functie '%s': ontbrekend argument #%d" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "functie '%s': argument #%d: een scalair wordt gebruikt als array" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "functie '%s': argument #%d: een array wordt gebruikt als scalair" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Actie wordt niet ondersteund" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF is op een negatieve waarde gezet" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: tweede argument is geen array" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: derde argument is een gawk-uitbreiding" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: tweede argument is geen array" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: lege string als derde argument is een gawk-uitbreiding" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: tweede argument is geen array" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: tweede argument is geen array" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: derde argument is geen array" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "'FIELDWIDTHS' is een gawk-uitbreiding" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "ongeldige waarde voor FIELDWIDTHS, nabij '%s'" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "een lege string als 'FS' is een gawk-uitbreiding" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "oude 'awk' staat geen reguliere expressies toe als waarde van 'FS'" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "'%s' is een gawk-uitbreiding" + #: getopt.c:574 getopt.c:590 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: optie '%s' is niet eenduidig\n" #: getopt.c:623 getopt.c:627 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: optie '--%s' staat geen argument toe\n" #: getopt.c:636 getopt.c:641 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: optie '%c%s' staat geen argument toe\n" #: getopt.c:684 getopt.c:703 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s: optie '--%s' vereist een argument\n" +msgstr "%s: optie '%s' vereist een argument\n" #: getopt.c:741 getopt.c:744 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: onbekende optie '--%s'\n" #: getopt.c:752 getopt.c:755 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: onbekende optie '%c%s'\n" #: getopt.c:804 getopt.c:807 -#, c-format +#, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: ongeldige optie -- '%c'\n" +msgstr "%s: ongeldige optie -- %c\n" #: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100 -#, c-format +#, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: optie vereist een argument -- '%c'\n" +msgstr "%s: optie vereist een argument -- %c\n" #: getopt.c:930 getopt.c:946 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: optie '-W %s' is niet eenduidig\n" #: getopt.c:970 getopt.c:988 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: optie '-W %s' staat geen argument toe\n" #: getopt.c:1009 getopt.c:1027 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s: optie '-W %s' vereist een argument\n" +msgstr "%s: optie '%s' vereist een argument\n" + +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" -#: io.c:322 io.c:352 +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "kan bestand '%s' niet openen om te lezen (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "fout tijdens lezen van invoerbestand '%s': %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "sluiten van bestandsdescriptor %d ('%s') is mislukt (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "ongeldig boomtype %s in redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "expressie in omleiding '%s' heeft alleen een getal als waarde" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "expressie voor omleiding '%s' heeft een lege string als waarde" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "bestandsnaam '%s' voor omleiding '%s' kan het resultaat zijn van een " "logische expressie" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "onnodige mix van '>' en '>>' voor bestand '%.*s'" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "kan pijp '%s' niet openen voor uitvoer (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "kan pijp '%s' niet openen voor invoer (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "kan tweerichtings-pijp '%s' niet openen voor in- en uitvoer (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "kan niet omleiden van '%s' (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "kan niet omleiden naar '%s' (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "systeemgrens voor aantal open bestanden is bereikt: begonnen met multiplexen" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "sluiten van '%s' is mislukt (%s)" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "te veel pijpen of invoerbestanden geopend" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: tweede argument moet 'to' of 'from' zijn" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: '%.*s' is geen open bestand, pijp, of co-proces" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "sluiten van een nooit-geopende omleiding" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: omleiding '%s' is niet geopend met '|&'; tweede argument wordt " "genegeerd" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "afsluitwaarde %d bij mislukte sluiting van pijp '%s' (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "afsluitwaarde %d bij mislukte sluiting van bestand '%s' (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "geen expliciete sluiting van socket '%s' aangegeven" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "geen expliciete sluiting van co-proces '%s' aangegeven" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "geen expliciete sluiting van pijp '%s' aangegeven" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "geen expliciete sluiting van bestand '%s' aangegeven" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "fout tijdens schrijven van standaarduitvoer (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "fout tijdens schrijven van standaardfoutuitvoer (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "leegmaken van pijp '%s' is mislukt (%s)" -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "leegmaken door co-proces van pijp naar '%s' is mislukt (%s)" -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "leegmaken van bestand '%s' is mislukt (%s)" -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "lokale poort %s is ongeldig in '/inet'" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "host- en poortinformatie (%s, %s) zijn ongeldig" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "cliënt van '/inet/raw' is nog niet klaar, sorry" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "Alleen root mag '/inet/raw' gebruiken." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "server van '/inet/raw' is nog niet klaar, sorry" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "geen (bekend) protocol aangegeven in speciale bestandsnaam '%s'" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "speciale bestandsnaam '%s' is onvolledig" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "'/inet' heeft een gindse hostnaam nodig" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "'/inet' heeft een gindse poort nodig" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "TCP/IP-communicatie wordt niet ondersteund" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "'%s' is een map" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "gebruik 'PROCINFO[\"%s\"]' in plaats van '%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "gebruik 'PROCINFO[...]' in plaats van '/dev/user'" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "kan '%s' niet openen -- modus '%s'" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "kan meester-pty van dochterproces niet sluiten (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "kan standaarduitvoer van dochterproces niet sluiten (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" "kan slaaf-pty niet overzetten naar standaarduitvoer van dochterproces (dup: %" "s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "kan standaardinvoer van dochterproces niet sluiten (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" "kan slaaf-pty niet overzetten naar standaardinvoer van dochterproces (dup: %" "s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "kan slaaf-pty niet sluiten (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "" "kan pijp niet overzetten naar standaarduitvoer van dochterproces (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" "kan pijp niet overzetten naar standaardinvoer van dochterproces (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "kan standaarduitvoer van ouderproces niet herstellen\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "kan standaardinvoer van ouderproces niet herstellen\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "kan pijp niet sluiten (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "'|&' wordt niet ondersteund" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "kan pijp '%s' niet openen (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "kan voor '%s' geen dochterproces starten (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "databestand '%s' is leeg" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "kan geen extra invoergeheugen meer toewijzen" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "fout tijdens lezen van invoerbestand '%s': %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "een 'RS' van meerdere tekens is een gawk-uitbreiding" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "onvoldoende geheugen beschikbaar" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "optie '-m[fr]' is irrelevant in gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "gebruikswijze van optie -m: '-m[fr] nnn'" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "argument van '--source' is leeg; genegeerd" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: optie '-W %s' is onbekend; genegeerd\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "argument van '--source' is leeg; genegeerd" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: optie vereist een argument -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "omgevingsvariabele 'POSIXLY_CORRECT' is gezet: '--posix' ingeschakeld" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "'--posix' overstijgt '--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "'--posix'/'--traditional' overstijgen '--non-decimal-data'" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "het uitvoeren van %s als 'setuid root' kan een veiligheidsrisico zijn" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "'--posix' overstijgt '--traditional'" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" -msgstr "kan standaardinvoer niet in binaire modus zetten (%s)" +msgstr "kan standaardinvoer niet in binaire modus plaatsen (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" -msgstr "kan standaarduitvoer niet in binaire modus zetten (%s)" +msgstr "kan standaarduitvoer niet in binaire modus plaatsen (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" -msgstr "kan standaardfoutuitvoer niet in binaire modus zetten (%s)" +msgstr "kan standaardfoutuitvoer niet in binaire modus plaatsen (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "helemaal geen programmatekst!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Gebruik: %s [opties] -f programmabestand [--] bestand...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" " of: %s [opties] [--] %cprogrammatekst%c bestand...\n" "\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "\tPOSIX-opties:\t\t\tequivalente GNU-opties:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f programmabestand\t\t--file=programmabestand\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F veldscheidingsteken\t\t--field-separator=veldscheidingsteken\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=waarde\t\t\t--assign=var=waarde\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "\tPOSIX-opties:\t\t\tequivalente GNU-opties:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] waarde\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "\t-O\t\t\t\t--optimize\n" - -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=bestand]\t--dump-variables[=bestand]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=programmatekst\t--source=programmatekst\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=bestand\t\t\t--exec=bestand\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t\t--nostalgia\n" +#: main.c:797 +#, fuzzy +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "\t-W use-lc-numeric\t\t--use-lc-numeric\n" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=bestand]\t\t--profile[=bestand]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=programmatekst\t--source=programmatekst\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1651,7 +1760,7 @@ msgstr "" "Meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1661,7 +1770,7 @@ msgstr "" "Standaard leest het van standaardinvoer en schrijft naar standaarduitvoer.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1671,7 +1780,7 @@ msgstr "" "\tgawk '{ som += $1 }; END { print som }' bestand\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1689,7 +1798,7 @@ msgstr "" "uitgegeven door de Free Software Foundation, naar keuze ofwel onder\n" "versie 3 of onder een nieuwere versie van die licentie.\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1703,7 +1812,7 @@ msgstr "" "Zie de GNU General Public License voor meer details.\n" "\n" -#: main.c:813 +#: main.c:864 msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" @@ -1712,11 +1821,16 @@ msgstr "" "ontvangen te hebben; is dit niet het geval, dan kunt u deze licentie\n" "ook vinden op http://www.gnu.org/licenses/.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft maakt van FS geen tab in POSIX-awk" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1725,43 +1839,45 @@ msgstr "" "%s: argument '%s' van '-v' is niet van de vorm 'var=waarde'\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "'%s' is geen geldige variabelenaam" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" -msgstr "'%s' is geen variabelenaam; zoekend naar bestand '%s=%s'" +msgstr "'%s' is geen variabelenaam, zoekend naar bestand '%s=%s'" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "drijvende-komma-berekeningsfout" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "fatale fout: **interne fout**" -#: main.c:1206 +#: main.c:1260 +#, fuzzy msgid "fatal error: internal error: segfault" -msgstr "fatale fout: **interne fout**: segmentatiefout" +msgstr "fatale fout: **interne fout**" -#: main.c:1218 +#: main.c:1272 +#, fuzzy msgid "fatal error: internal error: stack overflow" -msgstr "fatale fout: **interne fout**: stack is vol" +msgstr "fatale fout: **interne fout**" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "geen reeds-geopende bestandsdescriptor %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "kan /dev/null niet openen voor bestandsdescriptor %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "kan groepen niet vinden: %s" @@ -1810,8 +1926,6 @@ msgid "" "hex escape \\x%.*s of %d characters probably not interpreted the way you " "expect" msgstr "" -"hexadecimale stuurcode \\x%.*s van %d tekens wordt waarschijnlijk niet " -"afgehandeld zoals u verwacht" #: node.c:703 #, c-format @@ -1831,23 +1945,23 @@ msgstr "kan '%s' niet openen om te schrijven: %s" #: profile.c:457 #, c-format msgid "internal error: %s with null vname" -msgstr "**interne fout**: %s heeft een lege 'vname'" +msgstr "**interne fout**: %s heeft een lege vname" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# wordt intern behandeld als 'delete'" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "# dit is een dynamisch geladen uitbreidingsfunctie" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" -msgstr "\t# gawk-profiel, gemaakt op %s\n" +msgstr "\t# gawk-profiel, gemaakt %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1856,7 +1970,16 @@ msgstr "" "\t# BEGIN-blok(ken)\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# BEGIN-blok(ken)\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1865,7 +1988,16 @@ msgstr "" "\t# Regel(s)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# END-blok(ken)\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1874,7 +2006,7 @@ msgstr "" "\t# END-blok(ken)\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1883,15 +2015,20 @@ msgstr "" "\n" "\t# Functies, alfabetisch geordend\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" -msgstr "onverwacht type %s in prec_level()" +msgstr "onverwacht type %s in prec_level" -#: profile.c:1527 -#, c-format +#: profile.c:1557 +#, fuzzy, c-format msgid "Unknown node type %s in pp_var" -msgstr "onbekend knooptype %s in pp_var()" +msgstr "onbekend nodetype %d" + +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" #: regcomp.c:132 msgid "Success" @@ -1965,5 +2102,45 @@ msgstr "Ongepaarde ) of \\)" msgid "No previous regular expression" msgstr "Geen eerdere reguliere expressie" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: ongeldige optie -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "'%s' is een map" + #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "kan tweerichtings-socket '%s' niet openen voor in- en uitvoer (%s)" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: geen argumenten" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: '%.*s' is geen open bestand, pijp, of co-proces" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: '%.*s' is geen open bestand, pijp, of co-proces" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "'%s' is geen geldige variabelenaam" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "gebruik 'PROCINFO[\"%s\"]' in plaats van '%s'" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "gebruik 'PROCINFO[...]' in plaats van '/dev/user'" Binary files differ@@ -1,20 +1,18 @@ # Polish translations for GNU AWK package. -# Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the gawk package. -# -# Wojciech Polak <polak@gnu.org>, 2003, 2004, 2005, 2007, 2008, 2009. +# Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc. +# Wojciech Polak <polak@gnu.org>, 2003, 2004, 2005, 2007. # additional help by Sergey Poznyakoff <gray@gnu.org>, 2003. # msgid "" msgstr "" -"Project-Id-Version: gawk 3.1.7\n" +"Project-Id-Version: gawk 3.1.5f\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" -"PO-Revision-Date: 2009-12-19 17:46+0100\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" +"PO-Revision-Date: 2007-08-17 20:05+0200\n" "Last-Translator: Wojciech Polak <polak@gnu.org>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" @@ -79,388 +77,402 @@ msgstr "%s: jest parametrem\n" msgid "%s: array_ref to %s\n" msgstr "%s: array_ref do %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" -msgstr "%s bloków musi posiadać część dotyczącą akcji" +msgstr "%s blokw musi posiada cz dotyczc akcji" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" -msgstr "każda reguła musi posiadać wzorzec lub część dotyczącą akcji" +msgstr "kada regua musi posiada wzorzec lub cz dotyczc akcji" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" -msgstr "stary awk nie wspiera wielokrotnych reguł `BEGIN' lub `END'" +msgstr "stary awk nie wspiera wielokrotnych regu `BEGIN' lub `END'" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "" -"`%s' jest funkcją wbudowaną, więc nie może zostać ponownie zdefiniowana" +"`%s' jest funkcj wbudowan, wic nie moe zosta ponownie zdefiniowana" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" -"stałe wyrażenie regularne `//' wygląda jak komentarz C++, ale nim nie jest" +"stae wyraenie regularne `//' wyglda jak komentarz C++, ale nim nie jest" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" -"stałe wyrażenie regularne `/%s/' wygląda jak komentarz C, ale nim nie jest" +"stae wyraenie regularne `/%s/' wyglda jak komentarz C, ale nim nie jest" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" -msgstr "instrukcja może nie mieć żadnego efektu" +msgstr "instrukcja moe nie mie adnego efektu" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" -msgstr "`%s' użyty w akcji %s" +msgstr "`%s' uyty w akcji %s" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "`nextfile' jest rozszerzeniem gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" -msgstr "`return' użyty poza kontekstem funkcji" +msgstr "`return' uyty poza kontekstem funkcji" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" -"zwykły `print' w regułach BEGIN lub END powinien prawdopodobnie być jako " +"zwyky `print' w reguach BEGIN lub END powinien prawdopodobnie by jako " "`print \"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "`delete tablica' jest rozszerzeniem gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" -msgstr "`delete(tablica)' jest nieprzenośnym rozszerzeniem tawk" +msgstr "`delete(tablica)' jest nieprzenonym rozszerzeniem tawk" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" -msgstr "powielone wartości case w ciele switch: %s" +msgstr "powielone wartoci case w ciele switch: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "wykryto powielony `default' w ciele switch" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" -msgstr "wieloetapowe dwukierunkowe linie potokowe nie działają" +msgstr "wieloetapowe dwukierunkowe linie potokowe nie dziaaj" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" -msgstr "wyrażanie regularne po prawej stronie przypisania" +msgstr "wyraanie regularne po prawej stronie przypisania" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" -msgstr "wyrażenie regularne po lewej stronie operatora `~' lub `!~'" +msgstr "wyraenie regularne po lewej stronie operatora `~' lub `!~'" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "" -"stary awk nie wspiera słowa kluczowego `in', z wyjątkiem po słowie `for'" +"stary awk nie wspiera sowa kluczowego `in', z wyjtkiem po sowie `for'" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" -msgstr "wyrażenie regularne po prawej stronie porównania" +msgstr "wyraenie regularne po prawej stronie porwnania" + +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "nieprawidowy zdalny port w `%s'" -#: awkgram.y:893 +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "" -"komenda `getline' bez przekierowania nie jest zdefiniowana wewnątrz akcji END" +"komenda `getline' bez przekierowania nie jest zdefiniowana wewntrz akcji END" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "stary awk nie wspiera wielowymiarowych tablic" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" -msgstr "wywołanie `length' bez nawiasów jest nieprzenośne" +msgstr "wywoanie `length' bez nawiasw jest nieprzenone" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" -msgstr "wywołanie `length' bez podania nawiasów jest niezalecane przez POSIX" +msgstr "wywoanie `length' bez podania nawiasw jest niezalecane przez POSIX" + +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`extension' jest rozszerzeniem gawk" -#: awkgram.y:1009 +#: awkgram.y:1084 msgid "use of non-array as array" -msgstr "użycie nie-tablicy jako tablicy" +msgstr "uycie nie-tablicy jako tablicy" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" -msgstr "nieprawidłowe wyrażenie indeksowe" +msgstr "nieprawidowe wyraenie indeksowe" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" -msgstr "niespodziewany znak nowego wiersza lub końca łańcucha" +msgstr "niespodziewany znak nowego wiersza lub koca acucha" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" -msgstr "pusty tekst programu w linii poleceń" +msgstr "pusty tekst programu w linii polece" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" -msgstr "nie można otworzyć pliku źródłowego `%s' do czytania (%s)" +msgstr "nie mona otworzy pliku rdowego `%s' do czytania (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" -msgstr "nie można otworzyć pliku źródłowego `%s' (%s)" +msgstr "nie mona otworzy pliku rdowego `%s' (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" -msgstr "plik źródłowy `%s' jest pusty" +msgstr "plik rdowy `%s' jest pusty" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" -msgstr "plik źródłowy nie posiada na końcu znaku nowego wiersza" +msgstr "plik rdowy nie posiada na kocu znaku nowego wiersza" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "" -"niezakończone prawidłowo wyrażenie regularne kończy się znakiem `\\' na " -"końcu pliku" +"niezakoczone prawidowo wyraenie regularne koczy si znakiem `\\' na " +"kocu pliku" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -"%s: %d: modyfikator wyrażenia regularnego `/.../%c' tawk nie działa w gawk" +"%s: %d: modyfikator wyraenia regularnego `/.../%c' tawk nie dziaa w gawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" -msgstr "modyfikator wyrażenia regularnego `/.../%c' tawk nie działa w gawk" +msgstr "modyfikator wyraenia regularnego `/.../%c' tawk nie dziaa w gawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" -msgstr "niezakończone wyrażenie regularne" +msgstr "niezakoczone wyraenie regularne" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" -msgstr "niezakończone wyrażenie regularne na końcu pliku" +msgstr "niezakoczone wyraenie regularne na kocu pliku" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" -msgstr "użycie `\\ #...' kontynuacji linii nie jest przenośne" +msgstr "uycie `\\ #...' kontynuacji linii nie jest przenone" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "backslash nie jest ostatnim znakiem w wierszu" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX nie zezwala na operator `**='" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "stary awk nie wspiera operatora `**='" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX nie zezwala na operator `**'" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "stary awk nie wspiera operatora `**'" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "operator `^=' nie jest wspierany w starym awk" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "operator `^' nie jest wspierany w starym awk" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" -msgstr "niezakończony łańcuch" +msgstr "niezakoczony acuch" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" -msgstr "nieprawidłowy znak '%c' w wyrażeniu" +msgstr "nieprawidowy znak '%c' w wyraeniu" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' jest rozszerzeniem gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s' jest rozszerzeniem Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX nie zezwala na `%s'" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' nie jest wspierany w starym awk" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" -msgstr "`goto' uważane za szkodliwe!\n" +msgstr "`goto' uwaane za szkodliwe!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" -msgstr "%d jest nieprawidłowe jako liczba argumentów dla %s" +msgstr "%d jest nieprawidowe jako liczba argumentw dla %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: trzeci argument jest rozszerzeniem gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" -"%s: literał łańcuchowy jako ostatni argument podstawienia nie ma żadnego " +"%s: litera acuchowy jako ostatni argument podstawienia nie ma adnego " "efektu" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s trzeci parametr nie jest zmiennym obiektem" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: drugi argument jest rozszerzeniem gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" -msgstr "nieprawidłowe użycie dcgettext(_\"...\"): usuń znak podkreślenia" +msgstr "nieprawidowe uycie dcgettext(_\"...\"): usu znak podkrelenia" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" -msgstr "nieprawidłowe użycie dcngettext(_\"...\"): usuń znak podkreślenia" +msgstr "nieprawidowe uycie dcngettext(_\"...\"): usu znak podkrelenia" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funkcja `%s': parametr #%d, `%s', powiela parametr #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" -msgstr "funkcja `%s': parametr `%s' zasłania globalną zmienną" +msgstr "funkcja `%s': parametr `%s' zasania globaln zmienn" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" -msgstr "nie można otworzyć `%s' do zapisu (%s)" +msgstr "nie mona otworzy `%s' do zapisu (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" -msgstr "wysyłanie profilu na standardowe wyjście diagnostyczne" +msgstr "wysyanie profilu na standardowe wyjcie diagnostyczne" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" -msgstr "%s: zamknięcie nie powiodło się (%s)" +msgstr "%s: zamknicie nie powiodo si (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" -msgstr "shadow_funcs() wywołana podwójnie!" +msgstr "shadow_funcs() wywoana podwjnie!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." -msgstr "wystąpiły przykryte zmienne." +msgstr "wystpiy przykryte zmienne." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" -msgstr "funkcja `%s': nie można użyć nazwy funkcji jako nazwy parametru" +msgstr "funkcja `%s': nie mona uy nazwy funkcji jako nazwy parametru" -#: awkgram.y:3004 -#, c-format +#: awkgram.y:3088 +#, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" -msgstr "" -"funkcja `%s': nie można użyć specjalnej zmiennej `%s' jako parametru funkcji" +msgstr "funkcja `%s': nie mona uy nazwy funkcji jako nazwy parametru" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" -msgstr "nazwa funkcji `%s' została zdefiniowana poprzednio" +msgstr "nazwa funkcji `%s' zostaa zdefiniowana poprzednio" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" -msgstr "funkcja `%s' została wywołana, ale nigdy nie została zdefiniowana" +msgstr "funkcja `%s' zostaa wywoana, ale nigdy nie zostaa zdefiniowana" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" -msgstr "funkcja `%s' została zdefiniowana, ale nigdy nie została wywołana" +msgstr "funkcja `%s' zostaa zdefiniowana, ale nigdy nie zostaa wywoana" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" -msgstr "stałe wyrażenie regularne dla parametru #%d daje wartość logiczną" +msgstr "stae wyraenie regularne dla parametru #%d daje warto logiczn" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" "or used as a variable or an array" msgstr "" -"funkcja `%s' została wywołana z białymi znakami pomiędzy jej nazwą a znakiem " +"funkcja `%s' zostaa wywoana z biaymi znakami pomidzy jej nazw a znakiem " "`(',\n" -"lub użyta jako zmienna lub jako tablica" +"lub uyta jako zmienna lub jako tablica" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" -msgstr "próba dzielenia przez zero w `/='" +msgstr "prba dzielenia przez zero w `/='" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" -msgstr "próba dzielenia przez zero w `%%'" +msgstr "prba dzielenia przez zero w `%%'" #: builtin.c:122 #, c-format msgid "%s to \"%s\" failed (%s)" -msgstr "%s do \"%s\" nie powiódł się (%s)" +msgstr "%s do \"%s\" nie powid si (%s)" #: builtin.c:123 msgid "standard output" -msgstr "standardowe wyjście" +msgstr "standardowe wyjcie" #: builtin.c:124 msgid "reason unknown" -msgstr "nieznany powód" +msgstr "nieznany powd" #: builtin.c:137 msgid "exp: received non-numeric argument" -msgstr "exp: otrzymano argument nie będący liczbą" +msgstr "exp: otrzymano argument nie bdcy liczb" #: builtin.c:143 #, c-format msgid "exp: argument %g is out of range" -msgstr "exp: argument %g jest poza zasięgiem" +msgstr "exp: argument %g jest poza zasigiem" #: builtin.c:201 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" -"fflush: nie można opróżnić: potok `%s' otwarty do czytania, a nie do zapisu" +"fflush: nie mona oprni: potok `%s' otwarty do czytania, a nie do zapisu" #: builtin.c:204 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" -"fflush: nie można opróżnić: plik `%s' otwarty do czytania, a nie do zapisu" +"fflush: nie mona oprni: plik `%s' otwarty do czytania, a nie do zapisu" #: builtin.c:216 #, c-format @@ -469,36 +481,35 @@ msgstr "fflush: `%s' nie jest ani otwartym plikiem, ani potokiem, ani procesem" #: builtin.c:310 msgid "index: received non-string first argument" -msgstr "index: otrzymano pierwszy argument, który nie jest łańcuchem" +msgstr "index: otrzymano pierwszy argument, ktry nie jest acuchem" #: builtin.c:312 msgid "index: received non-string second argument" -msgstr "index: otrzymano drugi argument, który nie jest łańcuchem" +msgstr "index: otrzymano drugi argument, ktry nie jest acuchem" #: builtin.c:434 msgid "int: received non-numeric argument" -msgstr "int: otrzymano argument, który nie jest liczbą" +msgstr "int: otrzymano argument, ktry nie jest liczb" #: builtin.c:464 msgid "`length(array)' is a gawk extension" msgstr "`length(tablica)' jest rozszerzeniem gawk" #: builtin.c:471 -#, fuzzy msgid "length: untyped parameter argument will be forced to scalar" -msgstr "length: argument bez określonego typu zostanie uznany za skalar" +msgstr "" #: builtin.c:480 msgid "length: untyped argument will be forced to scalar" -msgstr "length: argument bez określonego typu zostanie uznany za skalar" +msgstr "" #: builtin.c:484 msgid "length: received non-string argument" -msgstr "length: otrzymano argument, który nie jest łańcuchem" +msgstr "length: otrzymano argument, ktry nie jest acuchem" #: builtin.c:515 msgid "log: received non-numeric argument" -msgstr "log: otrzymano argument, który nie jest liczbą" +msgstr "log: otrzymano argument, ktry nie jest liczb" #: builtin.c:518 #, c-format @@ -507,22 +518,22 @@ msgstr "log: otrzymano ujemny argument %g" #: builtin.c:726 builtin.c:729 msgid "must use `count$' on all formats or none" -msgstr "należy użyć `count$' we wszystkich formatach lub nic" +msgstr "naley uy `count$' we wszystkich formatach lub nic" #: builtin.c:790 #, c-format msgid "field width is ignored for `%%%%' specifier" -msgstr "szerokość pola jest ignorowana dla specyfikatora `%%%%'" +msgstr "" #: builtin.c:792 #, c-format msgid "precision is ignored for `%%%%' specifier" -msgstr "precyzja jest ignorowana dla specyfikatora `%%%%'" +msgstr "" #: builtin.c:794 #, c-format msgid "field width and precision are ignored for `%%%%' specifier" -msgstr "szerokość pola i precyzja są ignorowane dla specyfikatora `%%%%'" +msgstr "" #: builtin.c:845 msgid "`$' is not permitted in awk formats" @@ -530,12 +541,12 @@ msgstr "`$' jest niedozwolony w formatach awk" #: builtin.c:851 msgid "arg count with `$' must be > 0" -msgstr "argument count z `$' musi być > 0" +msgstr "argument count z `$' musi by > 0" #: builtin.c:853 #, c-format msgid "arg count %ld greater than total number of supplied arguments" -msgstr "argument count %ld większy niż całkowita suma argumentów dostarczonych" +msgstr "argument count %ld wikszy ni cakowita suma argumentw dostarczonych" #: builtin.c:855 msgid "`$' not permitted after period in format" @@ -543,7 +554,7 @@ msgstr "`$' jest niedozwolony po kropce w formacie" #: builtin.c:868 msgid "no `$' supplied for positional field width or precision" -msgstr "brak `$' dla pozycyjnej szerokości pola lub precyzji" +msgstr "brak `$' dla pozycyjnej szerokoci pola lub precyzji" #: builtin.c:938 msgid "`l' is meaningless in awk formats; ignored" @@ -572,23 +583,21 @@ msgstr "`h' jest niedozwolony w formatach POSIX awk" #: builtin.c:1252 #, c-format msgid "[s]printf: value %g is out of range for `%%%c' format" -msgstr "[s]printf: wartość %g jest poza zasięgiem dla formatu `%%%c'" +msgstr "[s]printf: warto %g jest poza zasigiem dla formatu `%%%c'" #: builtin.c:1332 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" -"pominięcie nieznanego formatu specyfikatora znaku `%c': nie skonwertowano " -"argumentu" #: builtin.c:1338 msgid "not enough arguments to satisfy format string" msgstr "" -"brak wystarczającej liczby argumentów, aby zaspokoić łańcuch formatujący" +"brak wystarczajcej liczby argumentw, aby zaspokoi acuch formatujcy" #: builtin.c:1340 msgid "^ ran out for this one" -msgstr "zabrakło ^" +msgstr "zabrako ^" #: builtin.c:1346 msgid "[s]printf: format specifier does not have control letter" @@ -596,371 +605,417 @@ msgstr "[s]printf: specyfikator formatu nie posiada kontrolnej litery" #: builtin.c:1349 msgid "too many arguments supplied for format string" -msgstr "zbyt dużo podanych argumentów w łańcuchu formatującym" +msgstr "zbyt duo podanych argumentw w acuchu formatujcym" #: builtin.c:1424 builtin.c:1427 msgid "printf: no arguments" -msgstr "printf: brak argumentów" +msgstr "printf: brak argumentw" #: builtin.c:1451 msgid "sqrt: received non-numeric argument" -msgstr "sqrt: otrzymano argument, który nie jest liczbą" +msgstr "sqrt: otrzymano argument, ktry nie jest liczb" #: builtin.c:1455 #, c-format msgid "sqrt: called with negative argument %g" -msgstr "sqrt: wywołana z ujemnym argumentem %g" +msgstr "sqrt: wywoana z ujemnym argumentem %g" #: builtin.c:1479 #, c-format msgid "substr: start index %g is invalid, using 1" -msgstr "substr: początkowy indeks %g jest nieprawidłowy, nastąpi użycie 1" +msgstr "substr: pocztkowy indeks %g jest nieprawidowy, nastpi uycie 1" #: builtin.c:1484 #, c-format msgid "substr: non-integer start index %g will be truncated" msgstr "" -"substr: początkowy indeks %g, który nie jest liczbą całkowitą, zostanie " -"obcięty" +"substr: pocztkowy indeks %g, ktry nie jest liczb cakowit, zostanie " +"obcity" #: builtin.c:1510 #, c-format msgid "substr: length %g is not >= 1" -msgstr "substr: długość %g nie jest >= 1" +msgstr "substr: dugo %g nie jest >= 1" #: builtin.c:1512 #, c-format msgid "substr: length %g is not >= 0" -msgstr "substr: długość %g nie jest >= 0" +msgstr "substr: dugo %g nie jest >= 0" #: builtin.c:1519 #, c-format msgid "substr: non-integer length %g will be truncated" -msgstr "substr: długość %g, która nie jest liczbą całkowitą, zostanie obcięta" +msgstr "substr: dugo %g, ktra nie jest liczb cakowit, zostanie obcita" #: builtin.c:1524 #, c-format msgid "substr: length %g too big for string indexing, truncating to %g" -msgstr "substr: długość %g zbyt duża dla indeksu łańcucha, obcinanie do %g" +msgstr "substr: dugo %g zbyt dua dla indeksu acucha, obcinanie do %g" #: builtin.c:1536 msgid "substr: source string is zero length" -msgstr "substr: łańcuch źródłowy ma zerową długość" +msgstr "substr: acuch rdowy ma zerow dugo" #: builtin.c:1552 #, c-format msgid "substr: start index %g is past end of string" -msgstr "substr: początkowy indeks %g leży poza końcem łańcucha" +msgstr "substr: pocztkowy indeks %g ley poza kocem acucha" #: builtin.c:1560 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" msgstr "" -"substr: długość %g zaczynając od %g przekracza długość pierwszego argumentu " +"substr: dugo %g zaczynajc od %g przekracza dugo pierwszego argumentu " "(%lu)" #: builtin.c:1637 msgid "strftime: received non-string first argument" -msgstr "strftime: otrzymano pierwszy argument, który nie jest łańcuchem" +msgstr "strftime: otrzymano pierwszy argument, ktry nie jest acuchem" #: builtin.c:1643 msgid "strftime: received empty format string" -msgstr "strftime: otrzymano pusty łańcuch formatujący" +msgstr "strftime: otrzymano pusty acuch formatujcy" #: builtin.c:1652 msgid "strftime: received non-numeric second argument" -msgstr "strftime: otrzymano drugi argument, który nie jest liczbą" +msgstr "strftime: otrzymano drugi argument, ktry nie jest liczb" #: builtin.c:1729 msgid "mktime: received non-string argument" -msgstr "mktime: otrzymano argument, który nie jest łańcuchem" +msgstr "mktime: otrzymano argument, ktry nie jest acuchem" #: builtin.c:1746 msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" -msgstr "system: otrzymano argument, który nie jest łańcuchem" +msgstr "system: otrzymano argument, ktry nie jest acuchem" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" -msgstr "odwołanie do niezainicjowanego pola `$%d'" +msgstr "odwoanie do niezainicjowanego pola `$%d'" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" -msgstr "tolower: otrzymano argument, który nie jest łańcuchem" +msgstr "tolower: otrzymano argument, ktry nie jest acuchem" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" -msgstr "toupper: otrzymano argument, który nie jest łańcuchem" +msgstr "toupper: otrzymano argument, ktry nie jest acuchem" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" -msgstr "atan2: otrzymano pierwszy argument, który nie jest liczbą" +msgstr "atan2: otrzymano pierwszy argument, ktry nie jest liczb" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" -msgstr "atan2: otrzymano drugi argument, który nie jest liczbą" +msgstr "atan2: otrzymano drugi argument, ktry nie jest liczb" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" -msgstr "sin: otrzymano argument, który nie jest liczbą" +msgstr "sin: otrzymano argument, ktry nie jest liczb" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" -msgstr "cos: otrzymano argument, który nie jest liczbą" +msgstr "cos: otrzymano argument, ktry nie jest liczb" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" -msgstr "srand: otrzymano argument, który nie jest liczbą" +msgstr "srand: otrzymano argument, ktry nie jest liczb" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" -msgstr "match: otrzymano trzeci argument, który nie jest tablicą" +msgstr "match: otrzymano trzeci argument, ktry nie jest tablic" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: trzeci argument 0 potraktowany jako 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" -msgstr "lshift: otrzymano pierwszy argument, który nie jest liczbą" +msgstr "lshift: otrzymano pierwszy argument, ktry nie jest liczb" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" -msgstr "lshift: otrzymano drugi argument, który nie jest liczbą" +msgstr "lshift: otrzymano drugi argument, ktry nie jest liczb" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" -msgstr "lshift(%lf, %lf): ujemne wartości spowodują dziwne wyniki" +msgstr "lshift(%lf, %lf): ujemne wartoci spowoduj dziwne wyniki" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" -msgstr "lshift(%lf, %lf): ułamkowe wartości zostaną obcięte" +msgstr "lshift(%lf, %lf): uamkowe wartoci zostan obcite" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "" -"lshift(%lf, %lf): zbyt duża wartość przesunięcia spowoduje dziwne wyniki" +"lshift(%lf, %lf): zbyt dua warto przesunicia spowoduje dziwne wyniki" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" -msgstr "rshift: otrzymano pierwszy argument, który nie jest liczbą" +msgstr "rshift: otrzymano pierwszy argument, ktry nie jest liczb" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" -msgstr "rshift: otrzymano drugi argument, który nie jest liczbą" +msgstr "rshift: otrzymano drugi argument, ktry nie jest liczb" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" -msgstr "rshift(%lf, %lf): ujemne wartości spowodują dziwne wyniki" +msgstr "rshift(%lf, %lf): ujemne wartoci spowoduj dziwne wyniki" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" -msgstr "rshift(%lf, %lf): ułamkowe wartości zostaną obcięte" +msgstr "rshift(%lf, %lf): uamkowe wartoci zostan obcite" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "" -"rshift(%lf, %lf): zbyt duża wartość przesunięcia spowoduje dziwne wyniki" +"rshift(%lf, %lf): zbyt dua warto przesunicia spowoduje dziwne wyniki" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" -msgstr "and: otrzymano pierwszy argument, który nie jest liczbą" +msgstr "and: otrzymano pierwszy argument, ktry nie jest liczb" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" -msgstr "and: otrzymano drugi argument, który nie jest liczbą" +msgstr "and: otrzymano drugi argument, ktry nie jest liczb" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" -msgstr "and(%lf, %lf): ujemne wartości spowodują dziwne wyniki" +msgstr "and(%lf, %lf): ujemne wartoci spowoduj dziwne wyniki" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" -msgstr "and(%lf, %lf): ułamkowe wartości zostaną obcięte" +msgstr "and(%lf, %lf): uamkowe wartoci zostan obcite" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" -msgstr "or: otrzymano pierwszy argument, który nie jest liczbą" +msgstr "or: otrzymano pierwszy argument, ktry nie jest liczb" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" -msgstr "or: otrzymano drugi argument, który nie jest liczbą" +msgstr "or: otrzymano drugi argument, ktry nie jest liczb" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" -msgstr "or(%lf, %lf): ujemne wartości spowodują dziwne wyniki" +msgstr "or(%lf, %lf): ujemne wartoci spowoduj dziwne wyniki" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" -msgstr "or(%lf, %lf): ułamkowe wartości zostaną obcięte" +msgstr "or(%lf, %lf): uamkowe wartoci zostan obcite" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" -msgstr "xor: otrzymano pierwszy argument, który nie jest liczbą" +msgstr "xor: otrzymano pierwszy argument, ktry nie jest liczb" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" -msgstr "xor: otrzymano drugi argument, który nie jest liczbą" +msgstr "xor: otrzymano drugi argument, ktry nie jest liczb" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" -msgstr "xor(%lf, %lf): ujemne wartości spowodują dziwne wyniki" +msgstr "xor(%lf, %lf): ujemne wartoci spowoduj dziwne wyniki" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" -msgstr "xor(%lf, %lf): ułamkowe wartości zostaną obcięte" +msgstr "xor(%lf, %lf): uamkowe wartoci zostan obcite" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" -msgstr "compl: otrzymano argument, który nie jest liczbą" +msgstr "compl: otrzymano argument, ktry nie jest liczb" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" -msgstr "compl(%lf): ujemne wartości spowodują dziwne wyniki" +msgstr "compl(%lf): ujemne wartoci spowoduj dziwne wyniki" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" -msgstr "compl(%lf): ułamkowe wartości zostaną obcięte" +msgstr "compl(%lf): uamkowe wartoci zostan obcite" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" -msgstr "dcgettext: `%s' nie jest prawidłową kategorią lokalizacji" +msgstr "dcgettext: `%s' nie jest prawidow kategori lokalizacji" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" -msgstr "nieznany typ węzła %d" +msgstr "nieznany typ wza %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" -msgstr "przepełnienie bufora w genflags2str" +msgstr "przepenienie bufora w genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" -msgstr "próba użycia tablicy `%s' w kontekście skalaru" +msgstr "prba uycia tablicy `%s' w kontekcie skalaru" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" -"pętla for: tablica `%s' zmieniła rozmiar z %ld do %ld podczas wykonywania " -"pętli" +"ptla for: tablica `%s' zmienia rozmiar z %ld do %ld podczas wykonywania " +"ptli" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" -msgstr "instrukcja `break' poza pętlą jest nieprzenośna" +msgstr "instrukcja `break' poza ptl jest nieprzenona" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" -msgstr "instrukcja `break' poza pętlą jest niedozwolona" +msgstr "instrukcja `break' poza ptl jest niedozwolona" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" -msgstr "instrukcja `continue' poza pętlą jest nieprzenośna" +msgstr "instrukcja `continue' poza ptl jest nieprzenona" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" -msgstr "instrukcja `continue' poza pętlą jest niedozwolona" +msgstr "instrukcja `continue' poza ptl jest niedozwolona" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" -msgstr "instrukcja `next' nie może być wywołana z wnętrza reguły BEGIN" +msgstr "instrukcja `next' nie moe by wywoana z wntrza reguy BEGIN" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" -msgstr "instrukcja `next' nie może być wywołana z wnętrza reguły END" +msgstr "instrukcja `next' nie moe by wywoana z wntrza reguy END" + +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "instrukcja `next' nie moe by wywoana z wntrza reguy BEGIN" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "instrukcja `next' nie moe by wywoana z wntrza reguy END" -#: eval.c:893 +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" -msgstr "instrukcja `nextfile' nie może być wywołana z wnętrza reguły BEGIN" +msgstr "instrukcja `nextfile' nie moe by wywoana z wntrza reguy BEGIN" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" -msgstr "instrukcja `nextfile' nie może być wywołana z wnętrza reguły END" +msgstr "instrukcja `nextfile' nie moe by wywoana z wntrza reguy END" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "instrukcja `nextfile' nie moe by wywoana z wntrza reguy END" + +#: eval.c:963 msgid "statement has no effect" -msgstr "instrukcja nie ma żadnego efektu" +msgstr "instrukcja nie ma adnego efektu" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" -msgstr "nie można użyć nazwy funkcji `%s' jako zmiennej lub tablicy" +msgstr "nie mona uy nazwy funkcji `%s' jako zmiennej lub tablicy" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" -msgstr "odwołanie do niezainicjowanego argumentu `%s'" +msgstr "odwoanie do niezainicjowanego argumentu `%s'" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" -msgstr "odwołanie do niezainicjowanej zmiennej `%s'" +msgstr "odwoanie do niezainicjowanej zmiennej `%s'" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "" -"konkatenacja: skutki uboczne w jednym wyrażeniu spowodowały zmianę długości " -"innego wyrażenia!" +"konkatenacja: skutki uboczne w jednym wyraeniu spowodoway zmian dugoci " +"innego wyraenia!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" -msgstr "przypisanie użyte w kontekście warunkowym" +msgstr "przypisanie uyte w kontekcie warunkowym" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" -msgstr "próba dzielenia przez zero" +msgstr "prba dzielenia przez zero" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" -msgstr "nieprawidłowy typ (%s) w tree_eval" +msgstr "nieprawidowy typ (%s) w tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" -msgstr "próba dzielenia przez zero w `/='" +msgstr "prba dzielenia przez zero w `/='" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" -msgstr "próba dzielenia przez zero w `%%='" +msgstr "prba dzielenia przez zero w `%%='" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "" -"funkcja `%s' została wywołana z większą ilością argumentów niż zostało to " +"funkcja `%s' zostaa wywoana z wiksz iloci argumentw ni zostao to " "zadeklarowane" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" -msgstr "funkcja `%s' nie została zdefiniowana" +msgstr "funkcja `%s' nie zostaa zdefiniowana" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -968,705 +1023,757 @@ msgid "" "\n" msgstr "" "\n" -"\t# Stos Wywoławczy Funkcji:\n" +"\t# Stos Wywoawczy Funkcji:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" -msgstr "\t# -- główne --\n" +msgstr "\t# -- gwne --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" -msgstr "próba odwołania do pola poprzez nienumeryczną wartość" +msgstr "prba odwoania do pola poprzez nienumeryczn warto" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" -msgstr "próba odwołania z zerowego łańcucha" +msgstr "prba odwoania z zerowego acucha" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" -msgstr "próba dostępu do pola %d" +msgstr "prba dostpu do pola %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "przypisanie do wyniku wbudowanej funkcji nie jest dozwolone" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "`IGNORECASE' jest rozszerzeniem gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' jest rozszerzeniem gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" -msgstr "wartość BINMODE `%s' jest nieprawidłowa, przyjęto ją jako 3" +msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" -msgstr "zła specyfikacja `%sFMT' `%s'" +msgstr "za specyfikacja `%sFMT' `%s'" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" -msgstr "wyłączenie `--lint' z powodu przypisania do `LINT'" +msgstr "wyczenie `--lint' z powodu przypisania do `LINT'" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "`extension' jest rozszerzeniem gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" -msgstr "rozszerzenie: nie można otworzyć `%s' (%s)\n" +msgstr "rozszerzenie: nie mona otworzy `%s' (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" -msgstr "rozszerzenie: biblioteka `%s': nie można wywołać funkcji `%s' (%s)\n" +msgstr "rozszerzenie: biblioteka `%s': nie mona wywoa funkcji `%s' (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" -msgstr "rozszerzenie: brakująca nazwa funkcji" +msgstr "rozszerzenie: brakujca nazwa funkcji" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" -msgstr "rozszerzenie: nieprawidłowy znak `%c' w nazwie funkcji `%s'" +msgstr "rozszerzenie: nieprawidowy znak `%c' w nazwie funkcji `%s'" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" -msgstr "rozszerzenie: nie można zredefiniować funkcji `%s'" +msgstr "rozszerzenie: nie mona zredefiniowa funkcji `%s'" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" -msgstr "rozserzenie: funkcja `%s' została już zdefiniowana" +msgstr "rozserzenie: funkcja `%s' zostaa ju zdefiniowana" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" -msgstr "rozszerzenie: nie można użyć wbudowanej w gawk `%s' jako nazwy funkcji" +msgstr "rozszerzenie: nie mona uy wbudowanej w gawk `%s' jako nazwy funkcji" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" -msgstr "rozserzenie: nazwa funkcji `%s' została zdefiniowana wcześniej" +msgstr "rozserzenie: nazwa funkcji `%s' zostaa zdefiniowana wczeniej" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" -msgstr "funkcja `%s' zdefiniowana aby pobrać nie więcej niż %d argument(ów)" +msgstr "funkcja `%s' zdefiniowana aby pobra nie wicej ni %d argument(w)" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "funkcja `%s': brakuje #%d argumentu" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" -msgstr "funkcja `%s': argument #%d: próba użycia skalaru jako tablicy" +msgstr "funkcja `%s': argument #%d: prba uycia skalaru jako tablicy" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" -msgstr "funkcja `%s': argument #%d: próba użycia tablicy jako skalaru" +msgstr "funkcja `%s': argument #%d: prba uycia tablicy jako skalaru" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operacja nie jest wspierana" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" -msgstr "NF ustawiony na wartość ujemną" +msgstr "NF ustawiony na warto ujemn" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" -msgstr "split: drugi argument nie jest tablicą" +msgstr "split: drugi argument nie jest tablic" + +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: trzeci argument jest rozszerzeniem gawk" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" -msgstr "split: zerowy łańcuch dla trzeciego argumentu jest rozszerzeniem gawk" +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: drugi argument nie jest tablic" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" +msgstr "split: zerowy acuch dla trzeciego argumentu jest rozszerzeniem gawk" + +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: drugi argument nie jest tablic" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: drugi argument nie jest tablic" -#: field.c:961 +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: otrzymano trzeci argument, ktry nie jest tablic" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`FIELDWIDTHS' jest rozszerzeniem gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" -msgstr "nieprawidłowa wartość FIELDWIDTHS, w pobliżu `%s'" +msgstr "nieprawidowa warto FIELDWIDTHS, w pobliu `%s'" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" -msgstr "zerowy łańcuch dla `FS' jest rozszerzeniem gawk" +msgstr "zerowy acuch dla `FS' jest rozszerzeniem gawk" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" -msgstr "stary awk nie wspiera wyrażeń regularnych jako wartości `FS'" +msgstr "stary awk nie wspiera wyrae regularnych jako wartoci `FS'" + +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s' jest rozszerzeniem gawk" #: getopt.c:574 getopt.c:590 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" -msgstr "%s: opcja '%s' jest niejednoznaczna\n" +msgstr "%s: opcja `%s' jest niejednoznaczna\n" #: getopt.c:623 getopt.c:627 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: opcja '--%s' nie może mieć argumentów\n" +msgstr "%s: opcja `--%s' nie moe mie argumentw\n" #: getopt.c:636 getopt.c:641 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: opcja '%c%s' nie może mieć argumentów\n" +msgstr "%s: opcja `%c%s' nie moe mie argumentw\n" #: getopt.c:684 getopt.c:703 #, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s: opcja '%s' wymaga argumentu\n" +msgstr "%s: opcja `%s' musi mie argument\n" #: getopt.c:741 getopt.c:744 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: nieznana opcja '--%s'\n" +msgstr "%s: nieznana opcja `--%s'\n" #: getopt.c:752 getopt.c:755 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: nieznana opcja '%c%s'\n" +msgstr "%s: nieznana opcja `%c%s'\n" #: getopt.c:804 getopt.c:807 -#, c-format +#, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: błędna opcja -- '%c'\n" +msgstr "%s: bdna opcja -- %c\n" #: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100 -#, c-format +#, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: opcja wymaga argumentu -- '%c'\n" +msgstr "%s: opcja musi mie argument -- %c\n" #: getopt.c:930 getopt.c:946 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: opcja '-W %s' jest niejednoznaczna\n" +msgstr "%s: opcja `-W %s' jest niejednoznaczna\n" #: getopt.c:970 getopt.c:988 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: opcja '-W %s' nie może mieć argumentów\n" +msgstr "%s: opcja `-W %s' nie moe mie argumentw\n" #: getopt.c:1009 getopt.c:1027 #, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s: opcja '%s' wymaga argumentu\n" +msgstr "%s: opcja `%s' musi mie argument\n" + +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" -#: io.c:322 io.c:352 +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" -msgstr "nie można otworzyć pliku `%s' do czytania (%s)" +msgstr "nie mona otworzy pliku `%s' do czytania (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "bd podczas czytania z pliku `%s': %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" -msgstr "zamknięcie fd %d (`%s') nie powiodło się (%s)" +msgstr "zamknicie fd %d (`%s') nie powiodo si (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" -msgstr "nieprawidłowy typ drzewa %s w funkcji redirect()" +msgstr "nieprawidowy typ drzewa %s w funkcji redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" -msgstr "wyrażenie w przekierowaniu `%s' ma tylko wartość numeryczną" +msgstr "wyraenie w przekierowaniu `%s' ma tylko warto numeryczn" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" -msgstr "wyrażenie dla przekierowania `%s' ma zerową wartość łańcucha" +msgstr "wyraenie dla przekierowania `%s' ma zerow warto acucha" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" -"nazwa pliku `%s' dla przekierowania `%s' może być rezultatem logicznego " -"wyrażenia" +"nazwa pliku `%s' dla przekierowania `%s' moe by rezultatem logicznego " +"wyraenia" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "niepotrzebne mieszanie `>' i `>>' dla pliku `%.*s'" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" -msgstr "nie można otworzyć potoku `%s' jako wyjścia (%s)" +msgstr "nie mona otworzy potoku `%s' jako wyjcia (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" -msgstr "nie można otworzyć potoku `%s' jako wejścia (%s)" +msgstr "nie mona otworzy potoku `%s' jako wejcia (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "" -"nie można otworzyć dwukierunkowego potoku `%s' jako wejścia/wyjścia (%s)" +"nie mona otworzy dwukierunkowego potoku `%s' jako wejcia/wyjcia (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" -msgstr "nie można przekierować z `%s' (%s)" +msgstr "nie mona przekierowa z `%s' (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" -msgstr "nie można przekierować do `%s' (%s)" +msgstr "nie mona przekierowa do `%s' (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" -"osiągnięto systemowy limit otwartych plików: rozpoczęcie multipleksowania " -"deskryptorów plików" +"osignito systemowy limit otwartych plikw: rozpoczcie multipleksowania " +"deskryptorw plikw" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." -msgstr "zamknięcie `%s' nie powiodło się (%s)." +msgstr "zamknicie `%s' nie powiodo si (%s)." -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" -msgstr "zbyt dużo otwartych potoków lub plików wejściowych" +msgstr "zbyt duo otwartych potokw lub plikw wejciowych" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" -msgstr "close: drugim argumentem musi być `to' lub `from'" +msgstr "close: drugim argumentem musi by `to' lub `from'" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "" "close: `%.*s' nie jest ani otwartym plikiem, ani potokiem, ani procesem" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" -msgstr "zamknięcie przekierowania, które nigdy nie zostało otwarte" +msgstr "zamknicie przekierowania, ktre nigdy nie zostao otwarte" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" -"close: przekierowanie `%s' nie zostało otwarte z `|&', drugi argument " +"close: przekierowanie `%s' nie zostao otwarte z `|&', drugi argument " "zignorowany" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "status awarii (%d) podczas zamykania potoku `%s' (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "status awarii (%d) podczas zamykania pliku `%s' (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" -msgstr "brak jawnego zamknięcia gniazdka `%s'" +msgstr "brak jawnego zamknicia gniazdka `%s'" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" -msgstr "brak jawnego zamknięcia procesu pomocniczego `%s'" +msgstr "brak jawnego zamknicia procesu pomocniczego `%s'" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" -msgstr "brak jawnego zamknięcia potoku `%s'" +msgstr "brak jawnego zamknicia potoku `%s'" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" -msgstr "brak jawnego zamknięcia pliku `%s'" +msgstr "brak jawnego zamknicia pliku `%s'" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" -msgstr "błąd podczas zapisu na standardowe wyjście (%s)" +msgstr "bd podczas zapisu na standardowe wyjcie (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" -msgstr "błąd podczas zapisu na standardowe wyjście diagnostyczne (%s)" +msgstr "bd podczas zapisu na standardowe wyjcie diagnostyczne (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." -msgstr "opróżnienie potoku `%s' nie powiodło się (%s)." +msgstr "oprnienie potoku `%s' nie powiodo si (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "" -"opróżnienie potoku do `%s' przez proces pomocniczy nie powiodło się (%s)." +"oprnienie potoku do `%s' przez proces pomocniczy nie powiodo si (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." -msgstr "opróżnienie pliku `%s' nie powiodło się (%s)." +msgstr "oprnienie pliku `%s' nie powiodo si (%s)." -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" -msgstr "nieprawidłowy lokalny port %s w `/inet'" +msgstr "nieprawidowy lokalny port %s w `/inet'" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" -msgstr "informacje o zdalnym hoście i porcie są nieprawidłowe (%s, %s)" +msgstr "informacje o zdalnym hocie i porcie s nieprawidowe (%s, %s)" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "klient /inet/raw nie jest jeszcze gotowy, przykro mi" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." -msgstr "tylko superużytkownik (root) może użyć `/inet/raw'." +msgstr "tylko superuytkownik (root) moe uy `/inet/raw'." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "serwer /inet/raw nie jest jeszcze gotowy, przykro mi" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" -msgstr "nie dostarczono (znanego) protokołu w specjalnym pliku `%s'" +msgstr "nie dostarczono (znanego) protokou w specjalnym pliku `%s'" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "specjalna nazwa pliku `%s' jest niekompletna" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" -msgstr "należy dostarczyć nazwę zdalnego hosta do `/inet'" +msgstr "naley dostarczy nazw zdalnego hosta do `/inet'" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" -msgstr "należy dostarczyć numer zdalnego portu do `/inet'" +msgstr "naley dostarczy numer zdalnego portu do `/inet'" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "Komunikacja TCP/IP nie jest wspierana" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "plik `%s' jest katalogiem" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "użyj `PROCINFO[\"%s\"]' zamiast `%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "użyj `PROCINFO[...]' zamiast `/dev/user'" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" -msgstr "nie można otworzyć `%s', tryb `%s'" +msgstr "nie mona otworzy `%s', tryb `%s'" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" -msgstr "zamknięcie nadrzędnego pty nie powiodło się (%s)" +msgstr "zamknicie nadrzdnego pty nie powiodo si (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "" -"zamknięcie standardowego wyjścia w procesie potomnym nie powiodło się (%s)" +"zamknicie standardowego wyjcia w procesie potomnym nie powiodo si (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" -"przesunięcie podległego pty na standardowe wyjście w procesie potomnym nie " -"powiodło się (dup: %s)" +"przesunicie podlegego pty na standardowe wyjcie w procesie potomnym nie " +"powiodo si (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "" -"zamknięcie standardowego wejścia w procesie potomnym nie powiodło się (%s)" +"zamknicie standardowego wejcia w procesie potomnym nie powiodo si (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" -"przesunięcie podległego pty na standardowe wejście w procesie potomnym nie " -"powiodło się (dup: %s)" +"przesunicie podlegego pty na standardowe wejcie w procesie potomnym nie " +"powiodo si (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" -msgstr "zamknięcie podległego pty nie powiodło się (%s)" +msgstr "zamknicie podlegego pty nie powiodo si (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "" -"przesunięcie potoku na standardowe wyjście w procesie potomnym nie powiodło " -"się (dup: %s)" +"przesunicie potoku na standardowe wyjcie w procesie potomnym nie powiodo " +"si (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" -"przesunięcie potoku na standardowe wejście w procesie potomnym nie powiodło " -"się (dup: %s)" +"przesunicie potoku na standardowe wejcie w procesie potomnym nie powiodo " +"si (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "" -"odzyskanie standardowego wyjścia w procesie potomnym nie powiodło się\n" +"odzyskanie standardowego wyjcia w procesie potomnym nie powiodo si\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "" -"odzyskanie standardowego wejścia w procesie potomnym nie powiodło się\n" +"odzyskanie standardowego wejcia w procesie potomnym nie powiodo si\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" -msgstr "zamknięcie potoku nie powiodło się (%s)" +msgstr "zamknicie potoku nie powiodo si (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' nie jest wspierany" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" -msgstr "nie można otworzyć potoku `%s' (%s)" +msgstr "nie mona otworzy potoku `%s' (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" -msgstr "nie można utworzyć procesu potomnego dla `%s' (fork: %s)" +msgstr "nie mona utworzy procesu potomnego dla `%s' (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "plik danych `%s' jest pusty" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" -msgstr "nie można zarezerwować więcej pamięci wejściowej" - -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "błąd podczas czytania z pliku `%s': %s" +msgstr "nie mona zarezerwowa wicej pamici wejciowej" -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" -msgstr "wieloznakowa wartość `RS' jest rozszerzeniem gawk" +msgstr "wieloznakowa warto `RS' jest rozszerzeniem gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "brak pamięci" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "nieistotna opcja `-m[fr]' w gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" -msgstr "użycie opcji -m: `-m[fr] nnn'" +msgstr "uycie opcji -m: `-m[fr] nnn'" + +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "pusty argument dla opcji `--source' zosta zignorowany" -#: main.c:393 +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: opcja `-W %s' nierozpoznana i zignorowana\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "pusty argument dla opcji `--source' został zignorowany" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" -msgstr "%s: opcja musi mieć argument -- %c\n" +msgstr "%s: opcja musi mie argument -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "" -"zmienna środowiskowa `POSIXLY_CORRECT' ustawiona: `--posix' został włączony" +"zmienna rodowiskowa `POSIXLY_CORRECT' ustawiona: `--posix' zosta wczony" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" -msgstr "opcja `--posix' zostanie użyta nad `--traditional'" +msgstr "opcja `--posix' zostanie uyta nad `--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" -msgstr "`--posix'/`--traditional' użyte nad opcją `--non-decimal-data'" +msgstr "`--posix'/`--traditional' uyte nad opcj `--non-decimal-data'" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "" -"uruchamianie %s setuid root może być problemem pod względem bezpieczeństwa" +"uruchamianie %s setuid root moe by problemem pod wzgldem bezpieczestwa" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "opcja `--posix' zostanie uyta nad `--traditional'" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" -msgstr "nie można ustawić trybu binarnego na standardowym wejściu (%s)" +msgstr "nie mona ustawi trybu binarnego na standardowym wejciu (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" -msgstr "nie można ustawić trybu binarnego na standardowym wyjściu (%s)" +msgstr "nie mona ustawi trybu binarnego na standardowym wyjciu (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" -msgstr "nie można ustawić trybu binarnego na wyjściu diagnostycznym (%s)" +msgstr "nie mona ustawi trybu binarnego na wyjciu diagnostycznym (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "brak tekstu programu!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" -"Użycie: %s [styl opcji POSIX lub GNU] -f plik_z_programem [--] plik ...\n" +"Uycie: %s [styl opcji POSIX lub GNU] -f plik_z_programem [--] plik ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" -msgstr "Użycie: %s [styl opcji POSIX lub GNU] [--] %cprogram%c plik ...\n" +msgstr "Uycie: %s [styl opcji POSIX lub GNU] [--] %cprogram%c plik ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" -msgstr "Opcje POSIX:\t\tDługie opcje GNU:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" +msgstr "Opcje POSIX:\t\tDugie opcje GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f program\t\t--file=program\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" -msgstr "\t-v zmienna=wartość\t--assign=zmienna=wartość\n" +msgstr "\t-v zmienna=warto\t--assign=zmienna=warto\n" -#: main.c:732 -msgid "\t-m[fr] val\n" -msgstr "\t-m[fr] wartość\n" +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "Opcje POSIX:\t\tDugie opcje GNU:\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "\t-O\t\t\t--optimize\n" +#: main.c:785 +msgid "\t-m[fr] val\n" +msgstr "\t-m[fr] warto\n" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=plik]\t--dump-variables[=plik]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=tekst-programu\t--source=tekst-programu\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=plik\t\t--exec=plik\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=plik]\t--profile[=plik]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=tekst-programu\t--source=tekst-programu\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1674,32 +1781,32 @@ msgid "" "\n" msgstr "" "\n" -"Aby zgłosić błąd, prosimy zobaczyć węzeł `Bugs' w `gawk.info'\n" -"lub rozdział p.t. `Reporting Problems and Bugs' w wydrukowanej\n" +"Aby zgosi bd, prosimy zobaczy wze `Bugs' w `gawk.info'\n" +"lub rozdzia p.t. `Reporting Problems and Bugs' w wydrukowanej\n" "dokumentacji.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" "\n" msgstr "" -"gawk jest językiem skanowania i przetwarzania wzorców.\n" -"Program domyślnie czyta standardowe wejście i zapisuje standardowe wyjście.\n" +"gawk jest jzykiem skanowania i przetwarzania wzorcw.\n" +"Program domylnie czyta standardowe wejcie i zapisuje standardowe wyjcie.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" msgstr "" -"Przykłady:\n" +"Przykady:\n" "\tgawk '{ suma += $1 }; END { print suma }' plik\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1712,13 +1819,13 @@ msgid "" msgstr "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" "\n" -"Ten program jest wolnym oprogramowaniem; możesz go rozprowadzać dalej\n" -"i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU,\n" -"wydanej przez Fundację Wolnego Oprogramowania - według wersji 3-ciej\n" -"tej Licencji lub którejś z późniejszych wersji.\n" +"Ten program jest wolnym oprogramowaniem; moesz go rozprowadza dalej\n" +"i/lub modyfikowa na warunkach Powszechnej Licencji Publicznej GNU,\n" +"wydanej przez Fundacj Wolnego Oprogramowania - wedug wersji 3-giej\n" +"tej Licencji lub ktrej z pniejszych wersji.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1726,100 +1833,109 @@ msgid "" "GNU General Public License for more details.\n" "\n" msgstr "" -"Ten program rozpowszechniany jest z nadzieją, iż będzie on\n" -"użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej\n" -"gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH\n" -"ZASTOSOWAŃ. W celu uzyskania bliższych informacji przeczytaj\n" -"Powszechną Licencję Publiczną GNU.\n" +"Ten program rozpowszechniany jest z nadziej, i bdzie on\n" +"uyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domylnej\n" +"gwarancji PRZYDATNOCI HANDLOWEJ albo PRZYDATNOCI DO OKRELONYCH\n" +"ZASTOSOWA. W celu uzyskania bliszych informacji przeczytaj\n" +"Powszechn Licencj Publiczn GNU.\n" "\n" -#: main.c:813 +#: main.c:864 +#, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" msgstr "" -"Z pewnością wraz z niniejszym programem otrzymałeś też egzemplarz\n" +"Z pewnoci wraz z niniejszym programem otrzymae te egzemplarz\n" "Powszechnej Licencji Publicznej GNU (GNU General Public License);\n" -"jeśli zaś nie - odwiedź stronę http://www.gnu.org/licenses/.\n" +"jeli za nie - napisz do Free Software Foundation, Inc.,\n" +"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft nie ustawia FS na znak tabulatora w POSIX awk" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "" -"%s: argument `%s' dla `-v' nie jest zgodny ze składnią `zmienna=wartość'\n" +"%s: argument `%s' dla `-v' nie jest zgodny ze skadni `zmienna=warto'\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" -msgstr "`%s' nie jest dozwoloną nazwą zmiennej" +msgstr "`%s' nie jest dozwolon nazw zmiennej" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" -msgstr "`%s' nie jest nazwą zmiennej, szukanie pliku `%s=%s'" +msgstr "`%s' nie jest nazw zmiennej, szukanie pliku `%s=%s'" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" -msgstr "wyjątek zmiennopozycyjny" +msgstr "wyjtek zmiennopozycyjny" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" -msgstr "fatalny błąd: wewnętrzny błąd" +msgstr "fatalny bd: wewntrzny bd" -#: main.c:1206 +#: main.c:1260 +#, fuzzy msgid "fatal error: internal error: segfault" -msgstr "fatalny błąd: wewnętrzny błąd: błąd segmentacji" +msgstr "fatalny bd: wewntrzny bd" -#: main.c:1218 +#: main.c:1272 +#, fuzzy msgid "fatal error: internal error: stack overflow" -msgstr "fatalny błąd: wewnętrzny błąd: przepełnienie stosu" +msgstr "fatalny bd: wewntrzny bd" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" -msgstr "brak już otwartego fd %d" +msgstr "brak ju otwartego fd %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" -msgstr "nie można otworzyć zawczasu /dev/null dla fd %d" +msgstr "nie mona otworzy zawczasu /dev/null dla fd %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" -msgstr "nie można znaleźć grup: %s" +msgstr "nie mona znale grup: %s" #: msg.c:54 #, c-format msgid "cmd. line:" -msgstr "linia poleceń:" +msgstr "linia polece:" #: msg.c:120 msgid "warning: " -msgstr "ostrzeżenie: " +msgstr "ostrzeenie: " #: msg.c:142 msgid "error: " -msgstr "błąd: " +msgstr "bd: " #: msg.c:178 msgid "fatal: " -msgstr "fatalny błąd: " +msgstr "fatalny bd: " #: node.c:63 node.c:78 node.c:105 node.c:121 node.c:151 msgid "can't convert string to float" -msgstr "nie można zamienić łańcucha do liczby zmiennopozycyjnej" +msgstr "nie mona zamieni acucha do liczby zmiennopozycyjnej" #: node.c:465 msgid "backslash at end of string" -msgstr "backslash na końcu łańcucha" +msgstr "backslash na kocu acucha" #: node.c:609 #, c-format @@ -1828,7 +1944,7 @@ msgstr "stary awk nie wspiera sekwencji ucieczki `\\%c'" #: node.c:660 msgid "POSIX does not allow `\\x' escapes" -msgstr "POSIX nie zezwala na sekwencję ucieczki `\\x'" +msgstr "POSIX nie zezwala na sekwencj ucieczki `\\x'" #: node.c:666 msgid "no hex digits in `\\x' escape sequence" @@ -1840,44 +1956,42 @@ msgid "" "hex escape \\x%.*s of %d characters probably not interpreted the way you " "expect" msgstr "" -"szesnastkowa sekwencja ucieczki \\x%.*s %d znaków prawdopodobnie nie została " -"zinterpretowana jak tego oczekujesz" #: node.c:703 #, c-format msgid "escape sequence `\\%c' treated as plain `%c'" -msgstr "sekwencja ucieczki `\\%c' potraktowana jako zwykłe `%c'" +msgstr "sekwencja ucieczki `\\%c' potraktowana jako zwyke `%c'" #: posix/gawkmisc.c:172 #, c-format msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)" -msgstr "%s %s `%s': nie można ustawić close-on-exec: (fcntl: %s)" +msgstr "%s %s `%s': nie mona ustawi close-on-exec: (fcntl: %s)" #: profile.c:94 #, c-format msgid "could not open `%s' for writing: %s" -msgstr "nie można otworzyć `%s' do zapisu: %s" +msgstr "nie mona otworzy `%s' do zapisu: %s" #: profile.c:457 #, c-format msgid "internal error: %s with null vname" -msgstr "wewnętrzny błąd: %s z zerowym vname" +msgstr "wewntrzny bd: %s z zerowym vname" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" -msgstr "# potraktowany wewnętrznie jako `delete'" +msgstr "# potraktowany wewntrznie jako `delete'" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" -msgstr "# to jest dynamicznie ładowana funkcja rozszerzenie" +msgstr "# to jest dynamicznie adowana funkcja rozszerzenie" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# profil programu gawk, utworzony %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1886,16 +2000,34 @@ msgstr "" "\t# blok(i) BEGIN\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# blok(i) BEGIN\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" "\n" msgstr "" -"\t# Reguły\n" +"\t# Reguy\n" +"\n" + +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# blok(i) END\n" "\n" -#: profile.c:1123 +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1904,7 +2036,7 @@ msgstr "" "\t# blok(i) END\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1913,15 +2045,20 @@ msgstr "" "\n" "\t# Funkcje, spis alfabetyczny\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "niespodziewany typ %s w prec_level" -#: profile.c:1527 -#, c-format +#: profile.c:1557 +#, fuzzy, c-format msgid "Unknown node type %s in pp_var" -msgstr "Nieznany typ węzła %s w pp_var" +msgstr "nieznany typ wza %d" + +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" #: regcomp.c:132 msgid "Success" @@ -1933,23 +2070,23 @@ msgstr "Brak dopasowania" #: regcomp.c:138 msgid "Invalid regular expression" -msgstr "Nieprawidłowe wyrażenie regularne" +msgstr "Nieprawidowe wyraenie regularne" #: regcomp.c:141 msgid "Invalid collation character" -msgstr "Nieprawidłowy znak porównania" +msgstr "Nieprawidowy znak porwnania" #: regcomp.c:144 msgid "Invalid character class name" -msgstr "Nieprawidłowa nazwa klasy znaku" +msgstr "Nieprawidowa nazwa klasy znaku" #: regcomp.c:147 msgid "Trailing backslash" -msgstr "Końcowy znak backslash" +msgstr "Kocowy znak backslash" #: regcomp.c:150 msgid "Invalid back reference" -msgstr "Nieprawidłowe odwołanie wsteczne" +msgstr "Nieprawidowe odwoanie wsteczne" #: regcomp.c:153 msgid "Unmatched [ or [^" @@ -1965,27 +2102,27 @@ msgstr "Niedopasowany znak \\{" #: regcomp.c:162 msgid "Invalid content of \\{\\}" -msgstr "Nieprawidłowa zawartość \\{\\}" +msgstr "Nieprawidowa zawarto \\{\\}" #: regcomp.c:165 msgid "Invalid range end" -msgstr "Nieprawidłowy koniec zakresu" +msgstr "Nieprawidowy koniec zakresu" #: regcomp.c:168 msgid "Memory exhausted" -msgstr "Pamięć wyczerpana" +msgstr "Pami wyczerpana" #: regcomp.c:171 msgid "Invalid preceding regular expression" -msgstr "Nieprawidłowe poprzedzające wyrażenie regularne" +msgstr "Nieprawidowe poprzedzajce wyraenie regularne" #: regcomp.c:174 msgid "Premature end of regular expression" -msgstr "Przedwczesny koniec wyrażenia regularnego" +msgstr "Przedwczesny koniec wyraenia regularnego" #: regcomp.c:177 msgid "Regular expression too big" -msgstr "Wyrażenie regularne jest zbyt duże" +msgstr "Wyraenie regularne jest zbyt due" #: regcomp.c:180 msgid "Unmatched ) or \\)" @@ -1993,62 +2130,98 @@ msgstr "Niedopasowany znak ) lub \\)" #: regcomp.c:699 msgid "No previous regular expression" -msgstr "Brak poprzedniego wyrażenia regularnego" +msgstr "Brak poprzedniego wyraenia regularnego" + +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: niewaciwa opcja -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "plik `%s' jest katalogiem" #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "" -#~ "nie można otworzyć dwukierunkowego gniazda `%s' jako wejścia/wyjścia (%s)" +#~ "nie mona otworzy dwukierunkowego gniazda `%s' jako wejcia/wyjcia (%s)" -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: niewłaściwa opcja -- %c\n" +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: brak argumentw" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "" +#~ "close: `%.*s' nie jest ani otwartym plikiem, ani potokiem, ani procesem" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "" +#~ "close: `%.*s' nie jest ani otwartym plikiem, ani potokiem, ani procesem" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "`%s' nie jest dozwolon nazw zmiennej" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "uyj `PROCINFO[\"%s\"]' zamiast `%s'" -#~ msgid "remote port invalid in `%s'" -#~ msgstr "nieprawidłowy zdalny port w `%s'" +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "uyj `PROCINFO[...]' zamiast `/dev/user'" #~ msgid "function %s called\n" -#~ msgstr "wywołano funkcję %s\n" +#~ msgstr "wywoano funkcj %s\n" #~ msgid "field %d in FIELDWIDTHS, must be > 0" -#~ msgstr "pole nr %d w FIELDWIDTHS musi być większe od zera" +#~ msgstr "pole nr %d w FIELDWIDTHS musi by wiksze od zera" #~ msgid "delete: illegal use of variable `%s' as array" -#~ msgstr "delete: nieprawidłowe użycie zmiennej `%s' jako tablicy" +#~ msgstr "delete: nieprawidowe uycie zmiennej `%s' jako tablicy" #~ msgid "asort: first argument is not an array" -#~ msgstr "asort: pierwszy argument nie jest tablicą" +#~ msgstr "asort: pierwszy argument nie jest tablic" #~ msgid "asort: second argument is not an array" -#~ msgstr "asort: drugi argument nie jest tablicą" +#~ msgstr "asort: drugi argument nie jest tablic" #~ msgid "" #~ "\n" #~ "To report bugs, see node `Bugs' in `gawk.info', which is\n" #~ msgstr "" #~ "\n" -#~ "Aby zgłosić błędy, prosimy zobaczyć węzeł `Bugs' w `gawk.info', który " +#~ "Aby zgosi bdy, prosimy zobaczy wze `Bugs' w `gawk.info', ktry " #~ "jest\n" #~ msgid "invalid syntax in name `%s' for variable assignment" -#~ msgstr "błąd składni w nazwie `%s' dla przypisania zmiennej" +#~ msgstr "bd skadni w nazwie `%s' dla przypisania zmiennej" #~ msgid "internal error: Node_var_array with null vname" -#~ msgstr "wewnętrzny błąd: Node_var_array z zerowym vname" +#~ msgstr "wewntrzny bd: Node_var_array z zerowym vname" #~ msgid "or used in other expression context" -#~ msgstr "lub użyty w innym kontekście wyrażenia" +#~ msgstr "lub uyty w innym kontekcie wyraenia" #~ msgid "`%s' is a function, assignment is not allowed" -#~ msgstr "`%s' jest funkcją, zatem przypisanie nie jest dozwolone" +#~ msgstr "`%s' jest funkcj, zatem przypisanie nie jest dozwolone" #~ msgid "BEGIN blocks must have an action part" -#~ msgstr "Blok BEGIN musi posiadać część dotyczącą akcji" +#~ msgstr "Blok BEGIN musi posiada cz dotyczc akcji" #~ msgid "`nextfile' used in BEGIN or END action" -#~ msgstr "`nextfile' użyty w akcji BEGIN lub END" +#~ msgstr "`nextfile' uyty w akcji BEGIN lub END" #~ msgid "non-redirected `getline' undefined inside BEGIN or END action" #~ msgstr "" -#~ "komenda `getline' bez przekierowania nie jest zdefiniowana wewnątrz akcji " +#~ "komenda `getline' bez przekierowania nie jest zdefiniowana wewntrz akcji " #~ "BEGIN lub END" #~ msgid "fptr %x not in tokentab\n" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo Binary files differindex 29aafc9d..2d34f76d 100644 --- a/po/pt_BR.gmo +++ b/po/pt_BR.gmo diff --git a/po/pt_BR.po b/po/pt_BR.po index 6f7b5f63..3fa821a4 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.2g\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2003-06-26 16:18+0300\n" "Last-Translator: Juan Carlos Castro y Castro <jcastro@vialink.com.br>\n" "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n" @@ -75,330 +75,345 @@ msgstr "%s: parmetro\n" msgid "%s: array_ref to %s\n" msgstr "%s: array_ref para %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "blocos %s devem ter uma parte de ao" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "cada regra deve ter um padro ou uma parte de ao" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 #, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "o velho awk no suporta o operador `**'" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' uma funo intrnseca, no pode ser redefinida" -#: awkgram.y:331 +#: awkgram.y:350 #, fuzzy msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "constante de expr. reg. `/%s/' parece um comentrio C, mas no " -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "constante de expr. reg. `/%s/' parece um comentrio C, mas no " -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "declarao pode no ter efeito" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "`%s' usado em ao %s" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "`nextfile' uma extenso do gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "`return' usado fora do contexto de funo" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "`print' sozinho em regra BEGIN ou END provavelmente deveria ser `print \"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "`delete array' uma extenso do gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(array)' uma extenso no-portvel do tawk" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "valores de case duplicados no corpo do switch: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "Detectado `default' duplicado no corpo do switch" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "pipelines bidirecionais de mltiplos estgios no funcionam" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "expresso regular direita de atribuio" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "expresso regular esquerda de operador `~' ou `!~'" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 #, fuzzy msgid "old awk does not support the keyword `in' except after `for'" msgstr "o velho awk no suporta o operador `**'" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "expresso regular direita de comparao" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "porta remota invlida em `%s'" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "`getline' no-redirecionado no definido dentro da ao END" -#: awkgram.y:904 +#: awkgram.y:955 #, fuzzy msgid "old awk does not support multidimensional arrays" msgstr "o velho awk no suporta o operador `**'" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "chamada a `length' sem parnteses no portvel" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "chamada a `length' sem parnteses obsoleta de acordo com POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`extension' uma extenso do gawk" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "uso de no-vetor como vetor" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "expresso de ndice invlida" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "fim de linha ou de string inesperado" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "texto de programa vazio na linha de comando" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "impossvel abrir arquivo-fonte `%s' para leitura (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "impossvel ler arquivo-fonte `%s' (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "arquivo-fonte `%s' est vazio" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "arquivo-fonte no termina em fim-de-linha" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "expresso regular inacabada termina com `\\' ao fim do arquivo" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "expresso regular inacabada" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "expresso regular inacabada no fim do arquivo" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "uso da continuao de linha `\\ #...' no portvel" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "`\\' no o ltimo caracter da linha" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX no permite o operador `**='" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "o velho awk no suporta o operador `**='" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX no permite o operador `**'" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "o velho awk no suporta o operador `**'" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "o velho awk no suporta o operador `^='" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "o velho awk no suporta o operador `^'" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "string inacabada" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "caracter invlido '%c' em expresso" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' uma extenso do gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s' uma extenso da Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX no permite `%s'" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' no suportado no velho awk" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "`goto' considerado danoso!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d invlido como nmero de argumentos para %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: terceiro argumento uma extenso do gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: string literal como ltimo argumento de substituio no tem efeito" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "terceiro parmetro %s no um objeto modificvel" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: segundo argumento uma extenso do gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "uso de dcgettext(_\"...\") incorreto: remova o `_' precedente" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "uso de dcngettext(_\"...\") incorreto: remova o `_' precedente" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funo `%s': parmetro #%d, `%s', duplica parmetro #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funo `%s': parmetro `%s' encobre varivel global" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "impossvel abrir `%s' para escrita (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "enviando perfil para sada de erros" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: `close' falhou (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() chamada duas vezes!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "houve variveis encobertas." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "funo `%s': no se pode usar o nome da funo como nome de parmetro" -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "funo `%s': no se pode usar o nome da funo como nome de parmetro" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "nome de funo `%s' definido anteriormente" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "funo `%s' chamada mas nunca definida" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "funo `%s' definida mas nunca chamada" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" "constante com expr. regular para parmetro n %d retorna valor booleano" -#: awkgram.y:3245 +#: awkgram.y:3329 #, fuzzy, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -407,12 +422,12 @@ msgstr "" "funo `%s' chamada com espao entre o nome e o `(',\n" "%s" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "tentativa de diviso por zero em `/='" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "tentativa de diviso por zero em `%%'" @@ -664,248 +679,266 @@ msgstr "mktime: recebeu argumento no-string" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: recebeu argumento no-string" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "referncia a campo no inicializado `$%d'" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: recebeu argumento no-string" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: recebeu argumento no-string" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: recebeu primeiro argumento no-numrico" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: recebeu segundo argumento no-numrico" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: recebeu argumento no-numrico" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: recebeu argumento no-numrico" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: recebeu argumento no-numrico" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: terceiro argumento no um vetor" -#: builtin.c:2744 -#, fuzzy +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: 3 argumento 0 tratado como 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: recebeu primeiro argumento no-numrico" -#: builtin.c:2862 +#: builtin.c:2868 #, fuzzy msgid "lshift: received non-numeric second argument" msgstr "strftime: recebeu segundo argumento no-numrico" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): valores negativos daro resultados estranhos" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): valores fracionrios sero truncados" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "lshift(%lf, %lf): deslocamento excessivo dar resultados estranhos" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: recebeu primeiro argumento no-numrico" -#: builtin.c:2900 +#: builtin.c:2906 #, fuzzy msgid "rshift: received non-numeric second argument" msgstr "strftime: recebeu segundo argumento no-numrico" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): valores negativos daro resultados estranhos" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): valores fracionrios sero truncados" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "rshift(%lf, %lf): deslocamento excessivo dar resultados estranhos" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: recebeu primeiro argumento no-numrico" -#: builtin.c:2938 +#: builtin.c:2944 #, fuzzy msgid "and: received non-numeric second argument" msgstr "atan2: recebeu segundo argumento no-numrico" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): valores negativos daro resultados estranhos" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): valores fracionrios sero truncados" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: recebeu primeiro argumento no-numrico" -#: builtin.c:2974 +#: builtin.c:2980 #, fuzzy msgid "or: received non-numeric second argument" msgstr "atan2: recebeu segundo argumento no-numrico" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): valores negativos daro resultados estranhos" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): valores fracionrios sero truncados" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: recebeu primeiro argumento no-numrico" -#: builtin.c:3010 +#: builtin.c:3016 #, fuzzy msgid "xor: received non-numeric second argument" msgstr "atan2: recebeu segundo argumento no-numrico" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): valores negativos daro resultados estranhos" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): valores fracionrios sero truncados" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: recebeu primeiro argumento no-numrico" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): valores negativos daro resultados estranhos" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): valores fracionrios sero truncados" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' no uma categoria de \"locale\" vlida" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "tipo de nodo desconhecido %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "estouro de buffer em genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "tentativa de usar vetor `%s' em um contexto escalar" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "loop for: vetor `%s' mudou de tamanho de %ld para %ld durante a execuo" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "`break' fora de um loop no portvel" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "`break' fora de um loop no permitido" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "`continue' fora de um loop no portvel" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "`continue' fora de um loop no permitido" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "`next' no pode ser chamado de uma regra BEGIN" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "`next' no pode ser chamado de uma regra END" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "`next' no pode ser chamado de uma regra BEGIN" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "`next' no pode ser chamado de uma regra END" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "`nextfile' no pode ser chamado de uma regra BEGIN" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "`nextfile' no pode ser chamado de uma regra END" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "`nextfile' no pode ser chamado de uma regra END" + +#: eval.c:963 msgid "statement has no effect" msgstr "declarao no tem efeito" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "no se pode usar o nome de funo `%s' como varivel ou vetor" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "referncia a argumento no inicializado `%s'" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "referncia a varivel no inicializada `%s'" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -913,39 +946,66 @@ msgstr "" "concatenao: efeitos colaterais em um contexto mudaram o comprimento de " "outro!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "atribuio usada em contexto condicional" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "tentativa de diviso por zero" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tipo ilegal (%s) em tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "tentativa de diviso por zero em `/='" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "tentativa de diviso por zero em `%%='" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "funo `%s' chamada com mais argumentos que os declarados" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "funo `%s' no definida" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -956,147 +1016,182 @@ msgstr "" "\t# Pilha de Chamadas de Funo:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- main --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "tentativa de referncia a campo a partir de valor no-numrico" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "tentativa de referncia a partir de string nula" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "tentativa de acessar campo %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "atribuio no pode resultar de funes intrnsecas" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "`IGNORECASE' uma extenso do gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' uma extenso do gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "especificao `%sFMT' invlida `%s'" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "desativando `--lint' devido a atribuio a `LINT'" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "`extension' uma extenso do gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: impossvel abrir `%s' (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: biblioteca `%s': impossvel chamar funo `%s' (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "" -#: ext.c:110 +#: ext.c:113 #, fuzzy, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: biblioteca `%s': impossvel chamar funo `%s' (%s)\n" -#: ext.c:116 +#: ext.c:119 #, fuzzy, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: impossvel abrir `%s' (%s)\n" -#: ext.c:120 +#: ext.c:123 #, fuzzy, c-format msgid "extension: function `%s' already defined" msgstr "funo `%s' no definida" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" -#: ext.c:127 +#: ext.c:130 #, fuzzy, c-format msgid "extension: function name `%s' previously defined" msgstr "nome de funo `%s' definido anteriormente" -#: ext.c:204 +#: ext.c:207 #, fuzzy, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "funo `%s' definida mas nunca chamada" -#: ext.c:207 +#: ext.c:210 #, fuzzy, c-format msgid "function `%s': missing argument #%d" msgstr "funo `%s' no definida" -#: ext.c:217 +#: ext.c:220 #, fuzzy, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "tentativa de usar escalar `%s' como vetor" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operao No Suportada" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "valor negativo atribudo a NF" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: segundo argumento no um vetor" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: terceiro argumento uma extenso do gawk" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: segundo argumento no um vetor" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: string nula para segundo argumento uma extenso do gawk" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: segundo argumento no um vetor" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: segundo argumento no um vetor" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: terceiro argumento no um vetor" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`FIELDWIDTHS' uma extenso do gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "string nula para `FS' uma extenso do gawk" -#: field.c:1092 +#: field.c:1242 #, fuzzy msgid "old awk does not support regexps as value of `FS'" msgstr "o velho awk no suporta o operador `**'" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s' uma extenso do gawk" + #: getopt.c:574 getopt.c:590 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1152,491 +1247,507 @@ msgstr "%s: opo `-W %s' no aceita argumento\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opo `%s' requer argumento\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "impossvel abrir arquivo `%s' para leitura (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "erro ao ler arquivo de entrada `%s': %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "fechamento do descritor %d (`%s') falhou (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "tipo de rvore %s invlido em redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "expresso no redirecionamento `%s' s tem valor numrico" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "expresso para o redirecionamento `%s' tem valor string nulo" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "nome de arquivo `%s' para redirecionamento `%s' pode ser resultado de " "expresso lgica" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "mistura desnecessria de `>' e `>>' para arquivo `%.*s'" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "impossvel abrir pipe `%s' para sada (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "impossvel abrir pipe `%s' para entrada (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "impossvel abrir pipe bidirecional `%s' para entrada/sada (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "impossvel redirecionar de `%s' (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "impossvel redirecionar para `%s' (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "alcanado limite do sistema para arquivos abertos; comeando a multiplexar " "descritores de arquivos" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "fechamento de `%s' falhou (%s)" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "excesso de pipes ou arquivos de entrada abertos" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: segundo argumento deve ser `to' ou `from'" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: `%.*s' no um arquivo aberto, pipe ou co-processo" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "fechamento de redirecionamento que nunca foi aberto" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: redirecionamento `%s' no foi aberto com `|&', segundo argumento " "ignorado" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "status de falha (%d) ao fechar pipe de `%s' (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "status de falha (%d) ao fechar arquivo de `%s' (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "fechamento explcito do socket `%s' no fornecido" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "fechamento explcito do co-processo `%s' no fornecido" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "fechamento explcito do pipe `%s' no fornecido" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "fechamento explcito do arquivo `%s' no fornecido" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "erro ao escrever na sada padro (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "erro ao escrever na sada padro de erros (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "descarga de pipe de `%s' falhou (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "descarga de co-processo de pipe para `%s' falhou (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "descarga de arquivo de `%s' falhou (%s)." -#: io.c:1222 +#: io.c:1292 #, fuzzy, c-format msgid "local port %s invalid in `/inet'" msgstr "porta local invlida em `%s'" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "infelizmente, o cliente de /inet/raw no est concludo" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "apenas root pode usar `/inet/raw'." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "infelizmente, o servidor de /inet/raw no est concludo" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "" "nenhum protocolo (conhecido) fornecido em nome de arquivo especial `%s'" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "nome de arquivo especial `%s' est incompleto" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "deve ser fornecido um nome de host remoto para `/inet'" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "deve ser fornecida uma porta remota para `/inet'" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "comunicao TCP/IP no suportada" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "arquivo `%s' um diretrio" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "use `PROCINFO[\"%s\"]' em vez de `%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "use `PROCINFO[...]' em vez de `/dev/user'" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "impossvel abrir `%s', modo `%s'" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "falha ao fechar pty mestre (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "falha ao fechar stdout em filho (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "falha ao mover pty escrava para stdout em filho (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "falha ao fechar stdin em filho (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "falha ao mover pty escrava para stdin em filho (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "falha ao fechar pty escrava (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "falha ao mover pipe para stdout em processo pai (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "falha ao mover pipe para stdin em processo pai (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "falha ao restaurar stdout em processo pai\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "falha ao restaurar stdin em processo pai\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "falha ao fechar pipe (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' no suportado" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "impossvel abrir pipe `%s' (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "impossvel criar processo filho para `%s' (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "arquivo de dados `%s' vazio" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "impossvel alocar mais memria de entrada" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "erro ao ler arquivo de entrada `%s': %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "valor de mltiplos caracteres para `RS' uma extenso do gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "opo `-m[fr] irrelevante no gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "uso da opo -m: `-m[fr] nnn'" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "argumento vazio para --source ignorado" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: opo `-W %s' no reconhecida, ignorada\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "argumento vazio para --source ignorado" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opo requer argumento -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "varivel de ambiente `POSIXLY_CORRECT' ativada: ligando `--posix'" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "`--posix' sobrepe `--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "`--posix'/`--traditional' sobrepe `--non-decimal-data'" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "rodar %s com setuid root pode ser um problema de segurana" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "`--posix' sobrepe `--traditional'" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "impossvel ativar modo binrio em stdin (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "impossvel ativar modo binrio em stdout (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "impossvel ativar modo binrio em stderr (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "nenhum texto de programa" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Uso: %s [opes estilo POSIX ou GNU] -f arqprog [--] arquivo ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Uso: %s [opes estilo POSIX ou GNU] [--] %cprograma%c arquivo ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Opes POSIX: \t\tOpes longas GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f arqprog \t\t--file=arqprog\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=val\t\t--assign=var=val\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "Opes POSIX: \t\tOpes longas GNU:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] val\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=arq] \t--dump-variables[=arq]\n" -#: main.c:738 +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=program-text\t--source=program-text\n" + +#: main.c:791 #, fuzzy -msgid "\t-W exec=file\t\t--exec=file\n" +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W profile[=arq] \t--profile[=arq]\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=arq] \t--profile[=arq]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=program-text\t--source=program-text\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1648,7 +1759,7 @@ msgstr "" "seo `Reportando Problemas e Bugs' na verso impressa.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1658,7 +1769,7 @@ msgstr "" "Por padro, o gawk l a entrada padro e escreve na sada padro.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1668,8 +1779,8 @@ msgstr "" "\tgawk '{ soma += $1 }; END { print soma }' arquivo\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 -#, fuzzy, c-format +#: main.c:845 +#, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" "\n" @@ -1683,11 +1794,11 @@ msgstr "" "\n" "Este programa Software Livre; voc pode redistribu-lo e/ou modific-lo\n" "de acordo com os termos da Licena Pblica Geral GNU (GNU GPL) na " -"formapublicada pela Free Software Foundation; ou a verso 2 da licena ou " +"formapublicada pela Free Software Foundation; ou a verso 3 da licena ou " "(aoseu critrio) qualquer verso posterior.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1699,7 +1810,7 @@ msgstr "" "QUALQUER GARANTIA. Veja a Licena Pblica Geral GNU (GNU GPL)\n" "para mais detalhes.\n" -#: main.c:813 +#: main.c:864 #, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" @@ -1707,13 +1818,19 @@ msgid "" msgstr "" "Voc deve ter recebido uma cpia da Licena Pblica Geral GNU (GNU GPL)\n" "junto com este programa; caso contrrio, escreva Free Software\n" -"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " +"USA.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft no faz FS ser tab no awk POSIX" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1722,45 +1839,45 @@ msgstr "" "%s: argumento `%s' para `-v' no est na forma `var=valor'\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' no um nome legal de varivel" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "`%s' no um nome de varivel, procurando arquivo `%s=%s'" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "exceo de ponto flutuante" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "erro fatal: erro interno" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "erro fatal: erro interno" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "erro fatal: erro interno" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "nenhum descritor pr-aberto %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "impossvel pr-abrir /dev/null para descritor %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "impossvel achar grupos: %s" @@ -1830,21 +1947,21 @@ msgstr "impossvel abrir `%s' para escrita: %s" msgid "internal error: %s with null vname" msgstr "erro interno: %s com vname nulo" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# tratado internamente como `delete'" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# perfil gawk, criado %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1853,7 +1970,16 @@ msgstr "" "\t# bloco(s) BEGIN\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# bloco(s) BEGIN\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1862,7 +1988,16 @@ msgstr "" "\t# Regra(s)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# bloco(s) END\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1871,7 +2006,7 @@ msgstr "" "\t# bloco(s) END\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1880,16 +2015,21 @@ msgstr "" "\n" "\t# Funes, listadas alfabeticamente\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "tipo inesperado %s em prec_level" -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "tipo de nodo desconhecido %d" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "Sucesso" @@ -1962,11 +2102,48 @@ msgstr ") ou \\) desemparelhado" msgid "No previous regular expression" msgstr "Nenhuma expresso regular anterior" -#~ msgid "or used as a variable or an array" -#~ msgstr "ou usado como uma varivel ou vetor" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: opo ilegal -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "arquivo `%s' um diretrio" + +#~ msgid "can't open two way socket `%s' for input/output (%s)" +#~ msgstr "impossvel abrir socket bidirecional `%s' para entrada/sada (%s)" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: nenhum argumento" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: `%.*s' no um arquivo aberto, pipe ou co-processo" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: `%.*s' no um arquivo aberto, pipe ou co-processo" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "`%s' no um nome legal de varivel" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "use `PROCINFO[\"%s\"]' em vez de `%s'" -#~ msgid "substr: length %g is < 0" -#~ msgstr "substr: comprimento %g < 0" +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "use `PROCINFO[...]' em vez de `/dev/user'" #~ msgid "function %s called\n" #~ msgstr "funo %s chamada\n" @@ -1974,12 +2151,6 @@ msgstr "Nenhuma expresso regular anterior" #~ msgid "field %d in FIELDWIDTHS, must be > 0" #~ msgstr "campo %d em FIELDWIDTHS deve ser > 0" -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: opo ilegal -- %c\n" - -#~ msgid "can't open two way socket `%s' for input/output (%s)" -#~ msgstr "impossvel abrir socket bidirecional `%s' para entrada/sada (%s)" - #~ msgid "remote port invalid in `%s'" #~ msgstr "porta remota invlida em `%s'" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.31\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2003-09-15 17:48+0300\n" "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" @@ -74,341 +74,356 @@ msgstr "%s: este parametru!\n" msgid "%s: array_ref to %s\n" msgstr "%s: array_ref ctre %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, fuzzy, c-format msgid "%s blocks must have an action part" msgstr "Blocurile de END trebuie s aib un fragment de aciune" -#: awkgram.y:221 +#: awkgram.y:230 #, fuzzy msgid "each rule must have a pattern or an action part" msgstr "Blocurile de END trebuie s aib un fragment de aciune" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 #, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "vechiul awk nu supoort operatorul `**'" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' este funcie intern, nu poate fi redefinit" -#: awkgram.y:331 +#: awkgram.y:350 #, fuzzy msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "constanta regexp `/%s/' arat ca un comentariu C, dar nu este" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "constanta regexp `/%s/' arat ca un comentariu C, dar nu este" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "declaraia poate s nu aib nici un efect" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, fuzzy, c-format msgid "`%s' used in %s action" msgstr "`next' folosit n aciune BEGIN sau END" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "`nextfile' este extensie gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "`return' folosit n afara contextului funciei" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "`print' simplu din regulile BEGIN sau END ar trebui s fie probabil `print " "\"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "`delete array' este extensie gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 #, fuzzy msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete array' este extensie gawk" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "legturile(pipelines) bidirecionale multistage nu vor funciona" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "expresie regular n dreapta atribuirii" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "expresie regular n stnga operatorului `~' sau `!~'" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 #, fuzzy msgid "old awk does not support the keyword `in' except after `for'" msgstr "vechiul awk nu supoort operatorul `**'" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "expresie regular n dreapta comparaiei" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "port remote invalid n `%s'" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "`getline' nedefinit i neredirectat nuntrul unei aciuni END" -#: awkgram.y:904 +#: awkgram.y:955 #, fuzzy msgid "old awk does not support multidimensional arrays" msgstr "vechiul awk nu supoort operatorul `**'" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "apelarea lui `legth' fr paranteze nu este portabil" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "apelarea lui `length' fr paranteze nu mai este folosit n POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`extension' este o extensie gawk" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "expresie subscript invalid" -#: awkgram.y:1257 +#: awkgram.y:1329 #, fuzzy msgid "unexpected newline or end of string" msgstr "linie nou neateptat" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "text program vid n linia de comand" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "nu se poate deschide fiierul surs `%s' pentru citire (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "nu se poate citi fiierul surs `%s' (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "fiierul surs `%s' este vid" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "fiierul surs nu se termin n linie nou" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "regexp-ul neterminat se termin cu `\\'` la sfritul fiierului" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "regexp neterminat" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "regexp neterminat la sfritul fiierului" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "folosirea continurii liniei `\\ #...' nu este portabil" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "backslash nu este ultimul caracter din linie" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX nu permite operatorul `**='" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "vechiul awk nu suport operatorul `**='" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX nu permite operatorul `**'" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "vechiul awk nu supoort operatorul `**'" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "operatorul `^=' nu este suportat n vechiul awk" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "operator `^' nu este suportat n vechiul awk" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "ir de caractere neterminat" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "caracter invalid `%c' n expresie" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' este extensie gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s' este extensie Bell Labs" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX nu permite `%s'" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' nu este suportat n vechiul awk" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "`goto' este considerat periculos!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d este invalid ca numr de argumente pentru %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: al treilea argument este extensie gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: irul de caractere literal ca ultim argument al nlocuitorului nu are " "nici un efect" -#: awkgram.y:2475 +#: awkgram.y:2552 #, fuzzy, c-format msgid "%s third parameter is not a changeable object" msgstr "al treilea parametru al sub nu este un obiect modificabil" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: al doilea argument este extensie gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "folosirea lui dcgettext(_\"...\") este incorect: eliminai liniua_jos de " "la nceput" -#: awkgram.y:2530 +#: awkgram.y:2614 #, fuzzy msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "folosirea lui dcgettext(_\"...\") este incorect: eliminai liniua_jos de " "la nceput" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funcia `%s': parametrul #%d, `%s', parametrul duplicat #%d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "" "funcia `%s': parametrul `%s' nu mai ine cont de(shadows) variabila global" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "nu s-a putut deschide `%s' pentru scriere (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "se trimite profilul la dipsozitivul de eroare standard" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: nchidere euat (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() apelat de dou ori!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "" -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "funcia `%s': nu se poate folosi numele funciei ca nume de parametru" -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "funcia `%s': nu se poate folosi numele funciei ca nume de parametru" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "numele funciei `%s' a mai fost definit nainte" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "funcia `%s' este apelat dar niciodat definit" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "funcia `%s' este definit dar niciodat apelat" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" "regexp constant pentru parametrul #%d solicit(yields) valoare boolean" -#: awkgram.y:3245 +#: awkgram.y:3329 #, fuzzy, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -417,12 +432,12 @@ msgstr "" "funcia `%s' apelat cu un spaiu ntre nume i `(',\n" "%s" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "s-a ncercat mprire la zero n `/='" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "s-a ncercat mprire la zero n `%%'" @@ -682,254 +697,273 @@ msgstr "mktime: s-a primit argument non ir de caractere" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 #, fuzzy msgid "system: received non-string argument" msgstr "system: s-a primit argument non ir de caractere" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, fuzzy, c-format msgid "reference to uninitialized field `$%d'" msgstr "referin la variabila neiniializat `%s'" -#: builtin.c:2009 +#: builtin.c:2012 #, fuzzy msgid "tolower: received non-string argument" msgstr "tolower: s-a primit argument non-ir de caractere" -#: builtin.c:2039 +#: builtin.c:2042 #, fuzzy msgid "toupper: received non-string argument" msgstr "toupper: s-a primit argument non-ir de caractere" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: s-a primit un prim argument nenumeric" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: s-a primit un al doilea argument nenumeric" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: s-a primit un argument nenumeric" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: s-a primit un argument nenumeric" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: s-a primit un argument nenumeric" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: al treilea argument nu este un array" -#: builtin.c:2744 +#: builtin.c:2750 #, fuzzy msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: al 3-lea argument care este 0 va fi considerat 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: s-a primit un prim argument nenumeric" -#: builtin.c:2862 +#: builtin.c:2868 #, fuzzy msgid "lshift: received non-numeric second argument" -msgstr "atan2: s-a primit un al doilea argument nenumeric" +msgstr "strftime: s-a primit un al doilea argument nenumeric" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): valorile negative vor furniza rezultate ciudate" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): valorile fracionale vor fi trunchiate" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): valorile schimbate prea mult vor da rezultate ciudate" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: s-a primit un prim argument nenumeric" -#: builtin.c:2900 +#: builtin.c:2906 #, fuzzy msgid "rshift: received non-numeric second argument" -msgstr "atan2: s-a primit un al doilea argument nenumeric" +msgstr "strftime: s-a primit un al doilea argument nenumeric" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): valorile negative vor da rezultate ciudate" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): valorile fracionale vor fi trunchiate" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): valorile schimbate prea mult vor da rezultate ciudate" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: s-a primit un prim argument nenumeric" -#: builtin.c:2938 +#: builtin.c:2944 #, fuzzy msgid "and: received non-numeric second argument" msgstr "atan2: s-a primit un al doilea argument nenumeric" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): valorile negative vor da rezultate ciudate" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): valorile fracionale vor fi trunchiate" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: s-a primit un prim argument nenumeric" -#: builtin.c:2974 +#: builtin.c:2980 #, fuzzy msgid "or: received non-numeric second argument" msgstr "atan2: s-a primit un al doilea argument nenumeric" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): valorile negative for da rezultate ciudate" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): valorile fracionale vor fi trunchiate" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: s-a primit un prim argument nenumeric" -#: builtin.c:3010 +#: builtin.c:3016 #, fuzzy msgid "xor: received non-numeric second argument" msgstr "atan2: s-a primit un al doilea argument nenumeric" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): valorile negative vor da rezultate ciudate" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): valorile fracionale vor fi trunchiate" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: s-a primit argument nenumeric" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): valorile negative vor da rezultate ciudate" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): valorile fracionale vor fi trunchiate" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' nu este o categorie local valid" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "tip nod %d necunoscut" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "depire(overflow) de buffer n genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "ncercare de a utiliza array-ul `%s' ntr-un context scalar" -#: eval.c:802 +#: eval.c:803 #, fuzzy, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for loop: array-ul `%s' i-a schimbat mrimea din %d n %d n timpul " "execuiei buclei" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "`break' n afara buclei nu este portabil" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "`break' n afara buclei nu este permis" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "`continue' n afara buclei nu este portabil" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "`continue' n afara buclei nu este permis" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "`next' nu poate fi apelat dintr-o regul BEGIN" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "`next' nu poate fi apelat dintr-o regul END" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "`next' nu poate fi apelat dintr-o regul BEGIN" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "`next' nu poate fi apelat dintr-o regul END" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "`nextfile' nu poate fi apelat dintr-o regul BEGIN" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "`nextfile' nu poate fi apelat dintr-o regul END" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "`nextfile' nu poate fi apelat dintr-o regul END" + +#: eval.c:963 msgid "statement has no effect" msgstr "declaraia nu are nici un efect" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "nu se poate folosi numele funciei `%s' ca variabil sau array" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "referin la argumentul neiniializat `%s'" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "referin la variabila neiniializat `%s'" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -937,40 +971,67 @@ msgstr "" "concatenation: efectele secundare dintr-o expresie au schimbat lungimea " "alteia!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "atribuire folosit n context condiional" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "s-a ncercat mprire la zero" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tip ilegal (%s) n tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "s-a ncercat mprire la zero n `/='" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "s-a ncercat mprire la zero n `%%='" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "" "funcia `%s' a fost apelat cu mai multe argumente dect cele declarate" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "funcia `%s' nu este definit" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -981,147 +1042,182 @@ msgstr "" "\t# Stiva de Apelare a Funciei:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- principal(main) --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "ncercare de referin la cmp din valoare nenumeric" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "ncercare de referin din ir de caractere vid(null)" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "ncercare de accesare a cmpului %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "atribuirea nu este permis rezultatului funciei interne" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "`IGNORECASE' este extensie gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' este extensie gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "`%sFMT' specificaie `%s' invalid" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "se dezactiveaz `--lint' din cauza atribuirii lui `LINT'" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "`extension' este o extensie gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: nu s-a putut deschide `%s' (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: biblioteca `%s': nu pot apela funcia `%s' (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "" -#: ext.c:110 +#: ext.c:113 #, fuzzy, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: biblioteca `%s': nu pot apela funcia `%s' (%s)\n" -#: ext.c:116 +#: ext.c:119 #, fuzzy, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: nu s-a putut deschide `%s' (%s)\n" -#: ext.c:120 +#: ext.c:123 #, fuzzy, c-format msgid "extension: function `%s' already defined" msgstr "funcia `%s' nu este definit" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" -#: ext.c:127 +#: ext.c:130 #, fuzzy, c-format msgid "extension: function name `%s' previously defined" msgstr "numele funciei `%s' a mai fost definit nainte" -#: ext.c:204 +#: ext.c:207 #, fuzzy, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "funcia `%s' este definit dar niciodat apelat" -#: ext.c:207 +#: ext.c:210 #, fuzzy, c-format msgid "function `%s': missing argument #%d" msgstr "funcia `%s' nu este definit" -#: ext.c:217 +#: ext.c:220 #, fuzzy, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "ncercare de a utiliza scalarul `%s' ca array" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operaie NeSuportat" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF setat la valoare negativ" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: al doilea argument nu este un array" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: al treilea argument este extensie gawk" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: al doilea argument nu este un array" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: irul nul pentru al treilea arg este o extensie gawk" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: al doilea argument nu este un array" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: al doilea argument nu este un array" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: al treilea argument nu este un array" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`FIELDWIDTHS' este extensie gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "irul de caractere null pentru `FS' este extensie gawk" -#: field.c:1092 +#: field.c:1242 #, fuzzy msgid "old awk does not support regexps as value of `FS'" msgstr "vechiul awk nu supoort operatorul `**'" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s' este extensie gawk" + #: getopt.c:574 getopt.c:590 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1177,496 +1273,512 @@ msgstr "%s: opiunea `-W %s' nu permite parametri\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: opiunea `%s' necesit un parametru\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "nu s-a putu deschide `%s' pentru citire (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "eroare n citirea fiierului de intrare(input) `%s': %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "nchiderea lui fd %d (`%s') euat (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "tip arbore(tree) invalid %s n redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "expresia din redirectarea `%s' are doar valoare numeric" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "expresia din redirectarea `%s' are valoar de ir null" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "numele de fiier `%s' pentru redirectarea `%s' poate fi rezultatul unei " "expresii logice" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "amestecare nenecesar a `>' i `>>' pentru fiierul `%.*s'" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "nu se poate deschide legtura(pipe) `%s' pentru output (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "nu se poate deschide legtura(pipe) `%s' pentru input (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "" "nu se poate deschide legtura(pipe) bidirecional `%s' pentru input/output " "(%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "nu se poate redirecta din `%s' (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "nu se poate redirecta ctre `%s' (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "s-a atins limita sistemului pentru fiiere deschise: se ncepe muliplexarea " "desciptorilor de fiier" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "nchiderea `%s' euat (%s)." -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "prea multe legturi(pipe) sau fiiere de intrare(input) deschise" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: al doilea argument trebuie s fie `to' sau `from'" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "" "close: `%.*s' nu este un fiier deschis, o legtur(pipe) sau un coproces" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "nchiderea unei redirectri care n-a fost deschis niciodat" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: redirectarea `%s' nu a fost deschis cu `|&', al doilea argument " "ignorat" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "stare de avarie (%d) n legtura(pipe) nchis n `%s' (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "stare de avarie (%d) n fiierul nchis n `%s' (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "nu s-a furnizat nchiderea explicit a socketului `%s'" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "nu s-a furnizat nchiderea explicit a coprocesului `%s' " -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "nu s-a furnizat nchiderea explicit a legturii(pipe) `%s'" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "nu s-a furnizat nchiderea explicit a fiierului `%s'" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "eroare n scrierea la ieirea(output) standard (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "eroare n scrierea la dispozitivul standard de eroare (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "flush-ul legturii(pipe) `%s' euat (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "flush-ul legturii(pipe) coprocesului la `%s' euat (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "flush-ul de fiier al `%s' euat (%s)." -#: io.c:1222 +#: io.c:1292 #, fuzzy, c-format msgid "local port %s invalid in `/inet'" msgstr "port local invalid n `%s'" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "clientul /inet/raw nu este pregtit nc, scuze" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "doar root-ul poate folosi `/inet/raw'." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "serverul /inet/raw nu este pregtit nc, scuze" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "nici un protocol (cunoscut) furnizat n numele de fiier special `%s'" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "numele special de fiier `%s' nu este complet" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "trebuie furnizat un nume de host remote pentru `/inet'" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "trebuie furnizat un port remote pentru `/inet'" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "Comunicaiile TCP/IP nu sunt suportate" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "fiierul `%s' este director" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "folosii `PROCINFO[\"%s\"]' n loc de `%s'" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "folosii `PROCINFO[...]' n loc de `/dev/user'" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "nu s-a putut deschide `%s', modul `%s'" -#: io.c:1923 +#: io.c:1809 #, fuzzy, c-format msgid "close of master pty failed (%s)" msgstr "nchiderea legturii(pipe) a euat (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "nchiderea stdout n copil(child) a euat (%s)" -#: io.c:1928 +#: io.c:1814 #, fuzzy, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "mutarea legturii(pipe) la stdout n copil(child) a euat (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "nchiderea stdin n copil(child) a euat (%s)" -#: io.c:1933 +#: io.c:1819 #, fuzzy, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "mutarea legturii(pipe) la stdin n copil(child) a euat (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, fuzzy, c-format msgid "close of slave pty failed (%s)" msgstr "nchiderea legturii(pipe) a euat (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "mutarea legturii(pipe) la stdout n copil(child) a euat (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "mutarea legturii(pipe) la stdin n copil(child) a euat (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "refacerea stdout n procesul printe a euat\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "refacerea stdin n procesul printe a euat\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "nchiderea legturii(pipe) a euat (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' nesuportat" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "nu s-a putut deschide legtura(pipe) `%s' (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "nu s-a putu crea proces copil(child) pentru `%s' (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "fiierul de date `%s' este vid" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "eroare n citirea fiierului de intrare(input) `%s': %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "valoarea multicaracter a `RS' este extensie gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "memorie plin" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "`-m[fr]' opiune irelevant n gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "folosirea opiunii -m : `-m[fr] nnn'" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "argument vid pentru `--source' ignorat" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: opiunea `-W %s' nu e recunoscut, ignorat\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "argument vid pentru `--source' ignorat" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opiunea necesit un parametru -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "" "este setat variabila de mediu `POSIXLY_CORRECT': se activeaz `--posix'" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "`--posix' suprascrie `--traditional'" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "`--posix'/`--traditional' suprascrie `--non-decimal-data'" -#: main.c:530 +#: main.c:572 #, fuzzy, c-format msgid "running %s setuid root may be a security problem" msgstr "dac se ruleaz %s setuid root poate aprea o problem de securitate" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "`--posix' suprascrie `--traditional'" + +#: main.c:622 #, fuzzy, c-format msgid "can't set binary mode on stdin (%s)" msgstr "nu se poate seta modul pe stdin (%s)" -#: main.c:574 +#: main.c:625 #, fuzzy, c-format msgid "can't set binary mode on stdout (%s)" msgstr "nu se poate seta modul pe stdout (%s)" -#: main.c:576 +#: main.c:627 #, fuzzy, c-format msgid "can't set binary mode on stderr (%s)" msgstr "nu se poate seta modul pe stderr (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "nu exist nici un text de program!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Folosire: %s [opiuni stil POSIX sau GNU] -f fiierprogram [--] fiier ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Folosire: %s [opiuni stil POSIX sau GNU] [--] %cprogram%c fiier ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "opiuni POSIX:\t\topiuni lungi GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f fiierprogram\t\t--file=fiierprogram\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=val\t\t--assign=var=val\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "opiuni POSIX:\t\topiuni lungi GNU:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] val\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=fiier]\t--dump-variables[=fiier]\n" -#: main.c:738 +#: main.c:790 #, fuzzy -msgid "\t-W exec=file\t\t--exec=file\n" +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=program-text\t--source=program-text\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W profile[=fiier]\t--profile[=fiier]\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=fiier]\t--profile[=fiier]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=program-text\t--source=program-text\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 #, fuzzy msgid "" "\n" @@ -1675,22 +1787,22 @@ msgid "" "\n" msgstr "seciunea `Reporting Problems and Bugs' n versiunea tiprit.\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" "\n" msgstr "" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" msgstr "" -#: main.c:794 -#, fuzzy, c-format +#: main.c:845 +#, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" "\n" @@ -1704,11 +1816,11 @@ msgstr "" "\n" "Acest program este software liber; poate fi redistribuit i/sau modificat\n" "sub termenii Licenei Publice Generale GNU publicat de \n" -"Free Software Foundation; fie versiunea 2 a Licenei, fie\n" +"Free Software Foundation; fie versiunea 3 a Licenei, fie\n" "(la latitudinea dumneavoastr) orice versiune ulterioar.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1723,7 +1835,7 @@ msgstr "" "\n" "\n" -#: main.c:813 +#: main.c:864 #, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" @@ -1731,58 +1843,64 @@ msgid "" msgstr "" "Ar fi trebuit s primii o copie a Licenei Publice Generale GNU\n" "mpreun cu acest program; dac nu, scriei la Free Software\n" -"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " +"USA.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft nu seteaz FS n tab n POSIX awk" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "excepie virgul mobil" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "eroare fatal: eroare intern" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "eroare fatal: eroare intern" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "eroare fatal: eroare intern" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "nici un fd predeschis %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "nu s-a putut predeschide /dev/null pentru fd %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "nu am putut gsi grupurile: %s" @@ -1852,21 +1970,21 @@ msgstr "nu am putut deschide `%s' pentru scriere: %s" msgid "internal error: %s with null vname" msgstr "eroare intern: Node_var cu vname null" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# profil gawk, creat %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1875,7 +1993,16 @@ msgstr "" "\t# bloc(uri) BEGIN\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# bloc(uri) BEGIN\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1884,7 +2011,16 @@ msgstr "" "\t# Regul(i)\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# bloc(uri) END\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1893,7 +2029,7 @@ msgstr "" "\t# bloc(uri) END\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1902,16 +2038,21 @@ msgstr "" "\n" "\t# Funcii, listate alfabetic\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "tip %s neateptat n prec_level" -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "tip nod %d necunoscut" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "Succes" @@ -1984,6 +2125,58 @@ msgstr ") or \\) fr reciproc" msgid "No previous regular expression" msgstr "Nu exist expresii regulare anterioare" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: opiune ilegal -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "fiierul `%s' este director" + +#~ msgid "can't open two way socket `%s' for input/output (%s)" +#~ msgstr "" +#~ "nu se poate deschide socketul bidirecional `%s' pentru input/output (%s)" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: nici un argument" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "" +#~ "close: `%.*s' nu este un fiier deschis, o legtur(pipe) sau un coproces" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "" +#~ "close: `%.*s' nu este un fiier deschis, o legtur(pipe) sau un coproces" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "folosii `PROCINFO[\"%s\"]' n loc de `%s'" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "folosii `PROCINFO[...]' n loc de `/dev/user'" + +#~ msgid "function %s called\n" +#~ msgstr "funcia %s a fost apelat\n" + +#~ msgid "field %d in FIELDWIDTHS, must be > 0" +#~ msgstr "cmpul %d din FIELDWIDTHS trebuie s fie > 0" + +#, fuzzy +#~ msgid "or used as a variable or an array" +#~ msgstr "nu se poate folosi numele funciei `%s' ca variabil sau array" + #~ msgid "delete: illegal use of variable `%s' as array" #~ msgstr "delete: folosire ilegal a variabilei `%s' ca array" @@ -1993,9 +2186,6 @@ msgstr "Nu exist expresii regulare anterioare" #~ msgid "asort: second argument is not an array" #~ msgstr "asort: al doilea argument nu este un array" -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: opiune ilegal -- %c\n" - #~ msgid "" #~ "\n" #~ "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -2053,16 +2243,6 @@ msgstr "Nu exist expresii regulare anterioare" #~ msgid "Unbalanced )" #~ msgstr ") fr reciproc" -#~ msgid "field %d in FIELDWIDTHS, must be > 0" -#~ msgstr "cmpul %d din FIELDWIDTHS trebuie s fie > 0" - -#~ msgid "function %s called\n" -#~ msgstr "funcia %s a fost apelat\n" - -#~ msgid "can't open two way socket `%s' for input/output (%s)" -#~ msgstr "" -#~ "nu se poate deschide socketul bidirecional `%s' pentru input/output (%s)" - #~ msgid "remote port invalid in `%s'" #~ msgstr "port remote invalid n `%s'" @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.4\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2005-04-04 10:55-0700\n" "Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n" "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n" @@ -84,364 +84,379 @@ msgstr "%s:ni" msgid "%s: array_ref to %s\n" msgstr "%s:Kuri" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, fuzzy, c-format msgid "%s blocks must have an action part" msgstr "%sIgikorwa" -#: awkgram.y:221 +#: awkgram.y:230 #, fuzzy msgid "each rule must have a pattern or an action part" msgstr "a Ishusho Cyangwa Igikorwa" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 #, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "ki/ bishaje OYA Gushigikira Mukoresha" -#: awkgram.y:285 +#: awkgram.y:304 #, fuzzy, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s'ni a in Umumaro" -#: awkgram.y:331 +#: awkgram.y:350 #, fuzzy msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "nka a C Icyo wongeraho ni OYA" -#: awkgram.y:334 +#: awkgram.y:353 #, fuzzy, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "nka a C Icyo wongeraho ni OYA" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 #, fuzzy msgid "statement may have no effect" msgstr "Inyandiko Gicurasi Oya INGARUKA" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, fuzzy, c-format msgid "`%s' used in %s action" msgstr "`%s'in Igikorwa" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 #, fuzzy msgid "`nextfile' is a gawk extension" msgstr "`ni a Umugereka" -#: awkgram.y:492 +#: awkgram.y:528 #, fuzzy msgid "`return' used outside function context" msgstr "`Hanze Umumaro Imvugiro" -#: awkgram.y:534 +#: awkgram.y:570 #, fuzzy msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "Byuzuye in Cyangwa Gucapa" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 #, fuzzy msgid "`delete array' is a gawk extension" msgstr "`Gusiba ni a Umugereka" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 #, fuzzy msgid "`delete(array)' is a non-portable tawk extension" msgstr "`Gusiba Imbonerahamwe ni a Umugereka" -#: awkgram.y:624 +#: awkgram.y:660 #, fuzzy, c-format msgid "duplicate case values in switch body: %s" msgstr "Gusubiramo Uduciro in Hindura Umubiri" -#: awkgram.y:634 +#: awkgram.y:670 #, fuzzy msgid "Duplicate `default' detected in switch body" msgstr "in Hindura Umubiri" -#: awkgram.y:723 +#: awkgram.y:759 #, fuzzy msgid "multistage two-way pipelines don't work" msgstr "Akazi" -#: awkgram.y:814 +#: awkgram.y:850 #, fuzzy msgid "regular expression on right of assignment" msgstr "Ibisanzwe imvugo ku Iburyo: Bya Igenera" -#: awkgram.y:824 +#: awkgram.y:860 #, fuzzy msgid "regular expression on left of `~' or `!~' operator" msgstr "Ibisanzwe imvugo ku Ibumoso: Bya Cyangwa Mukoresha" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 #, fuzzy msgid "old awk does not support the keyword `in' except after `for'" msgstr "ki/ bishaje OYA Gushigikira Mukoresha" -#: awkgram.y:836 +#: awkgram.y:872 #, fuzzy msgid "regular expression on right of comparison" msgstr "Ibisanzwe imvugo ku Iburyo: Bya" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "Umuyoboro Sibyo in" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 #, fuzzy msgid "non-redirected `getline' undefined inside END action" msgstr "kidasobanuye Mo Imbere Igikorwa" -#: awkgram.y:904 +#: awkgram.y:955 #, fuzzy msgid "old awk does not support multidimensional arrays" msgstr "ki/ bishaje OYA Gushigikira Mukoresha" -#: awkgram.y:950 +#: awkgram.y:1001 #, fuzzy msgid "call of `length' without parentheses is not portable" msgstr "Bya ni OYA" -#: awkgram.y:955 +#: awkgram.y:1006 #, fuzzy msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "Bya ni Bitemewe. ku" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`ni a Umugereka" + +#: awkgram.y:1084 #, fuzzy msgid "use of non-array as array" msgstr "Gukoresha Bya Imbonerahamwe Nka Imbonerahamwe" -#: awkgram.y:1012 +#: awkgram.y:1087 #, fuzzy msgid "invalid subscript expression" msgstr "Sibyo Inyandiko nyesi imvugo" -#: awkgram.y:1257 +#: awkgram.y:1329 #, fuzzy msgid "unexpected newline or end of string" msgstr "Cyangwa Impera Bya Ikurikiranyanyuguti" -#: awkgram.y:1374 +#: awkgram.y:1446 #, fuzzy msgid "empty program text on command line" msgstr "ubusa Porogaramu Umwandiko ku Komandi: Umurongo" -#: awkgram.y:1430 +#: awkgram.y:1502 #, fuzzy, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "Gufungura Inkomoko IDOSIYE kugirango" -#: awkgram.y:1528 +#: awkgram.y:1600 #, fuzzy, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "Gusoma" -#: awkgram.y:1536 +#: awkgram.y:1608 #, fuzzy, c-format msgid "source file `%s' is empty" msgstr "Inkomoko IDOSIYE ni ubusa" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 #, fuzzy msgid "source file does not end in newline" msgstr "Inkomoko IDOSIYE OYA Impera in" -#: awkgram.y:1790 +#: awkgram.y:1862 #, fuzzy msgid "unterminated regexp ends with `\\' at end of file" msgstr "Na: ku Impera Bya IDOSIYE" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "" -#: awkgram.y:1828 +#: awkgram.y:1900 #, fuzzy msgid "unterminated regexp at end of file" msgstr "ku Impera Bya IDOSIYE" -#: awkgram.y:1897 +#: awkgram.y:1969 #, fuzzy msgid "use of `\\ #...' line continuation is not portable" msgstr "Gukoresha Bya Umurongo ni OYA" -#: awkgram.y:1910 +#: awkgram.y:1982 #, fuzzy msgid "backslash not last character on line" msgstr "OYA Iheruka Inyuguti ku Umurongo" -#: awkgram.y:1955 +#: awkgram.y:2027 #, fuzzy msgid "POSIX does not allow operator `**='" msgstr "OYA Kwemerera Mukoresha" -#: awkgram.y:1957 +#: awkgram.y:2029 #, fuzzy msgid "old awk does not support operator `**='" msgstr "ki/ bishaje OYA Gushigikira Mukoresha" -#: awkgram.y:1966 +#: awkgram.y:2038 #, fuzzy msgid "POSIX does not allow operator `**'" msgstr "OYA Kwemerera Mukoresha" -#: awkgram.y:1968 +#: awkgram.y:2040 #, fuzzy msgid "old awk does not support operator `**'" msgstr "ki/ bishaje OYA Gushigikira Mukoresha" -#: awkgram.y:1999 +#: awkgram.y:2071 #, fuzzy msgid "operator `^=' is not supported in old awk" msgstr "Mukoresha ni OYA in ki/ bishaje" -#: awkgram.y:2007 +#: awkgram.y:2079 #, fuzzy msgid "operator `^' is not supported in old awk" msgstr "Mukoresha ni OYA in ki/ bishaje" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 #, fuzzy msgid "unterminated string" msgstr "Ikurikiranyanyuguti" -#: awkgram.y:2291 +#: awkgram.y:2368 #, fuzzy, c-format msgid "invalid char '%c' in expression" msgstr "Sibyo INYUGUTI in imvugo" -#: awkgram.y:2339 +#: awkgram.y:2416 #, fuzzy, c-format msgid "`%s' is a gawk extension" msgstr "`%s'ni a Umugereka" -#: awkgram.y:2342 +#: awkgram.y:2419 #, fuzzy, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s'ni a Umugereka" -#: awkgram.y:2345 +#: awkgram.y:2422 #, fuzzy, c-format msgid "POSIX does not allow `%s'" msgstr "OYA Kwemerera" -#: awkgram.y:2349 +#: awkgram.y:2426 #, fuzzy, c-format msgid "`%s' is not supported in old awk" msgstr "`%s'ni OYA in ki/ bishaje" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "" -#: awkgram.y:2437 +#: awkgram.y:2514 #, fuzzy, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%dni Sibyo Nka Umubare Bya ingingo kugirango" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 #, fuzzy msgid "match: third argument is a gawk extension" msgstr "BIHUYE ni a Umugereka" -#: awkgram.y:2472 +#: awkgram.y:2549 #, fuzzy, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "%s:Ikurikiranyanyuguti Nka Iheruka Bya GUSIMBURANYA Oya INGARUKA" -#: awkgram.y:2475 +#: awkgram.y:2552 #, fuzzy, c-format msgid "%s third parameter is not a changeable object" msgstr "%sni OYA a Igikoresho" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 #, fuzzy msgid "close: second argument is a gawk extension" msgstr "Gufunga ISEGONDA ni a Umugereka" -#: awkgram.y:2515 +#: awkgram.y:2599 #, fuzzy msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "Gukoresha Bya ni Gukuraho... Nyobora" -#: awkgram.y:2530 +#: awkgram.y:2614 #, fuzzy msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "Gukoresha Bya ni Gukuraho... Nyobora" -#: awkgram.y:2602 +#: awkgram.y:2686 #, fuzzy, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "Umumaro" -#: awkgram.y:2635 +#: awkgram.y:2719 #, fuzzy, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "Umumaro IMPINDURAGACIRO" -#: awkgram.y:2747 +#: awkgram.y:2831 #, fuzzy, c-format msgid "could not open `%s' for writing (%s)" msgstr "OYA Gufungura kugirango" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 #, fuzzy msgid "sending profile to standard error" msgstr "Ibijyana Kuri Bisanzwe Ikosa" -#: awkgram.y:2780 +#: awkgram.y:2864 #, fuzzy, c-format msgid "%s: close failed (%s)" msgstr "%s:Gufunga Byanze" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "" -#: awkgram.y:2928 +#: awkgram.y:3012 #, fuzzy msgid "there were shadowed variables." msgstr "Bihawe igicucu Ibihinduka" -#: awkgram.y:3001 +#: awkgram.y:3085 #, fuzzy, c-format msgid "function `%s': can't use function name as parameter name" msgstr "Umumaro Gukoresha Umumaro Izina: Nka Izina:" -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "Umumaro Gukoresha Umumaro Izina: Nka Izina:" -#: awkgram.y:3014 +#: awkgram.y:3098 #, fuzzy, c-format msgid "function name `%s' previously defined" msgstr "Umumaro Izina:" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, fuzzy, c-format msgid "function `%s' called but never defined" msgstr "Umumaro Nta narimwe" -#: awkgram.y:3174 +#: awkgram.y:3258 #, fuzzy, c-format msgid "function `%s' defined but never called" msgstr "Umumaro Nta narimwe" -#: awkgram.y:3201 +#: awkgram.y:3285 #, fuzzy, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "kugirango Icyungo Agaciro" -#: awkgram.y:3245 +#: awkgram.y:3329 #, fuzzy, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -450,12 +465,12 @@ msgstr "" "Umumaro Na: Umwanya hagati Izina: Na Cyangwa Nka a IMPINDURAGACIRO Cyangwa " "Imbonerahamwe" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "ku Zeru in" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, fuzzy, c-format msgid "division by zero attempted in `%%'" msgstr "ku Zeru in" @@ -733,314 +748,360 @@ msgstr "BYAKIRIWE Ikurikiranyanyuguti" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 #, fuzzy msgid "system: received non-string argument" msgstr "Sisitemu BYAKIRIWE Ikurikiranyanyuguti" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, fuzzy, c-format msgid "reference to uninitialized field `$%d'" msgstr "Indango Kuri Itatangijwe Umwanya" -#: builtin.c:2009 +#: builtin.c:2012 #, fuzzy msgid "tolower: received non-string argument" msgstr "BYAKIRIWE Ikurikiranyanyuguti" -#: builtin.c:2039 +#: builtin.c:2042 #, fuzzy msgid "toupper: received non-string argument" msgstr "BYAKIRIWE Ikurikiranyanyuguti" -#: builtin.c:2072 +#: builtin.c:2075 #, fuzzy msgid "atan2: received non-numeric first argument" msgstr "ATAN2 BYAKIRIWE Bikurikije umubare Itangira" -#: builtin.c:2074 +#: builtin.c:2077 #, fuzzy msgid "atan2: received non-numeric second argument" msgstr "ATAN2 BYAKIRIWE Bikurikije umubare ISEGONDA" -#: builtin.c:2093 +#: builtin.c:2096 #, fuzzy msgid "sin: received non-numeric argument" msgstr "SIN BYAKIRIWE Bikurikije umubare" -#: builtin.c:2109 +#: builtin.c:2112 #, fuzzy msgid "cos: received non-numeric argument" msgstr "COS BYAKIRIWE Bikurikije umubare" -#: builtin.c:2162 +#: builtin.c:2165 #, fuzzy msgid "srand: received non-numeric argument" msgstr "BYAKIRIWE Bikurikije umubare" -#: builtin.c:2197 +#: builtin.c:2200 #, fuzzy msgid "match: third argument is not an array" msgstr "BIHUYE ni OYA Imbonerahamwe" -#: builtin.c:2744 +#: builtin.c:2750 #, fuzzy msgid "gensub: third argument of 0 treated as 1" msgstr "Bya 0 Nka 1." -#: builtin.c:2860 +#: builtin.c:2866 #, fuzzy msgid "lshift: received non-numeric first argument" msgstr "BYAKIRIWE Bikurikije umubare Itangira" -#: builtin.c:2862 +#: builtin.c:2868 #, fuzzy msgid "lshift: received non-numeric second argument" msgstr "BYAKIRIWE Bikurikije umubare ISEGONDA" -#: builtin.c:2868 +#: builtin.c:2874 #, fuzzy, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "Uduciro Ibisubizo ku" -#: builtin.c:2870 +#: builtin.c:2876 #, fuzzy, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "Uduciro" -#: builtin.c:2872 +#: builtin.c:2878 #, fuzzy, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "Binini Gusunika Agaciro Ibisubizo ku" -#: builtin.c:2898 +#: builtin.c:2904 #, fuzzy msgid "rshift: received non-numeric first argument" msgstr "BYAKIRIWE Bikurikije umubare Itangira" -#: builtin.c:2900 +#: builtin.c:2906 #, fuzzy msgid "rshift: received non-numeric second argument" msgstr "BYAKIRIWE Bikurikije umubare ISEGONDA" -#: builtin.c:2906 +#: builtin.c:2912 #, fuzzy, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "Uduciro Ibisubizo ku" -#: builtin.c:2908 +#: builtin.c:2914 #, fuzzy, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "Uduciro" -#: builtin.c:2910 +#: builtin.c:2916 #, fuzzy, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "Binini Gusunika Agaciro Ibisubizo ku" -#: builtin.c:2936 +#: builtin.c:2942 #, fuzzy msgid "and: received non-numeric first argument" msgstr "Na BYAKIRIWE Bikurikije umubare Itangira" -#: builtin.c:2938 +#: builtin.c:2944 #, fuzzy msgid "and: received non-numeric second argument" msgstr "Na BYAKIRIWE Bikurikije umubare ISEGONDA" -#: builtin.c:2944 +#: builtin.c:2950 #, fuzzy, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "Na Uduciro Ibisubizo ku" -#: builtin.c:2946 +#: builtin.c:2952 #, fuzzy, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "Na Uduciro" -#: builtin.c:2972 +#: builtin.c:2978 #, fuzzy msgid "or: received non-numeric first argument" msgstr "Cyangwa BYAKIRIWE Bikurikije umubare Itangira" -#: builtin.c:2974 +#: builtin.c:2980 #, fuzzy msgid "or: received non-numeric second argument" msgstr "Cyangwa BYAKIRIWE Bikurikije umubare ISEGONDA" -#: builtin.c:2980 +#: builtin.c:2986 #, fuzzy, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "Cyangwa Uduciro Ibisubizo ku" -#: builtin.c:2982 +#: builtin.c:2988 #, fuzzy, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "Cyangwa Uduciro" -#: builtin.c:3008 +#: builtin.c:3014 #, fuzzy msgid "xor: received non-numeric first argument" msgstr "BYAKIRIWE Bikurikije umubare Itangira" -#: builtin.c:3010 +#: builtin.c:3016 #, fuzzy msgid "xor: received non-numeric second argument" msgstr "BYAKIRIWE Bikurikije umubare ISEGONDA" -#: builtin.c:3016 +#: builtin.c:3022 #, fuzzy, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "Uduciro Ibisubizo ku" -#: builtin.c:3018 +#: builtin.c:3024 #, fuzzy, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "Uduciro" -#: builtin.c:3042 +#: builtin.c:3048 #, fuzzy msgid "compl: received non-numeric argument" msgstr "BYAKIRIWE Bikurikije umubare" -#: builtin.c:3048 +#: builtin.c:3054 #, fuzzy, c-format msgid "compl(%lf): negative value will give strange results" msgstr "Agaciro Ibisubizo ku" -#: builtin.c:3050 +#: builtin.c:3056 #, fuzzy, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "Agaciro" -#: builtin.c:3223 +#: builtin.c:3229 #, fuzzy, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "ni OYA a Byemewe Umwanya Icyiciro" -#: eval.c:372 +#: eval.c:374 #, fuzzy, c-format msgid "unknown nodetype %d" msgstr "Kitazwi" -#: eval.c:422 +#: eval.c:423 #, fuzzy msgid "buffer overflow in genflags2str" msgstr "Byarenze urugero in" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, fuzzy, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "Kuri Gukoresha Imbonerahamwe in a Imvugiro" -#: eval.c:802 +#: eval.c:803 #, fuzzy, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "kugirango Imbonerahamwe Byahinduwe Ingano Bivuye Kuri" -#: eval.c:823 +#: eval.c:824 #, fuzzy msgid "`break' outside a loop is not portable" msgstr "`Hanze a ni OYA" -#: eval.c:827 +#: eval.c:828 #, fuzzy msgid "`break' outside a loop is not allowed" msgstr "`Hanze a ni OYA" -#: eval.c:844 +#: eval.c:845 #, fuzzy msgid "`continue' outside a loop is not portable" msgstr "`Hanze a ni OYA" -#: eval.c:848 +#: eval.c:849 #, fuzzy msgid "`continue' outside a loop is not allowed" msgstr "`Hanze a ni OYA" -#: eval.c:882 +#: eval.c:883 #, fuzzy msgid "`next' cannot be called from a BEGIN rule" msgstr "`Bivuye a" -#: eval.c:884 +#: eval.c:885 #, fuzzy msgid "`next' cannot be called from an END rule" msgstr "`Bivuye" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "`Bivuye a" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "`Bivuye" + +#: eval.c:898 #, fuzzy msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "`Bivuye a" -#: eval.c:895 +#: eval.c:900 #, fuzzy msgid "`nextfile' cannot be called from an END rule" msgstr "`Bivuye" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "`Bivuye" + +#: eval.c:963 #, fuzzy msgid "statement has no effect" msgstr "Inyandiko Oya INGARUKA" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, fuzzy, c-format msgid "can't use function name `%s' as variable or array" msgstr "Gukoresha Umumaro Izina: Nka IMPINDURAGACIRO Cyangwa Imbonerahamwe" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, fuzzy, c-format msgid "reference to uninitialized argument `%s'" msgstr "Indango Kuri Itatangijwe" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, fuzzy, c-format msgid "reference to uninitialized variable `%s'" msgstr "Indango Kuri Itatangijwe IMPINDURAGACIRO" -#: eval.c:1197 +#: eval.c:1210 #, fuzzy msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "Ingaruka in imvugo Byahinduwe i Uburebure Bya" -#: eval.c:1301 +#: eval.c:1315 #, fuzzy msgid "assignment used in conditional context" msgstr "Igenera in Imvugiro" -#: eval.c:1379 +#: eval.c:1396 #, fuzzy msgid "division by zero attempted" msgstr "ku Zeru" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, fuzzy, c-format msgid "illegal type (%s) in tree_eval" msgstr "Ubwoko in" -#: eval.c:1572 +#: eval.c:1589 #, fuzzy msgid "division by zero attempted in `/='" msgstr "ku Zeru in" -#: eval.c:1594 +#: eval.c:1611 #, fuzzy, c-format msgid "division by zero attempted in `%%='" msgstr "ku Zeru in" -#: eval.c:1871 +#: eval.c:1891 #, fuzzy, c-format msgid "function `%s' called with more arguments than declared" msgstr "Umumaro Na: Birenzeho ingingo" -#: eval.c:1916 +#: eval.c:1948 #, fuzzy, c-format msgid "function `%s' not defined" msgstr "Umumaro OYA" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -1048,160 +1109,194 @@ msgid "" "\n" msgstr "" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "" -#: eval.c:2141 +#: eval.c:2269 #, fuzzy msgid "attempt to field reference from non-numeric value" msgstr "Kuri Umwanya Indango Bivuye Bikurikije umubare Agaciro" -#: eval.c:2143 +#: eval.c:2271 #, fuzzy msgid "attempt to reference from null string" msgstr "Kuri Indango Bivuye NTAGIHARI Ikurikiranyanyuguti" -#: eval.c:2149 +#: eval.c:2277 #, fuzzy, c-format msgid "attempt to access field %d" msgstr "Kuri Umwanya" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 #, fuzzy msgid "assignment is not allowed to result of builtin function" msgstr "Igenera ni OYA Kuri Igisubizo Bya Umumaro" -#: eval.c:2241 +#: eval.c:2369 #, fuzzy msgid "`IGNORECASE' is a gawk extension" msgstr "`ni a Umugereka" -#: eval.c:2270 +#: eval.c:2398 #, fuzzy msgid "`BINMODE' is a gawk extension" msgstr "`ni a Umugereka" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "" -#: eval.c:2496 +#: eval.c:2624 #, fuzzy msgid "turning off `--lint' due to assignment to `LINT'" msgstr "Bidakora Kuri Igenera Kuri" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 #, fuzzy msgid "`extension' is a gawk extension" msgstr "`ni a Umugereka" -#: ext.c:77 +#: ext.c:80 #, fuzzy, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "Umugereka Gufungura" -#: ext.c:85 +#: ext.c:88 #, fuzzy, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "Umugereka Isomero Umumaro" -#: ext.c:105 +#: ext.c:108 #, fuzzy msgid "extension: missing function name" msgstr "Umugereka Ibuze Umumaro Izina:" -#: ext.c:110 +#: ext.c:113 #, fuzzy, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "Umugereka Inyuguti in Umumaro Izina:" -#: ext.c:116 +#: ext.c:119 #, fuzzy, c-format msgid "extension: can't redefine function `%s'" msgstr "Umugereka Umumaro" -#: ext.c:120 +#: ext.c:123 #, fuzzy, c-format msgid "extension: function `%s' already defined" msgstr "Umugereka Umumaro" -#: ext.c:125 +#: ext.c:128 #, fuzzy, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "Umugereka Gukoresha in Nka Umumaro Izina:" -#: ext.c:127 +#: ext.c:130 #, fuzzy, c-format msgid "extension: function name `%s' previously defined" msgstr "Umugereka Umumaro Izina:" -#: ext.c:204 +#: ext.c:207 #, fuzzy, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "Umumaro Kuri Oya Birenzeho S" -#: ext.c:207 +#: ext.c:210 #, fuzzy, c-format msgid "function `%s': missing argument #%d" msgstr "Umumaro Ibuze" -#: ext.c:217 +#: ext.c:220 #, fuzzy, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "Umumaro Kuri Gukoresha Nka Imbonerahamwe" -#: ext.c:221 +#: ext.c:224 #, fuzzy, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "Umumaro Kuri Gukoresha Imbonerahamwe Nka a" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "" -#: field.c:330 +#: field.c:328 #, fuzzy msgid "NF set to negative value" msgstr "Gushyiraho Kuri Agaciro" -#: field.c:875 +#: field.c:913 #, fuzzy msgid "split: second argument is not an array" msgstr "Gutandukanya ISEGONDA ni OYA Imbonerahamwe" -#: field.c:909 +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "BIHUYE ni a Umugereka" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "Gutandukanya ISEGONDA ni OYA Imbonerahamwe" + +#: field.c:975 #, fuzzy -msgid "split: null string for third arg is a gawk extension" +msgid "split: null string for third argument is a gawk extension" msgstr "Gutandukanya NTAGIHARI Ikurikiranyanyuguti kugirango ni a Umugereka" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "Gutandukanya ISEGONDA ni OYA Imbonerahamwe" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "Gutandukanya ISEGONDA ni OYA Imbonerahamwe" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "BIHUYE ni OYA Imbonerahamwe" + +#: field.c:1111 #, fuzzy msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`ni a Umugereka" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "" -#: field.c:1088 +#: field.c:1238 #, fuzzy msgid "null string for `FS' is a gawk extension" msgstr "NTAGIHARI Ikurikiranyanyuguti kugirango ni a Umugereka" -#: field.c:1092 +#: field.c:1242 #, fuzzy msgid "old awk does not support regexps as value of `FS'" msgstr "ki/ bishaje OYA Gushigikira Mukoresha" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s'ni a Umugereka" + #: getopt.c:574 getopt.c:590 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1257,509 +1352,509 @@ msgstr "%s:Ihitamo Kwemerera" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s:Ihitamo" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, fuzzy, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "Gufungura IDOSIYE kugirango" -#: io.c:443 +#: io.c:459 io.c:2999 +#, fuzzy, c-format +msgid "error reading input file `%s': %s" +msgstr "Ikosa Iyinjiza IDOSIYE" + +#: io.c:506 #, fuzzy, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "Gufunga Bya Byanze" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, fuzzy, c-format msgid "invalid tree type %s in redirect()" msgstr "Sibyo Ubwoko in" -#: io.c:589 +#: io.c:654 #, fuzzy, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "imvugo in Bikurikije umubare Agaciro" -#: io.c:595 +#: io.c:660 #, fuzzy, c-format msgid "expression for `%s' redirection has null string value" msgstr "imvugo kugirango NTAGIHARI Ikurikiranyanyuguti Agaciro" -#: io.c:600 +#: io.c:665 #, fuzzy, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "Izina ry'idosiye: kugirango Gicurasi Igisubizo Bya Bijyanye n'inyurabwenge " "imvugo" -#: io.c:638 +#: io.c:707 #, fuzzy, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "Bya Na kugirango IDOSIYE" -#: io.c:685 +#: io.c:754 #, fuzzy, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "Gufungura kugirango Ibisohoka" -#: io.c:694 +#: io.c:763 #, fuzzy, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "Gufungura kugirango Iyinjiza" -#: io.c:717 +#: io.c:786 #, fuzzy, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "Gufungura kugirango Iyinjiza Ibisohoka" -#: io.c:795 +#: io.c:864 #, fuzzy, c-format msgid "can't redirect from `%s' (%s)" msgstr "Bivuye" -#: io.c:798 +#: io.c:867 #, fuzzy, c-format msgid "can't redirect to `%s' (%s)" msgstr "Kuri" -#: io.c:851 +#: io.c:920 #, fuzzy msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "Sisitemu kugirango Gufungura Idosiye Kuri IDOSIYE" -#: io.c:867 +#: io.c:936 #, fuzzy, c-format msgid "close of `%s' failed (%s)." msgstr "Gufunga Bya Byanze" -#: io.c:875 +#: io.c:944 #, fuzzy msgid "too many pipes or input files open" msgstr "Cyangwa Iyinjiza Idosiye Gufungura" -#: io.c:898 +#: io.c:967 #, fuzzy msgid "close: second argument must be `to' or `from'" msgstr "Gufunga ISEGONDA Cyangwa" -#: io.c:912 +#: io.c:981 #, fuzzy, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "Gufunga." -#: io.c:917 +#: io.c:986 #, fuzzy msgid "close of redirection that was never opened" msgstr "Gufunga Bya Nta narimwe" -#: io.c:1014 +#: io.c:1083 #, fuzzy, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "Gufunga OYA Na: ISEGONDA" -#: io.c:1030 +#: io.c:1099 #, fuzzy, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "Imimerere ku Gufunga Bya" -#: io.c:1033 +#: io.c:1102 #, fuzzy, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "Imimerere ku IDOSIYE Gufunga Bya" -#: io.c:1053 +#: io.c:1122 #, fuzzy, c-format msgid "no explicit close of socket `%s' provided" msgstr "Oya Gufunga Bya" -#: io.c:1056 +#: io.c:1125 #, fuzzy, c-format msgid "no explicit close of co-process `%s' provided" msgstr "Oya Gufunga Bya" -#: io.c:1059 +#: io.c:1128 #, fuzzy, c-format msgid "no explicit close of pipe `%s' provided" msgstr "Oya Gufunga Bya" -#: io.c:1062 +#: io.c:1131 #, fuzzy, c-format msgid "no explicit close of file `%s' provided" msgstr "Oya Gufunga Bya IDOSIYE" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, fuzzy, c-format msgid "error writing standard output (%s)" msgstr "Ikosa Bisanzwe Ibisohoka" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, fuzzy, c-format msgid "error writing standard error (%s)" msgstr "Ikosa Bisanzwe Ikosa" -#: io.c:1102 +#: io.c:1171 #, fuzzy, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "Bya Byanze" -#: io.c:1105 +#: io.c:1174 #, fuzzy, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "Bya Kuri Byanze" -#: io.c:1108 +#: io.c:1177 #, fuzzy, c-format msgid "file flush of `%s' failed (%s)." msgstr "IDOSIYE Bya Byanze" -#: io.c:1222 +#: io.c:1292 #, fuzzy, c-format msgid "local port %s invalid in `/inet'" msgstr "Umuyoboro Sibyo in" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "" -#: io.c:1274 +#: io.c:1344 #, fuzzy msgid "/inet/raw client not ready yet, sorry" msgstr "/Umukiriya OYA Cyiteguye" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 #, fuzzy msgid "only root may use `/inet/raw'." msgstr "Imizi Gicurasi Gukoresha" -#: io.c:1311 +#: io.c:1381 #, fuzzy msgid "/inet/raw server not ready yet, sorry" msgstr "/Seriveri OYA Cyiteguye" -#: io.c:1409 +#: io.c:1477 #, fuzzy, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "Oya Porotokole in Bidasanzwe Izina ry'idosiye:" -#: io.c:1423 +#: io.c:1491 #, fuzzy, c-format msgid "special file name `%s' is incomplete" msgstr "Bidasanzwe IDOSIYE Izina: ni" -#: io.c:1438 +#: io.c:1506 #, fuzzy msgid "must supply a remote hostname to `/inet'" msgstr "a Izina ry'inturo: Kuri" -#: io.c:1456 +#: io.c:1524 #, fuzzy msgid "must supply a remote port to `/inet'" msgstr "a Umuyoboro Kuri" -#: io.c:1502 +#: io.c:1570 #, fuzzy msgid "TCP/IP communications are not supported" msgstr "OYA" -#: io.c:1511 -#, fuzzy, c-format -msgid "file `%s' is a directory" -msgstr "IDOSIYE ni a bushyinguro" - -#: io.c:1572 -#, fuzzy, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "Gukoresha Bya" - -#: io.c:1610 -#, fuzzy -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "Gukoresha Bya" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, fuzzy, c-format msgid "could not open `%s', mode `%s'" msgstr "OYA Gufungura Ubwoko" -#: io.c:1923 +#: io.c:1809 #, fuzzy, c-format msgid "close of master pty failed (%s)" msgstr "Gufunga Bya Mugenga Byanze" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, fuzzy, c-format msgid "close of stdout in child failed (%s)" msgstr "Gufunga Bya in Byanze" -#: io.c:1928 +#: io.c:1814 #, fuzzy, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "Kuri in Byanze" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, fuzzy, c-format msgid "close of stdin in child failed (%s)" msgstr "Gufunga Bya in Byanze" -#: io.c:1933 +#: io.c:1819 #, fuzzy, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "Kuri in Byanze" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, fuzzy, c-format msgid "close of slave pty failed (%s)" msgstr "Gufunga Bya Byanze" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, fuzzy, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "Kuri in Byanze" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, fuzzy, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "Kuri in Byanze" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 #, fuzzy msgid "restoring stdout in parent process failed\n" msgstr "in" -#: io.c:2054 +#: io.c:1940 #, fuzzy msgid "restoring stdin in parent process failed\n" msgstr "in" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, fuzzy, c-format msgid "close of pipe failed (%s)" msgstr "Gufunga Bya Byanze" -#: io.c:2133 +#: io.c:2019 #, fuzzy msgid "`|&' not supported" msgstr "`|&'OYA" -#: io.c:2199 +#: io.c:2085 #, fuzzy, c-format msgid "cannot open pipe `%s' (%s)" msgstr "Gufungura" -#: io.c:2240 +#: io.c:2126 #, fuzzy, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "Kurema kugirango" -#: io.c:2622 +#: io.c:2518 #, fuzzy, c-format msgid "data file `%s' is empty" msgstr "Ibyatanzwe IDOSIYE ni ubusa" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 #, fuzzy msgid "could not allocate more input memory" msgstr "OYA Birenzeho Iyinjiza Ububiko" -#: io.c:3039 io.c:3112 -#, fuzzy, c-format -msgid "error reading input file `%s': %s" -msgstr "Ikosa Iyinjiza IDOSIYE" - -#: io.c:3237 +#: io.c:3125 #, fuzzy msgid "multicharacter value of `RS' is a gawk extension" msgstr "Agaciro Bya ni a Umugereka" -#: main.c:306 +#: main.c:313 msgid "out of memory" msgstr "" -#: main.c:374 +#: main.c:381 #, fuzzy msgid "`-m[fr]' option irrelevant in gawk" msgstr "`-M Ihitamo in" -#: main.c:376 +#: main.c:383 #, fuzzy msgid "-m option usage: `-m[fr] nnn'" msgstr "-M Ihitamo Ikoresha: M" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "ubusa Kuri" + +#: main.c:485 #, fuzzy, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s:Ihitamo" -#: main.c:434 -#, fuzzy -msgid "empty argument to `--source' ignored" -msgstr "ubusa Kuri" - -#: main.c:488 +#: main.c:530 #, fuzzy, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s:Ihitamo" -#: main.c:509 +#: main.c:551 #, fuzzy msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "IMPINDURAGACIRO Gushyiraho ku" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "" -#: main.c:526 +#: main.c:568 #, fuzzy msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "`--NYACUMI" -#: main.c:530 +#: main.c:572 #, fuzzy, c-format msgid "running %s setuid root may be a security problem" msgstr "Imizi Gicurasi a Umutekano" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "`--NYACUMI" + +#: main.c:622 #, fuzzy, c-format msgid "can't set binary mode on stdin (%s)" msgstr "Gushyiraho Nyabibiri Ubwoko ku" -#: main.c:574 +#: main.c:625 #, fuzzy, c-format msgid "can't set binary mode on stdout (%s)" msgstr "Gushyiraho Nyabibiri Ubwoko ku" -#: main.c:576 +#: main.c:627 #, fuzzy, c-format msgid "can't set binary mode on stderr (%s)" msgstr "Gushyiraho Nyabibiri Ubwoko ku" -#: main.c:617 +#: main.c:668 #, fuzzy msgid "no program text at all!" msgstr "Oya Porogaramu Umwandiko ku Byose" -#: main.c:721 +#: main.c:773 #, fuzzy, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Cyangwa IMISUSIRE Amahitamo F IDOSIYE" -#: main.c:723 +#: main.c:775 #, fuzzy, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Cyangwa IMISUSIRE Amahitamo IDOSIYE" -#: main.c:728 +#: main.c:780 #, fuzzy -msgid "POSIX options:\t\tGNU long options:\n" +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Amahitamo Amahitamo" -#: main.c:729 +#: main.c:781 #, fuzzy msgid "\t-f progfile\t\t--file=progfile\n" msgstr "-F IDOSIYE" -#: main.c:730 +#: main.c:782 #, fuzzy msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "-Umwanya Mutandukanya" -#: main.c:731 +#: main.c:783 #, fuzzy msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "-v VAR Kugenera... VAR" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "Amahitamo Amahitamo" + +#: main.c:785 #, fuzzy msgid "\t-m[fr] val\n" msgstr "-M" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "" - -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "" -#: main.c:737 +#: main.c:789 #, fuzzy -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "-Ibihinduka IDOSIYE Ibihinduka IDOSIYE" -#: main.c:738 +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "-Inkomoko Porogaramu Inkomoko Porogaramu" + +#: main.c:791 #, fuzzy -msgid "\t-W exec=file\t\t--exec=file\n" +msgid "\t-E file\t\t\t--exec=file\n" msgstr "-Ibijyana IDOSIYE Ibijyana IDOSIYE" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +msgid "\t-g\t\t\t--gen-pot\n" msgstr "" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +msgid "\t-h\t\t\t--help, --usage\n" msgstr "" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +msgid "\t-L\t\t\t--lint-old\n" msgstr "" -#: main.c:743 +#: main.c:796 #, fuzzy -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "-NYACUMI NYACUMI" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" msgstr "" -#: main.c:750 +#: main.c:799 #, fuzzy -msgid "\t-W profile[=file]\t--profile[=file]\n" +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "-Ibijyana IDOSIYE Ibijyana IDOSIYE" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +msgid "\t-P\t\t\t--posix\n" msgstr "" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +msgid "\t-r\t\t\t--re-interval\n" msgstr "" -#: main.c:753 -#, fuzzy -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "-Inkomoko Porogaramu Inkomoko Porogaramu" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" +#: main.c:802 +msgid "\t-S\t\t\t--sandbox\n" msgstr "" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" +#: main.c:803 +msgid "\t-V\t\t\t--version\n" msgstr "" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "" -#: main.c:757 -msgid "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" msgstr "" #. TRANSLATORS: --help output 5 (end) @@ -1767,7 +1862,7 @@ msgstr "" #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 #, fuzzy msgid "" "\n" @@ -1776,7 +1871,7 @@ msgid "" "\n" msgstr "Icyegeranyo in Na in i Byacapwe Verisiyo" -#: main.c:770 +#: main.c:821 #, fuzzy msgid "" "gawk is a pattern scanning and processing language.\n" @@ -1786,7 +1881,7 @@ msgstr "" "ni a Ishusho Na Inonosora Ururimi Mburabuzi Bisanzwe Iyinjiza Na Bisanzwe " "Ibisohoka" -#: main.c:774 +#: main.c:825 #, fuzzy msgid "" "Examples:\n" @@ -1794,7 +1889,7 @@ msgid "" "\tgawk -F: '{ print $1 }' /etc/passwd\n" msgstr "Igiteranyo Gucapa Igiteranyo Gucapa" -#: main.c:794 +#: main.c:845 #, fuzzy, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1808,7 +1903,7 @@ msgstr "" "C Porogaramu ni Kigenga Na Cyangwa i Bya i Nka Verisiyo 3. Bya i ku Ihitamo " "Verisiyo" -#: main.c:802 +#: main.c:853 #, fuzzy msgid "" "This program is distributed in the hope that it will be useful,\n" @@ -1819,7 +1914,7 @@ msgid "" msgstr "" "Porogaramu ni in i ATARIIGIHARWE i Cyangwa A kugirango Birenzeho Birambuye" -#: main.c:813 +#: main.c:864 #, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" @@ -1827,59 +1922,64 @@ msgid "" msgstr "" "BYAKIRIWE a Gukoporora Bya i Na: iyi Porogaramu NIBA OYA Kwandika Kuri i" -#: main.c:848 +#: main.c:899 #, fuzzy msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-OYA Gushyiraho Kuri Isunika in" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, fuzzy, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "%s:`%s'Kuri OYA in VAR" -#: main.c:1142 +#: main.c:1196 #, fuzzy, c-format msgid "`%s' is not a legal variable name" msgstr "`%s'ni OYA a By'amategeko IMPINDURAGACIRO Izina:" -#: main.c:1145 +#: main.c:1199 #, fuzzy, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "`%s'ni OYA a IMPINDURAGACIRO Izina: kugirango IDOSIYE" -#: main.c:1184 +#: main.c:1238 #, fuzzy msgid "floating point exception" msgstr "Bihindagurika Akadomo Irengayobora(-)" -#: main.c:1191 +#: main.c:1245 #, fuzzy msgid "fatal error: internal error" msgstr "Ikosa By'imbere Ikosa" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "Ikosa By'imbere Ikosa" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "Ikosa By'imbere Ikosa" -#: main.c:1268 +#: main.c:1322 #, fuzzy, c-format msgid "no pre-opened fd %d" msgstr "Oya Byahawe imiterere mbere" -#: main.c:1275 +#: main.c:1329 #, fuzzy, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "OYA Byahawe imiterere mbere Gufungura NTAGIHARI kugirango" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, fuzzy, c-format msgid "could not find groups: %s" msgstr "OYA Gushaka Amatsinda" @@ -1956,59 +2056,78 @@ msgstr "OYA Gufungura kugirango" msgid "internal error: %s with null vname" msgstr "By'imbere Ikosa Na: NTAGIHARI" -#: profile.c:521 +#: profile.c:522 #, fuzzy msgid "# treated internally as `delete'" msgstr "#Nka" -#: profile.c:1073 +#: profile.c:1076 #, fuzzy, c-format msgid "# this is a dynamically loaded extension function" msgstr "#iyi ni a Umugereka Umumaro" -#: profile.c:1104 +#: profile.c:1109 #, fuzzy, c-format msgid "\t# gawk profile, created %s\n" msgstr "#Ibijyana Byaremwe" -#: profile.c:1107 +#: profile.c:1112 #, fuzzy, c-format msgid "" "\t# BEGIN block(s)\n" "\n" msgstr "#Funga S" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "#Funga S" + +#: profile.c:1132 #, fuzzy, c-format msgid "" "\t# Rule(s)\n" "\n" msgstr "#S" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "#Funga S" + +#: profile.c:1148 #, fuzzy, c-format msgid "" "\t# END block(s)\n" "\n" msgstr "#Funga S" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" "\t# Functions, listed alphabetically\n" msgstr "" -#: profile.c:1405 +#: profile.c:1431 #, fuzzy, c-format msgid "unexpected type %s in prec_level" msgstr "Ubwoko in" -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "Kitazwi" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "Ibyatunganye" @@ -2096,16 +2215,40 @@ msgid "No previous regular expression" msgstr "Ibanjirije Ibisanzwe imvugo" #, fuzzy +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s:Ihitamo" + +#, fuzzy +#~ msgid "file `%s' is a directory" +#~ msgstr "IDOSIYE ni a bushyinguro" + +#, fuzzy #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "Gufungura kugirango Iyinjiza Ibisohoka" #, fuzzy -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s:Ihitamo" +#~ msgid "seek: invalid arguments" +#~ msgstr "Oya ingingo" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "Gufunga." + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "Gufunga." + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "`%s'ni OYA a By'amategeko IMPINDURAGACIRO Izina:" + +#, fuzzy +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "Gukoresha Bya" #, fuzzy -#~ msgid "remote port invalid in `%s'" -#~ msgstr "Umuyoboro Sibyo in" +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "Gukoresha Bya" #, fuzzy #~ msgid "function %s called\n" Binary files differ@@ -1,23 +1,23 @@ # Swedish translation of gawk # Copyright (C) 2003 Free Software Foundation, Inc. -# This file is distributed under the same license as the gawk package. # Martin Sjgren <md9ms@mdstud.chalmers.se>, 2001-2002. -# Christer Andersson <klamm@comhem.se>, 2007. +# +# $Id: sv.po,v 1.6 2010/05/06 19:01:21 arnold Exp $ # msgid "" msgstr "" -"Project-Id-Version: gawk 3.1.6\n" +"Project-Id-Version: gawk 3.1.1m\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" -"PO-Revision-Date: 2008-01-16 05:30+0100\n" -"Last-Translator: Christer Andersson <klamm@comhem.se>\n" -"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" +"PO-Revision-Date: 2003-02-27 19:54+0100\n" +"Last-Translator: Martin Sjgren <md9ms@mdstud.chalmers.se>\n" +"Language-Team: Swedish <sv@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: array.c:112 -#, c-format +#, fuzzy, c-format msgid "attempt to use function `%s' as an array" msgstr "frsk att anvnda funktionen \"%s\" som vektor" @@ -76,346 +76,362 @@ msgstr "%s: r en parameter\n" msgid "%s: array_ref to %s\n" msgstr "%s: vektorreferens till %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "%s-block mste ha en tgrdsdel" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "varje regel mste ha ett mnster eller en tgrdsdel" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 +#, fuzzy msgid "old awk does not support multiple `BEGIN' or `END' rules" -msgstr "gamla awk stder inte flera \"BEGIN\"- eller \"END\"-regler" +msgstr "gamla awk stder inte operatorn \"**\"" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "\"%s\" r en inbyggd funktion, den kan inte definieras om" -#: awkgram.y:331 +#: awkgram.y:350 +#, fuzzy msgid "regexp constant `//' looks like a C++ comment, but is not" -msgstr "regexp-konstanten \"//\" ser ut som en C++-kommentar men r inte det" +msgstr "regexp-konstanten \"/%s/\" ser ut som en C-kommentar men r inte det" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "regexp-konstanten \"/%s/\" ser ut som en C-kommentar men r inte det" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "kommandot kanske inte har ngon effekt" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "\"%s\" anvnd i %s-tgrden" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "\"nextfile\" r en gawk-utkning" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "\"return\" anvnd utanfr funktion" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "ensamt \"print\" i BEGIN eller END-regel br troligen vara 'print \"\"'" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "\"delete array\" r en gawk-utkning" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "\"delete(array)\" r en icke portabel tawk-utkning" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" -msgstr "upprepade case-vrden i switch-sats: %s" +msgstr "" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" -msgstr "Flera \"default\"-fall upptcktes i switch-sats" +msgstr "" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "flerstegs dubbelriktade rr fungerar inte" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "reguljrt uttryck i hgerledet av en tilldelning" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "reguljrt uttryck p vnster sida om en \"~\"- eller \"!~\"-operator" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 +#, fuzzy msgid "old awk does not support the keyword `in' except after `for'" msgstr "gamla awk stder inte operatorn \"**\"" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "reguljrt uttryck i hgerledet av en jmfrelse" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "fjrrporten ogiltig i \"%s\"" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "icke omdirigerad \"getline\" odefinierad inuti END-tgrd" -#: awkgram.y:904 +#: awkgram.y:955 +#, fuzzy msgid "old awk does not support multidimensional arrays" -msgstr "gamla awk stder inte flerdimensionella vektorer" +msgstr "gamla awk stder inte operatorn \"**\"" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "anrop av \"length\" utan parenteser r inte portabelt" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "anrop av \"length\" utan parenteser r frldrat enligt POSIX" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "\"extension\" r en gawk-utkning" + +#: awkgram.y:1084 msgid "use of non-array as array" -msgstr "icke-vektor anvnds som vektor" +msgstr "" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "ogiltig indexuttryck" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "ovntat nyradstecken eller slut p strngen" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "tom programtext p kommandoraden" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "kan inte ppna kllfilen \"%s\" fr lsning (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "kan inte lsa kllfilen \"%s\" (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "kllfilen \"%s\" r tom" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "kllfilen slutar inte med en ny rad" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "oavslutat reguljrt uttryck slutar med \"\\\" i slutet av filen" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -"%s: %d: tawk-modifierare fr reguljra uttryck \"/.../%c\" fungerar inte i " -"gawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -"tawk-modifierare fr reguljra uttryck \"/.../%c\" fungerar inte i gawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "oavslutat reguljrt uttryck" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "oavslutat reguljrt uttryck i slutet av filen" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "Anvndning av \"\\ #...\" fr radfortsttning r inte portabelt" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "sista tecknet p raden r inte ett omvnt snedstreck" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX tillter inte operatorn \"**=\"" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "gamla awk stder inte operatorn \"**=\"" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX tillter inte operatorn \"**\"" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "gamla awk stder inte operatorn \"**\"" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "operatorn \"^=\" stds inte i gamla awk" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "operatorn \"^\" stds inte i gamla awk" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "oavslutad strng" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "ogiltigt tecken \"%c\" i uttryck" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "\"%s\" r en gawk-utkning" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "\"%s\" r en Bell Labs-utkning" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX tillter inte \"%s\"" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "\"%s\" stds inte i gamla awk" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "\"goto\" anses skadlig!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d r ett ogiltigt antal argument fr %s" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: tredje argumentet r en gawk-utkning" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: bokstavlig strng som sista argument till ersttning har ingen effekt" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s: tredje argumentet r inte ett ndringsbart objekt" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: andra argumentet r en gawk-utkning" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "anvndandet av dcgettext(_\"...\") r felaktigt: ta bort det inledande " "understrykningstecknet" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "anvndandet av dcngettext(_\"...\") r felaktigt: ta bort det inledande " "understrykningstecknet" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funktionen \"%s\": parameter %d, \"%s\", r samma som parameter %d" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funktionen \"%s\": parametern \"%s\" verskuggar en global variabel" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" -msgstr "kunde inte ppna \"%s\" fr skrivning (%s)" +msgstr "kunde inte pnna \"%s\" fr skrivning (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "skickar profilen till standard fel" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: misslyckades att stnga (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() anropad tv gnger!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "det fanns verskuggade variabler." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "funktionen \"%s\": kan inte anvnda funktionsnamn som parameternamn" -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "funktionen \"%s\": kan inte anvnda funktionsnamn som parameternamn" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "funktionsnamnet \"%s\" r definierat sedan tidigare" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "funktionen \"%s\" anropad men aldrig definierad" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "funktionen \"%s\" definierad men aldrig anropad" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "konstant reguljrt uttryck fr parameter %d ger ett booleskt vrde" -#: awkgram.y:3245 -#, c-format +#: awkgram.y:3329 +#, fuzzy, c-format msgid "" "function `%s' called with space between name and `(',\n" "or used as a variable or an array" msgstr "" "funktionen \"%s\" anropad med blanktecken mellan namnet och \"(\",\n" -"eller anvnd som variabel eller vektor" +"%s" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "frskte dividera med noll i \"/=\"" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "frskte dividera med noll i \"%%\"" @@ -472,8 +488,9 @@ msgid "int: received non-numeric argument" msgstr "int: fick ett ickenumeriskt argument" #: builtin.c:464 +#, fuzzy msgid "`length(array)' is a gawk extension" -msgstr "\"length(array)\" r en gawk-utkning" +msgstr "\"delete array\" r en gawk-utkning" #: builtin.c:471 msgid "length: untyped parameter argument will be forced to scalar" @@ -517,7 +534,7 @@ msgstr "" #: builtin.c:845 msgid "`$' is not permitted in awk formats" -msgstr "\"$\" tillts inte i awk-format" +msgstr "\"$\" tillts inte i awkformat" #: builtin.c:851 msgid "arg count with `$' must be > 0" @@ -563,7 +580,7 @@ msgstr "\"h\" tillts inte i POSIX awk-format" #: builtin.c:1252 #, c-format msgid "[s]printf: value %g is out of range for `%%%c' format" -msgstr "[s]printf: vrdet %g r utanfr \"%%%c\"-formatets giltiga intervall" +msgstr "" #: builtin.c:1332 #, c-format @@ -610,14 +627,14 @@ msgid "substr: non-integer start index %g will be truncated" msgstr "substr: startindex %g som inte r ett heltal kommer trunkeras" #: builtin.c:1510 -#, c-format +#, fuzzy, c-format msgid "substr: length %g is not >= 1" -msgstr "substr: lngden %g r inte >= 1" +msgstr "substr: lngden %g r <= 0" #: builtin.c:1512 -#, c-format +#, fuzzy, c-format msgid "substr: length %g is not >= 0" -msgstr "substr: lngden %g r inte >= 0" +msgstr "substr: lngden %g r <= 0" #: builtin.c:1519 #, c-format @@ -666,282 +683,333 @@ msgstr "mktime: fick ett argument som inte r en strng" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: fick ett argument som inte r en strng" -#: builtin.c:1904 eval.c:2157 -#, c-format +#: builtin.c:1907 eval.c:2285 +#, fuzzy, c-format msgid "reference to uninitialized field `$%d'" -msgstr "referens till icke initierat flt \"$%d\"" +msgstr "referens till icke initierad variabel \"%s\"" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: fick ett argument som inte r en strng" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: fick ett argument som inte r en strng" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: fick ett ickenumeriskt frsta argument" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: fick ett ickenumeriskt andra argument" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: fick ett ickenumeriskt argument" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: fick ett ickenumeriskt argument" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: fick ett ickenumeriskt argument" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: tredje argumentet r inte en vektor" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" -msgstr "gensub: nollan i tredje argumentet behandlad som en etta" +msgstr "gensub: Nollan i tredje argumentet behandlad som en etta" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: fick ett ickenumeriskt frsta argument" -#: builtin.c:2862 +#: builtin.c:2868 +#, fuzzy msgid "lshift: received non-numeric second argument" -msgstr "lshift: fick ett ickenumeriskt andra argument" +msgstr "strftime: fick ett ickenumeriskt andra argument" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): negativa vrden kommer ge konstiga resultat" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): flyttalsvrden kommer trunkeras" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "lshift(%lf, %lf): fr stora skiftvrden kommer ge konstiga resultat" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: fick ett ickenumeriskt frsta argument" -#: builtin.c:2900 +#: builtin.c:2906 +#, fuzzy msgid "rshift: received non-numeric second argument" -msgstr "rshift: fick ett ickenumeriskt andra argument" +msgstr "strftime: fick ett ickenumeriskt andra argument" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): negativa vrden kommer ge konstiga resultat" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): flyttalsvrden kommer trunkeras" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "rshift(%lf, %lf): fr stora skiftvrden kommer ge konstiga resultat" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: fick ett ickenumeriskt frsta argument" -#: builtin.c:2938 +#: builtin.c:2944 +#, fuzzy msgid "and: received non-numeric second argument" -msgstr "and: fick ett ickenumeriskt andra argument" +msgstr "atan2: fick ett ickenumeriskt andra argument" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): negativa vrden kommer ge konstiga resultat" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): flyttalsvrden kommer trunkeras" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: fick ett ickenumeriskt frsta argument" -#: builtin.c:2974 +#: builtin.c:2980 +#, fuzzy msgid "or: received non-numeric second argument" -msgstr "or: fick ett ickenumeriskt andra argument" +msgstr "atan2: fick ett ickenumeriskt andra argument" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): negativa vrden kommer ge konstiga resultat" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): flyttalsvrden kommer trunkeras" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: fick ett ickenumeriskt frsta argument" -#: builtin.c:3010 +#: builtin.c:3016 +#, fuzzy msgid "xor: received non-numeric second argument" -msgstr "xor: fick ett ickenumeriskt andra argument" +msgstr "atan2: fick ett ickenumeriskt andra argument" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): negativa vrden kommer ge konstiga resultat" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): flyttalsvrden kommer trunkeras" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: fick ett ickenumeriskt argument" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): negativa vrden kommer ge konstiga resultat" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): flyttalsvrden kommer trunkeras" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: \"%s\" r inte en giltig lokalkategori" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "oknd nodtyp %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "buffertverfld i genflags2str" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "frsk att anvnda vektorn \"%s\" i skalrsammanhang" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "forslinga: vektorn \"%s\" ndrade storlek frn %ld till %ld under " "slingexekvering" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "\"break\" utanfr en slinga r inte portabelt" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "\"break\" utanfr en slinga r inte tilltet" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "\"continue\" utanfr en slinga r inte portabelt" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "\"continue\" utanfr en slinga r inte tilltet" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "\"next\" kan inte anropas frn en BEGIN-regel" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "\"next\" kan inte anropas frn en END-regel" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "\"next\" kan inte anropas frn en BEGIN-regel" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "\"next\" kan inte anropas frn en END-regel" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "\"nextfile\" kan inte anropas frn en BEGIN-regel" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "\"nextfile\" kan inte anropas frn en END-regel" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "\"nextfile\" kan inte anropas frn en END-regel" + +#: eval.c:963 msgid "statement has no effect" msgstr "kommandot har ingen effekt" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "kan inte anvnda funktionsnamnet \"%s\" som variabel eller vektor" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "referens till icke initierat argument \"%s\"" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "referens till icke initierad variabel \"%s\"" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "" "concatenation: sidoeffekter i ett uttryck har ndrat lngden av ett annat!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "tilldelning anvnt i jmfrelsesammanhang" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "frskte dividera med noll" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "otillten typ (%s) i tree_eval" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "frskte dividera med noll i \"/=\"" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "frskte dividera med noll i \"%%=\"" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "funktionen \"%s\" anropad med fler argument n vad som deklarerats" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "funktionen \"%s\" r inte definierad" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -952,146 +1020,181 @@ msgstr "" "\t# Funktionsanropsstack:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- main --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "frsk att fltreferera frn ickenumeriskt vrde" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "frsk att referera frn tom strng" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "frsk att komma t flt nummer %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "det r inte tilltet att tilldela resultatet frn en inbyggd funktion" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "\"IGNORECASE\" r en gawk-utkning" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "\"BINMODE\" r en gawk-utkning" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "felaktig \"%sFMT\"-specifikation \"%s\"" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "slr av \"--lint\" p grund av en tilldelning till \"LINT\"" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "\"extension\" r en gawk-utkning" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: kan inte ppna \"%s\" (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: bibliotek \"%s\": kan inte anropa funktionen \"%s\" (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" -msgstr "extension: saknar funktionsnamn" +msgstr "" -#: ext.c:110 -#, c-format +#: ext.c:113 +#, fuzzy, c-format msgid "extension: illegal character `%c' in function name `%s'" -msgstr "extension: ogiltigt tecken \"%c\" i funktionsnamnet \"%s\"" +msgstr "extension: bibliotek \"%s\": kan inte anropa funktionen \"%s\" (%s)\n" -#: ext.c:116 -#, c-format +#: ext.c:119 +#, fuzzy, c-format msgid "extension: can't redefine function `%s'" -msgstr "extension: kan inte definiera om funktionen \"%s\"" +msgstr "extension: kan inte ppna \"%s\" (%s)\n" -#: ext.c:120 -#, c-format +#: ext.c:123 +#, fuzzy, c-format msgid "extension: function `%s' already defined" -msgstr "extension: funktionen \"%s\" r redan definierad" +msgstr "funktionen \"%s\" r inte definierad" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" -"extension: kan inte anvnda gawks inbyggda \"%s\" som ett funktionsnamn" -#: ext.c:127 -#, c-format +#: ext.c:130 +#, fuzzy, c-format msgid "extension: function name `%s' previously defined" -msgstr "extension: funktionsnamnet \"%s\" r definierat sedan tidigare" +msgstr "funktionsnamnet \"%s\" r definierat sedan tidigare" -#: ext.c:204 -#, c-format +#: ext.c:207 +#, fuzzy, c-format msgid "function `%s' defined to take no more than %d argument(s)" -msgstr "funktionen \"%s\" definierades fr att ta maximalt %d argument" +msgstr "funktionen \"%s\" definierad men aldrig anropad" -#: ext.c:207 -#, c-format +#: ext.c:210 +#, fuzzy, c-format msgid "function `%s': missing argument #%d" -msgstr "funktionen \"%s\": argument %d saknas" +msgstr "funktionen \"%s\" r inte definierad" -#: ext.c:217 -#, c-format +#: ext.c:220 +#, fuzzy, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" -msgstr "funktionen \"%s\": argument %d: frsk att anvnda skalr som vektor" +msgstr "frsk att anvnda skalren \"%s\" som vektor" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" -msgstr "funktionen \"%s\": argument %d: frsk att anvnda vektor som skalr" +msgstr "" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Operationen stds inte" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF satt till ett negativt vrde" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: andra argumentet r inte en vektor" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: tredje argumentet r en gawk-utkning" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: andra argumentet r inte en vektor" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: tom strng som tredje argument r en gawk-utkning" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: andra argumentet r inte en vektor" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: andra argumentet r inte en vektor" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: tredje argumentet r inte en vektor" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "\"FIELDWIDTHS\" r en gawk-utkning" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" -msgstr "ogiltigt FIELDWITHS-vrde i nrheten av \"%s\"" +msgstr "" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "tom strng som \"FS\" r en gawk-utkning" -#: field.c:1092 +#: field.c:1242 +#, fuzzy msgid "old awk does not support regexps as value of `FS'" -msgstr "gamla awk stder inte reguljra uttryck som vrden p \"FS\"" +msgstr "gamla awk stder inte operatorn \"**\"" + +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "\"%s\" r en gawk-utkning" #: getopt.c:574 getopt.c:590 #, fuzzy, c-format @@ -1148,490 +1251,507 @@ msgstr "%s: flaggan \"-W %s\" tillter inte ngot argument\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: flaggan \"%s\" krver ett argument\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "kan inte ppna filen \"%s\" fr lsning (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "fel vid lsning av indatafilen \"%s\": %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "stngning av fd %d (\"%s\") misslyckades (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "ogiltig trdtyp %s i redirect()" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "uttrycket i \"%s\"-omdirigering har bara numeriskt vrde" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "uttrycket fr \"%s\"-omdirigering har en tom strng som vrde" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "filnamnet \"%s\" fr \"%s\"-omdirigering kan vara resultatet av ett logiskt " "uttryck" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "ondig blandning av \">\" och \">>\" fr filen \"%.*s\"" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "kan inte ppna rret \"%s\" fr utmatning (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "kan inte ppna rret \"%s\" fr inmatning (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "kan inte ppna tvvgsrret \"%s\" fr in-/utmatning (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "kan inte dirigera om frn \"%s\" (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "kan inte dirigera om till \"%s\" (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "ndde systembegrnsningen fr ppna filer: brjar multiplexa fildeskriptorer" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "stngning av \"%s\" misslyckades (%s)" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "fr mnga rr eller indatafiler ppna" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: andra argumentet mste vara \"to\" eller \"from\"" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: \"%.*s\" r inte en ppen fil, rr eller koprocess" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "stngning av omdirigering som aldrig ppnades" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: omdirigeringen \"%s\" ppnades inte med \"|&\", andra argumentet " "ignorerat" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "felstatus (%d) frn rrstngning av \"%s\" (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "felstatus (%d) frn filstngning av \"%s\" (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "ingen explicit stngning av uttaget \"%s\" tillhandahllen" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "ingen explicit stngning av koprocessen \"%s\" tillhandahllen" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "ingen explicit stngning av rret \"%s\" tillhandahllen" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "ingen explicit stngning av filen \"%s\" tillhandahllen" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "fel vid skrivning till standard ut (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "fel vid skrivning till standard fel (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "rrspolning av \"%s\" misslyckades (%s)" -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "koprocesspolning av rret till \"%s\" misslyckades (%s)" -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "filspolning av \"%s\" misslyckades (%s)" -#: io.c:1222 -#, c-format +#: io.c:1292 +#, fuzzy, c-format msgid "local port %s invalid in `/inet'" -msgstr "lokal port %s ogiltig i \"/inet\"" +msgstr "lokal port ogiltig i \"%s\"" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" -msgstr "ogiltig information (%s, %s) fr fjrrvrd och fjrrport" +msgstr "" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "/inet/raw-klient r tyvrr inte klar n" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "bara root kan anvnda \"/inet/raw\"." -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "/inet/raw-server inte redo n, ledsen" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "" "inget (knt) protokoll tillhandahllet i det speciella filnamnet \"%s\"" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "speciellt filnamn \"%s\" r ofullstndigt" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "mste tillhandahlla ett fjrrdatornamn till \"/inet\"" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "mste tillhandahlla en fjrrport till \"/inet\"" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "TCP/IP-kommunikation stds inte" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "filen \"%s\" r en katalog" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "anvnd \"PROCINFO[\"%s\"]\" istllet fr \"%s\"" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "anvnd \"PROCINFO[...]\" istllet fr \"dev/user\"" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "kunde inte ppna \"%s\", lge \"%s\"" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "stngning av huvudpty misslyckades (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "stngning av standard ut i barnet misslyckades (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "flyttandet av slavpty till standard ut i barnet misslyckades (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "stngning av standard in i barnet misslyckades (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "flyttandet av slavpty till standard in i barnet misslyckades (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "stngning av slavpty misslyckades (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "flyttande av rr till standard ut i barnet misslyckades (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "flyttande av rr till standard in i barnet misslyckades (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "terstllande av standard ut i frlderprocessen misslyckades\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "terstllande av standard in i frlderprocessen misslyckades\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "stngning av rret misslyckades (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "\"|&\" stds inte" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "kan inte ppna rret \"%s\" (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "kan inte skapa barnprocess fr \"%s\" (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "datafilen \"%s\" r tom" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "kunde inte allokera mer indataminne" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "fel vid lsning av indatafilen \"%s\": %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "flerteckensvrdet av \"RS\" r en gawk-utkning" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "slut p minne" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "\"-m[fr]\"-flaggan r irrelevant i gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "-m-flaggans anvndning: \"-m[fr] nnn\"" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "tomt argument till \"--source\" ignorerat" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: flaggan \"-W %s\" oknd, ignorerad\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "tomt argument till \"--source\" ignorerat" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: flaggan krver ett argument -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "miljvariabeln \"POSIXLY_CORRECT\" satt: slr p \"--posix\"" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "\"--posix\" sidostter \"--traditional\"" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "\"--posix\"/\"--traditional\" sidostter \"--non-decimal-data\"" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "att kra %s setuid root kan vara ett skerhetsproblem" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "\"--posix\" sidostter \"--traditional\"" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "kan inte stta binrlge p standard in (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "kan inte stta binrlge p standard ut (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "kan inte stta binrlge p standard fel (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "ingen programtext alls!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Anvndning: %s [POSIX- eller GNU-stilsflaggor] -f progfil [--] fil ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Anvndning: %s [POSIX- eller GNU-stilsflaggor] %cprogram%c fil ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX-flaggor:\t\tGNU lnga flaggor:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f progfil\t\t--file=progfil\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=vrde\t\t--assign=var=vrde\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "POSIX-flaggor:\t\tGNU lnga flaggor:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] vrde\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=fil]\t--dump-variables[=fil]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" -msgstr "\t-W exec=fil\t\t--exec=fil\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=programtext\t--source=programtext\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" +msgstr "\t-W profile[=fil]\t--profile[=fil]\n" + +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=fil]\t--profile[=fil]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=programtext\t--source=programtext\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1645,7 +1765,7 @@ msgstr "" "Rapportera synpunkter p versttningen till <sv@li.org>.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1655,7 +1775,7 @@ msgstr "" "Normalt lser det frn standard in och skriver till standard ut.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1665,7 +1785,7 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' fil\n" "\tgawk -F: '{print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1684,7 +1804,7 @@ msgstr "" "ngon senare version.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1698,64 +1818,71 @@ msgstr "" "General Public License fr ytterligare information.\n" "\n" -#: main.c:813 +#: main.c:864 +#, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" msgstr "" "Du br ha ftt en kopia av GNU General Public License tillsammans\n" -"med detta program. Om inte, se http//www.gnu.org/liceences/.\n" +"med detta program. Om inte, skriv till Free Software Foundation,\n" +"Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft stter inte FS till tab i POSIX-awk" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "%s: Argumentet \"%s\" till \"-v\" r inte p formatet \"var=vrde\"\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "\"%s\" r inte ett giltigt variabelnamn" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "\"%s\" r inte ett variabelnamn, letar efter filen \"%s=%s\"" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "flyttalsundantag" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "desdigert fel: internt fel" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "desdigert fel: internt fel" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "desdigert fel: internt fel" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "ingen frppnad fd %d" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "kunde inte frppna /dev/null fr fd %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "kunde inte hitta grupper: %s" @@ -1821,25 +1948,25 @@ msgid "could not open `%s' for writing: %s" msgstr "kunde inte ppna \"%s\" fr skrivning: %s" #: profile.c:457 -#, c-format +#, fuzzy, c-format msgid "internal error: %s with null vname" -msgstr "internt fel: %s med null vname" +msgstr "internt fel: Node_var med null vname" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# behandlad internt som \"delete\"" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" -msgstr "# detta r en dynamiskt inlst utkningsfunktion" +msgstr "" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# gawkprofil, skapad %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1848,7 +1975,16 @@ msgstr "" "\t# BEGIN-block\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# BEGIN-block\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1857,7 +1993,16 @@ msgstr "" "\t# Regel/regler\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# END-block\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1866,7 +2011,7 @@ msgstr "" "\t# END-block\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1875,16 +2020,21 @@ msgstr "" "\n" "\t# Funktioner, listade alfabetiskt\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "ovntad typ %s i prec_level" -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "oknd nodtyp %d" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "Lyckades" @@ -1960,23 +2110,45 @@ msgstr "Inget fregende reguljrt uttryck" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: otillten flagga -- %c\n" +#~ msgid "file `%s' is a directory" +#~ msgstr "filen \"%s\" r en katalog" + #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "kan inte ppna tvvgsuttaget \"%s\" fr in-/utmatning (%s)" -#~ msgid "delete: illegal use of variable `%s' as array" -#~ msgstr "delete: otillten anvndning av variabeln \"%s\" som vektor" +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" -#~ msgid "asort: first argument is not an array" -#~ msgstr "asort: frsta argumentet r inte en vektor" +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" -#~ msgid "asort: second argument is not an array" -#~ msgstr "asort: andra argumentet r inte en vektor" +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" -#~ msgid "or used as a variable or an array" -#~ msgstr "eller anvnd som variabel eller vektor" +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" -#~ msgid "substr: length %g is < 0" -#~ msgstr "substr: lngden %g r < 0" +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: inga argument" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: \"%.*s\" r inte en ppen fil, rr eller koprocess" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: \"%.*s\" r inte en ppen fil, rr eller koprocess" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "\"%s\" r inte ett giltigt variabelnamn" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "anvnd \"PROCINFO[\"%s\"]\" istllet fr \"%s\"" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "anvnd \"PROCINFO[...]\" istllet fr \"dev/user\"" #~ msgid "function %s called\n" #~ msgstr "funktionen %s anropad\n" @@ -1984,17 +2156,39 @@ msgstr "Inget fregende reguljrt uttryck" #~ msgid "field %d in FIELDWIDTHS, must be > 0" #~ msgstr "flt %d i FIELDWIDTHS mste vara > 0" -#~ msgid "remote port invalid in `%s'" -#~ msgstr "fjrrporten ogiltig i \"%s\"" - -#~ msgid "internal error: Node_var_array with null vname" -#~ msgstr "internt fel: Node_var_vektor med null vname" +#~ msgid "or used as a variable or an array" +#~ msgstr "eller anvnd som variabel eller vektor" #~ msgid "regex match failed, not enough memory to match string \"%.*s%s\"" #~ msgstr "" #~ "regexmatchning misslyckades, inte tillrckligt mycket minne fr att " #~ "matcha \"%.*s%s\"" +#~ msgid "substr: length %g is < 0" +#~ msgstr "substr: lngden %g r < 0" + +#~ msgid "delete: illegal use of variable `%s' as array" +#~ msgstr "delete: otillten anvndning av variabeln \"%s\" som vektor" + +#, fuzzy +#~ msgid "%s: gvar_ref to %s\n" +#~ msgstr "%s: vektorreferens till %s\n" + +#~ msgid "asort: first argument is not an array" +#~ msgstr "asort: frsta argumentet r inte en vektor" + +#~ msgid "asort: second argument is not an array" +#~ msgstr "asort: andra argumentet r inte en vektor" + +#, fuzzy +#~ msgid "" +#~ "attempt to use array parameter `%s' that was passed from global scalar `%" +#~ "s'" +#~ msgstr "frsk att anvnda skalrparametern \"%s\" som en vektor" + +#~ msgid "internal error: Node_var_array with null vname" +#~ msgstr "internt fel: Node_var_vektor med null vname" + #~ msgid "" #~ "\n" #~ "To report bugs, see node `Bugs' in `gawk.info', which is\n" Binary files differ@@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gawk 3.1.5f\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" "PO-Revision-Date: 2007-05-19 19:32+0300\n" "Last-Translator: Nilgün Belma Bugüner <nilgun@buguner.name.tr>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" @@ -75,323 +75,338 @@ msgstr "%s: parametredir\n" msgid "%s: array_ref to %s\n" msgstr "%s: %s için dizi başvurusu\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "%s blokları bir eylem bölümü içermeli" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "her kural bir eylem bölümü veya bir kalıp içermeli" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "eski awk çok sayıda `BEGIN' veya `END' kuralını desteklemiyor" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' bir yerleşik işlevdir, yeniden atanamaz" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "düzenli ifade sabiti `//' bir C++ açıklaması gibi görünüyor ama değil" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "düzenli ifade sabiti `/%s/' bir C açıklaması gibi görünüyor ama değil" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "deyim bir etkiye sahip olmayabilir" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "`%s' %s eyleminde kullanılmış" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "`nextfile' bir gawk uzantısıdır" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "`return' işlev bağlamının dışında kullanılmış" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "BEGIN veya END kuralındaki `print' aslında `print \"\"' olmalıydı" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "`delete array' bir gawk uzantısıdır" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete array' uyarlanabilir olmayan bir gawk uzantısıdır" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "switch içinde yinelenmiş case değerleri var: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "switch içinde yinelenmiş `default' saptandı" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "çok katlı iki yönlü veriyolları çalışmaz" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "düzenli ifade atamanın sağında" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "düzenli ifade `~' ya da `!~' işlemiminin solunda" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "eski awk `for'dan sonra gelmeyen `in' anahtar sözcüğünü desteklemiyor" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "düzenli ifade karşılaştırmanın sağında" -#: awkgram.y:893 +#: awkgram.y:936 +#, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "END eyleminin içinde yönlendirme yapmayan `getline' tanımsız" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "eski awk çok boyutlu dizileri desteklemiyor" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "parantezsiz `length' çağrısı taşınabilir değil" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "parantezsiz `length' çağrısı POSIX'e uygun değil" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "`extension' bir gawk uzantısıdır" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "dizi olmayan değişken dizi olarak kullanılmış" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "indis ifadesi geçersiz" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "beklenmeyen satırsonu ya da dizge sonu" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "komut satırında boş program metni" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "kaynak dosyası `%s' okumak için açılamıyor (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "kaynak dosyası `%s' okunamıyor (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "kaynak dosyası `%s' boş" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "kaynak dosyasının sonunda satırsonu eksik" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "sonlandırılmamış düzenli ifade dosya sonunda `\\' ile bitiyor" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "%s: %d: tawk regex değiştirici `/.../%c' gawk'ta çalışmaz" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "tawk regex değiştirici `/.../%c' gawk'ta çalışmaz" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "sonlandırılmamış düzenli ifade" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "dosya sonunda sonlandırılmamış düzenli ifade" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "`\\ #...' satır uzatma kullanımı taşınabilir değil" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "tersbölü satırdaki son karakter değil" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "`**=' işlemimi POSIX uyumlu değil" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "`**=' işlemimini eski awk desteklemiyor" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "`**' işlemimi POSIX uyumlu değil" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "`**' işlemimini eski awk desteklemiyor" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "`^=' işlemimini eski awk desteklemiyor" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "`^' işlemimini eski awk desteklemiyor" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "sonlandırılmamış dizge" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "ifade içinde '%c' karakteri geçersiz" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' bir gawk uzantısıdır" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "`%s' bir Bell Laboratuarları uzantısıdır" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "`%s' POSIX uyumlu değil" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' eski awk tarafından desteklemiyor" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "`goto' zararlı sayılır!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d argüman sayısı olarak %s için geçersiz" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: üçüncü argüman bir gawk uzantısı" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "%s: yerine kullanılan son argüman olarak dizge sabiti etkisiz" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "üçüncü %s parametresi değiştirilebilir bir nesne değil" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: ikinci argüman bir gawk uzantısı" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "dcgettext(_\"...\") kullanımı yanlış: altçizgiyi kaldırın" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "dcngettext(_\"...\") kullanımı yanlış: altçizgiyi kaldırın" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "`%s' işlevi: %d. parametre, `%s', %d. parametrenin tekrarı" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "`%s' işlevi: parametre, `%s'global değişkeni gölgeliyor" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "`%s' yazmak için açılamadı (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "profil standart hataya gönderiliyor" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: kapatma başarısız (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() iki kere çağrıldı!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "gölgeli değişkenler vardı." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "işlev `%s': işlev ismi parametre ismi olarak kullanılamaz" -#: awkgram.y:3004 +#: awkgram.y:3088 #, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "işlev `%s': işlev ismi parametre ismi olarak kullanılamaz" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "işlev ismi `%s' önceden atanmış" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "`%s' işlevi çağrıldı ama hiç atanmamış" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "`%s' işlevi atanmış ama hiç çağrılmadı" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "%d numaralı argüman bir düzenli ifade sabiti" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -400,12 +415,12 @@ msgstr "" "`%s' işlevi `(' ile isim arasında boşlukla çağrılmış,\n" "ya da bir değişken veya bir dizi olarak kullanılmış" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "`/='de sıfırla bölme hatası" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "`%%'de sıfırla bölme hatası" @@ -660,282 +675,328 @@ msgstr "mktime: dizge olmayan argüman alındı" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: dizge olmayan argüman alındı" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "ilklendirilmemiş `$%d' alanına başvuru" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: dizge olmayan argüman alındı" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: dizge olmayan argüman alındı" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: ilk argüman sayısal olmayan türde alındı" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: ikinci argüman sayısal olmayan türde alındı" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: sayısal olmayan argüman alındı" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: sayısal olmayan argüman alındı" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: sayısal olmayan argüman alındı" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: üçüncü argüman bir dizi değil" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: 0 olan 3. argüman 1 kabul edildi" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: ilk argüman sayısal olmayan türde alındı" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: ikinci argüman sayısal değil" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): negatif değerler tuhaf sonuçlar verecek" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): tamsayı kısım kalacak şekilde kalanı atılacak" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "lshift(%lf, %lf): çok büyük kaydırma değeri tuhaf sonuçlar verecek" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: ilk argüman sayısal olmayan türde alındı" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: ikinci argüman sayısal değil" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): negatif değerler tuhaf sonuçlar verecek" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): tamsayı kısım kalacak şekilde kalanı atılacak" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "rshift(%lf, %lf): çok büyük kaydırma değeri tuhaf sonuçlar verecek" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: ilk argüman sayısal olmayan türde alındı" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: ikinci argüman sayısal değil" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): negatif değerler tuhaf sonuçlar verecek" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): tamsayı kısım kalacak şekilde kalanı atılacak" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: ilk argüman sayısal olmayan türde alındı" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: ikinci argüman sayısal değil" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): negatif değerler tuhaf sonuçlar verecek" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): tamsayı kısım kalacak şekilde kalanı atılacak" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: ilk argüman sayısal olmayan türde alındı" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: ikinci argüman sayısal değil" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): negatif değerler tuhaf sonuçlar verecek" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): tamsayı kısım kalacak şekilde kalanı atılacak" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: sayısal olmayan argüman alındı" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): negatif değerler tuhaf sonuçlar verecek" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): tamsayı kısım kalacak şekilde kalanı atılacak" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' geçerli bir yerel kategori değil" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "%d. düğümtürü bilinmiyor" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "genflags2str içinde tampon taştı" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "`%s' dizisi bir sayısal bağlamda kullanılmaya çalışılıyor" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for loop: `%s' dizisinin boyu döngünün yorumlanması sırasında %ld iken %ld " "oldu" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "döngü dışında `break' kullanımı taşınabilir değil" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "döngü dışında `break' kullanımı yasak" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "döngü dışında `continue' kullanımı taşınabilir değil" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "döngü dışında `continue' kullanımı yasak" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "`next' bir BEGIN kuralından çağrılamaz" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "`next' bir END kuralından çağrılamaz" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "`next' bir BEGIN kuralından çağrılamaz" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "`next' bir END kuralından çağrılamaz" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "`nextfile' bir BEGIN kuralından çağrılamaz" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "`nextfile' bir END kuralından çağrılamaz" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "`nextfile' bir END kuralından çağrılamaz" + +#: eval.c:963 msgid "statement has no effect" msgstr "deyim etkisiz" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "`%s' işlev ismi bir değişken ya da dizi olarak kullanılamaz" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "başlangıç değeri olmayan `%s' argümanına başvuru" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "öndeğer ataması yapılmamış `%s' değişkenine başvuru" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "" "bitiştirme: bir ifadenin yan etkileri diğerinin uzunluğunu değiştirmiş!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "koşul bağlamında atama yapılmış" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "sıfırla bölme hatası" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tree_eval içinde kuraldışı tür (%s)" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "`/='de sıfırla bölme hatası" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "`%%='de sıfırla bölme hatası" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "`%s' işlevi bildirilenden daha fazla argümanla çağrıldı" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "`%s' işlevi tanımsız" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -946,150 +1007,185 @@ msgstr "" "\t# İşlev Çağrı Yığını:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- main --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "sayısal olmayan değerden alan başvurusu" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "null dizgeden alan başvurusu" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "%d. alana erişilmeye çalışılıyor" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "değişken ismine yerleşik işlevin sonucu atanamaz" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "`IGNORECASE' bir gawk uzantısıdır" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' bir gawk uzantısıdır" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "`%sFMT' özelliği `%s' hatalı" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "`LINT' atamasından dolayı `--lint' kapatılıyor" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "`extension' bir gawk uzantısıdır" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: `%s' açılamıyor (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: kitaplık `%s': `%s' işlevi çağrılamıyor (%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "extension: işlev ismi eksik" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: `%2$s' işlevindeki `%1$c' karakteri kuraldışı" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: `%s' işlevi yeniden tanımlanamaz" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "extension: `%s' işlevi zaten tanımlı" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "extension: bir gawk yerleşiği olan `%s' işlev ismi olamaz" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "extension: işlev ismi `%s' evvelce tanımlanmış" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "`%s' işlevi en çok `%d' argüman alabilecek şekilde tanımlı" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "`%s' işlevi: %d. argüman eksik" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" "`%s' işlevi: %d. argüman: tek değerli değişken bir dizi olarak kullanılmaya " "çalışılıyor" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" "`%s' işlevi: %d. argüman: dizi tek değerli bir değişken olarak kullanılmaya " "çalışılıyor" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "İşlem Desteklenmiyor" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF negatif değere ayarlı" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: ikinci argüman bir dizi değil" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: üçüncü argüman bir gawk uzantısı" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: ikinci argüman bir dizi değil" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: üçüncü argüman olan null dizge bir gawk uzantısı" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: ikinci argüman bir dizi değil" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: ikinci argüman bir dizi değil" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: üçüncü argüman bir dizi değil" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "`FIELDWIDTHS' bir gawk uzantısıdır" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "`%s' yanında FIELDWIDTHS değeri geçersiz" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "`FS' için null dizge bir gawk uzantısıdır" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "eski awk düzenli ifadeleri `FS' değeriyle desteklemiyor" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "`%s' bir gawk uzantısıdır" + #: getopt.c:574 getopt.c:590 #, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" @@ -1145,492 +1241,509 @@ msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "`%s' okumak için açılamıyor (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "`%s' girdi dosyası okunurken hata: %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "dosya tanımlayıcı %d (`%s') başarısız (%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "redirect() içindeki ağaç türü %s geçersiz" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "`%s' yönlendirmesi içindeki ifade sadece sayısal değer içeriyor" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "`%s' yönlendirmesi içindeki ifade null dizge değeri içeriyor" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" "`%s' dosya ismi (`%s' yönlendirmesi için) mantıksal ifadenin sonucu olabilir" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "`%.*s' dosyası için `>' ve `>>' karışımı gereksiz" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "`%s' veriyolu çıktı için açılamadı (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "`%s' veriyolu girdi için açılamadı (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "iki yönlü `%s' veriyolu G/Ç için açılamıyor (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "`%s'den yönlendirilemiyor (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "`%s'e yönlendirilemiyor (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "açık dosyalar için sistem sınırı aşıldı: çoğul dosya tanımlayıcılara " "başlarken" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "`%s' kapatılamadı (%s)." -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "çok fazla veriyolu ya da dosya açık" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: ikinci argüman `to' ya da `from' olmalı" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: `%.*s' bir açık dosya, veriyolu ya da alt-işlem değil" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "hiç açılmamış bir yönlendirmenin kapatılması" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: `%s' yönlendirmesi bir `|&' ile açılmamış, ikinci argüman yoksayıldı" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "başarısızlık durumu (%d): `%s' veriyolunun kapatılması (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "başarısızlık durumu (%d): `%s' dosyasının kapatılması (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "`%s' soketinin açıkça kapatılması istenmedi" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "`%s' alt-işleminin açıkça kapatılması istenmedi" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "`%s' veriyolunun açıkça kapatılması istenmedi" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "`%s' dosyasının açıkça kapatılması istenmedi" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "standart çıktıya yazarken hata (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "standart hataya yazarken hata (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "`%s'in veriyolu ile veri aktarımı başarısız (%s)." -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "`%s'e veriyolunun alt-işlemi ile veri aktarımı başarısız (%s)." -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "`%s'in dosya ile veri aktarımı başarısız (%s)." -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "yerel port `%s' `/inet' için geçersiz" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "uzak konak ve port bilgisi (%s, %s) geçersiz" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "/inet/raw istemci henüz hazır değil" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "`/inet/raw' sadece root tarafından kullanılabilir" -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "/inet/raw sunucu henüz hazır değil" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "özel dosya ismi `%s' içinde (bilinen) bir protokol sağlanmamış" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "özel dosya ismi `%s' tamamlanmamış" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "`/inet' e bir karşı makina ismi sağlanmalı" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "`/inet' e bir karşı port sağlanmalı" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "TCP/IP haberleşmesi desteklenmiyor" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "`%s' dosya değil dizin" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "`PROCINFO[\"%s\"]' kullanın (`%s' yerine)" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "`/dev/user' yerine `PROCINFO[...]' kullanın" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "`%s', `%s' kipinde açılamadı" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "ana pty kapatılamadı (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "ast süreçte stdÇ kapatılamadı (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "ast süreçte yardımcı pty standart çıktıya taşınamadı (dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "ast süreçte stdG kapatılamadı (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "ast süreçte yardımcı pty standart girdiye taşınamadı (dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "yardımcı pty kapatılamadı (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "ast süreçte veriyolu standart çıktıya taşınamadı (dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "ast süreçte veriyolu standart girdiye taşınamadı (dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "üst süreçte stdÇ eski durumuna getirilemedi\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "üst süreçte stdG eski durumuna getirilemedi\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "veriyolu kapatılamadı (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "`|&' desteklenmiyor" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "`%s' veriyolu açılamıyor (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "`%s' için ast süreç oluşturulamıyor (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "veri dosyası `%s' boş" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "daha fazla girdi belleği ayrılamadı" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "`%s' girdi dosyası okunurken hata: %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "`RS' çoklu karakter değeri bir gawk uzantısıdır" -#: main.c:306 +#: main.c:313 msgid "out of memory" msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "`-m[fr]' seçeneği gawk'da böyle kullanılmaz" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "-m seçeneğinin kullanımı: `-m[fr] nnn'" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "`--source' seçeneği için boş argüman yoksayıldı" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: `-W %s' seçeneği tanımlı değil, yok sayıldı\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "`--source' seçeneği için boş argüman yoksayıldı" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: seçenek bir argümanla kullanılır -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "ortam değişkeni `POSIXLY_CORRECT' var: `--posix' kullanılıyor" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "`--posix' seçeneği `--traditional' seçeneğini etkisiz kılar" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "" "`--posix'/`--traditional' seçenekleri `--non-decimal-data' seçeneğini " "etkisiz kılar" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "%s root yetkileriyle çalıştırıldığında güvenlik sorunları olabilir" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "`--posix' seçeneği `--traditional' seçeneğini etkisiz kılar" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "standart girdi ikilik kipe ayarlanamaz (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "standart çıktı ikilik kipe ayarlanamaz (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "standart hata ikilik kipe ayarlanamaz (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "program metni hiç yok!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Kullanımı: %s [POSIX veya GNU tarzı seçenekler] -f progdosyası [--] " "dosya ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Kullanımı: %s [POSIX veya GNU tarzı seçenekler] %cprogram%c dosya ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX seçenekleri: GNU uzun seçenekleri:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr " -f progDosyası --file=progDosyası\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr " -F ayraç --field-separator=ayraç\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr " -v var=değer --assign=var=değer\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "POSIX seçenekleri: GNU uzun seçenekleri:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr " -m[fr] değer\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr " -W compat --compat\n" - -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr " -W copyleft --copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr " -W copyright --copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr " -W dump-variables[=dosya] --dump-variables[=dosya]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr " -W source=program-metni --source=program-metni\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr " -W exec=dosya --exec=dosya\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr " -W gen-po --gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr " -W help --help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr " -W lint[=ölümcül] --lint[=ölümcül]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr " -W lint-old --lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr " -W non-decimal-data --non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr " -W nostalgia --nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr " -W parsedebug --parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr " -W profile[=dosya] --profile[=dosya]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr " -W posix --posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr " -W re-interval --re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr " -W source=program-metni --source=program-metni\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr " -W traditional --traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr " -W posix --posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr " -W usage --usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr " -W version --version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr " -W nostalgia --nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr " -W version --version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr " -W parsedebug --parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1644,7 +1757,7 @@ msgstr "" "Çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1654,7 +1767,7 @@ msgstr "" "Öntanımlı olarak standart girdiyi okur ve standart çıktıya yazar.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1664,8 +1777,8 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' dosya\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 -#, fuzzy, c-format +#: main.c:845 +#, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" "\n" @@ -1678,12 +1791,12 @@ msgstr "" "Telif hakkı (C) 1989, 1991-%d Free Software Foundation.\n" "\n" "Bu program bir serbest yazılımdır. Bu yazılımı Free Software Foundation\n" -"tarafından yayınlanmış olan GNU Genel Kamu Lisansının 2. ya da daha sonraki\n" +"tarafından yayınlanmış olan GNU Genel Kamu Lisansının 3. ya da daha sonraki\n" "bir sürümünün koşulları altında kopyalayabilir, dağıtabilir ve/veya\n" "üzerinde değişiklik yapabilirsiniz.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1697,7 +1810,7 @@ msgstr "" "edinmek için GNU Genel Kamu Lisansına bakınız.\n" "\n" -#: main.c:813 +#: main.c:864 #, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" @@ -1707,11 +1820,16 @@ msgstr "" "olacaksınız; yoksa Free Software Foundation, Inc., 51 Franklin Street,\n" "Fifth Floor, Boston, MA 02110-1301, USA adresinden isteyebilirsiniz.\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "POSIX awk -Ft ile dosya sistemini belirlemez" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1720,45 +1838,45 @@ msgstr "" "%s: `-v' ile verilen `%s' argümanı `var=değer' biçiminde değil\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' kurala uygun bir değişken ismi değil" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "`%2$s=%3$s' için dosyaya bakınca, `%1$s' bir değişken ismi değil" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "Gerçel sayı istisnası" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "ölümcül iç hata" -#: main.c:1206 +#: main.c:1260 #, fuzzy msgid "fatal error: internal error: segfault" msgstr "ölümcül iç hata" -#: main.c:1218 +#: main.c:1272 #, fuzzy msgid "fatal error: internal error: stack overflow" msgstr "ölümcül iç hata" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "ön açılışlı bir %d dosya tanımlayıcısı yok" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "%d dosya tanımlayıcısı için /dev/null ön açılışı yapılamadı" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "gruplar bulunamadı: %s" @@ -1828,21 +1946,21 @@ msgstr "`%s' yazmak için açılamadı: %s" msgid "internal error: %s with null vname" msgstr "iç hata: null vname'li %s" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# dahili olarak `delete' varsayıldı" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "# bu özdevimli olarak yüklenmiş bir ek işlevdir" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# gawk profili, oluşturuldu: %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1851,7 +1969,16 @@ msgstr "" "\t# BEGIN blokları\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# BEGIN blokları\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1860,7 +1987,16 @@ msgstr "" "\t# Kurallar\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# END blokları\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1869,7 +2005,7 @@ msgstr "" "\t# END blokları\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1878,16 +2014,21 @@ msgstr "" "\n" "\t# İşlevler, alfabetik sırayla\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "prec_level'da anlaşılamayan tür %s" -#: profile.c:1527 +#: profile.c:1557 #, fuzzy, c-format msgid "Unknown node type %s in pp_var" msgstr "%d. düğümtürü bilinmiyor" +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" + #: regcomp.c:132 msgid "Success" msgstr "Başarılı" @@ -1963,5 +2104,42 @@ msgstr "Daha önce düzenli ifade yok" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: kuraldışı seçenek -- %c\n" +#~ msgid "file `%s' is a directory" +#~ msgstr "`%s' dosya değil dizin" + #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "iki yönlü `%s' soketi G/Ç için açılamıyor (%s)" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr " -W compat --compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr " -W copyleft --copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr " -W traditional --traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr " -W usage --usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: argüman yok" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: `%.*s' bir açık dosya, veriyolu ya da alt-işlem değil" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: `%.*s' bir açık dosya, veriyolu ya da alt-işlem değil" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "`%s' kurala uygun bir değişken ismi değil" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "`PROCINFO[\"%s\"]' kullanın (`%s' yerine)" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "`/dev/user' yerine `PROCINFO[...]' kullanın" Binary files differ@@ -1,26 +1,25 @@ # Vietnamese translation for Gawk. -# Copyright © 2010 Free Software Foundation, Inc. -# This file is distributed under the same license as the gawk package. -# Clytie Siddall <clytie@riverland.net.au>, 2005-2010. +# Copyright © 2007 Free Software Foundation, Inc. +# Clytie Siddall <clytie@riverland.net.au>, 2005-2007. # msgid "" msgstr "" -"Project-Id-Version: gawk 3.1.7i\n" +"Project-Id-Version: gawk 3.1.5f\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" -"PO-Revision-Date: 2010-05-03 18:32+0930\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" +"PO-Revision-Date: 2007-05-28 21:28+0930\n" "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: LocFactoryEditor 1.8\n" +"X-Generator: LocFactoryEditor 1.6.3b1\n" #: array.c:112 #, c-format msgid "attempt to use function `%s' as an array" -msgstr "cố gắng dùng hàm « %s » như mảng" +msgstr "cố gắng dùng chức năng « %s » như mảng" #: array.c:115 #, c-format @@ -77,341 +76,356 @@ msgstr "%s: là tham số\n" msgid "%s: array_ref to %s\n" msgstr "%s: « array_ref » (mảng tham chiếu) đến « %s »\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "Mọi khối %s phải có một phần kiểu hành động" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "Mọi quy tắc phải có một mẫu hay phần kiểu hành động" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "" "awk cũ không hỗ trợ nhiều quy tắc kiểu « BEGIN » (bắt đầu) hay « END » (kết " "thúc)" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "« %s » là một hàm có sẵn nên nó không thể được định nghĩa lái." -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" "hằng biểu thức chính quy « // » hình như một chú thích C, nhưng mà không phải" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" "hằng biểu thức chính quy « /%s/ » hình như một chú thích C, nhưng mà không " "phải" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "câu có lẽ sẽ không có tác dụng" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "« %s » được dùng trong hành động %s" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "« nextfile » (tập tin kế tiếp) là một phần mở rộng gawk" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "« return » (trở về) được dùng ở ngoại ngữ cảnh hàm" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "« print » (in) chuẩn trong quy tắc « BEGIN » (bắt đầu) hay « END » (kết thúc) " "rất có thể nên là « print\"\" »" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" -msgstr "« delete array » (xoá mảng) là một phần mở rộng gawk" +msgstr "« delete array » (xóa bỏ mảng) là một phần mở rộng gawk" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" -msgstr "« delete array » (xoá mảng) là phần mở rộng gawk không thể mang theo" +msgstr "« delete array » (xóa bỏ mảng) là phần mở rộng gawk không thể mang theo" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "gặp giá trị case trùng trong thân chuyển đổi (switch body): %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "" "Phát hiện « default » (mặc định) trong thân chuyển đổi (switch body): %s" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "đường ống dẫn hai chiếu đa giai đoạn không phải hoạt động được" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "biểu thức chính quy nằm bên phải điều gán" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "biểu thức chính quy nằm bên trái toán tử « ~ » hay « !~ »" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "awk cũ không hỗ trợ từ khoá « in », trừ khi nằm sau « for »" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "biểu thức chính quy nằm bên phải sự so sánh" -#: awkgram.y:893 +#: awkgram.y:936 +#, fuzzy, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "trong « %s » có cổng từ xa không hợp lệ" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "" "trong hành động « END » (kết thúc) có « getline » (lấy dòng) không được chuyển " "hướng lại và chưa được xác định." -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "awk cũ không hỗ trợ mảng đa chiều" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "không thể mang lời gọi « length » (độ dài) không có dấu ngoặc" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "POSIX phản đối lời gọi « length » (độ dài) không có dấu ngoặc" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "« extension » là một phần mở rộng gawk" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "việc dùng điều khác mảng như là mảng" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "biểu thức in thấp không hợp lệ" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "gặp dòng mới bất ngờ hay kết thúc của chuỗi" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "gặp đoạn chữ chương trình rỗng nằm trên dòng lệnh" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "không thể mở tập tin nguồn « %s » để đọc (%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "không thể đọc tập tin nguồn « %s » (%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "tập tin nguồn « %s » là rỗng" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "tập tin nguồn không kết thúc với dòng mới" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "" "biểu thức chính quy chưa được chấm dứt kết thúc với « \\ » tại kết thúc của " "tập tin" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "%s: %d: bộ sửa đổi biểu thức chính quy tawk « /.../%c » không hoạt động được " "trong gawk" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "bộ sửa đổi biểu thức chính quy tawk « /.../%c » không hoạt động được trong " "gawk" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "biểu thức chính quy chưa được chấm dứt" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "biểu thức chính quy chưa được chấm dứt nằm tại kết thúc của tập tin" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "không thể mang khả năng dùng « \\#... » để tiếp tục dòng" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "xuyệc ngược không phải là ký tự cuối cùng nằm trên dòng" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX không cho phép toán tử « **= »" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "awk cũ không hỗ trợ toán tử « **= »" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX không cho phép toán tử « ** »" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "awk cũ không hỗ trợ toán tử « ** »" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "awk cũ không hỗ trợ toán tử « ^= »" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "awk cũ không hỗ trợ toán tử « ^ »" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "chuỗi không được chấm dứt" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "biểu thức một ký tự không hợp lệ « %c » nằm trong biểu thức" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "« %s » là một phần mở rộng gawk" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "« %s » là một phần mở rộng của Bell Labs (Phòng thí nghiệm Bell)" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX không cho phép « %s »" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "awk cũ không hỗ trợ « %s »" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "« goto » được xem là gây tai hại\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "« %d » không hợp lệ như là số đối số cho « %s »" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: (khớp) đối số thứ ba là phần mở rộng gawk" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: khi đối số cuối cùng của sự thay thế, hằng mã nguồn chuỗi không có tác " "dụng" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "tham số thứ ba %s không phải là một đối tượng có thể thay đổi" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: (đóng) đối số thứ hai là phần mở rộng gawk" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "dùng « dcgettext(_\"...\") » không đúng: hãy gỡ bỏ gạch dưới nằm trước" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "dùng « dcgettext(_\"...\") » không đúng: hãy gỡ bỏ gạch dưới nằm trước" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" -msgstr "hàm « %s »: tham số « #%d », « %s », nhân đôi tham số « #%d »" +msgstr "chức năng « %s »: tham số « #%d », « %s », nhân đôi tham số « #%d »" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" -msgstr "hàm « %s »: tham số « %s » che biến toàn cục" +msgstr "chức năng « %s »: tham số « %s » che biến toàn cục" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" -msgstr "không mở được « %s » để ghi (%s)" +msgstr "không mở được «%s» để ghi (%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "đang gởi hồ sơ cho thiết bị lỗi chuẩn" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: lỗi đóng (%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() (hàm bóng) được gọi hai lần !" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "có biến bị bóng." -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" -msgstr "hàm « %s »: không thể dùng tên hàm như là tên tham số" +msgstr "chức năng « %s »: không thể dùng tên chức năng như là tên tham số" -#: awkgram.y:3004 -#, c-format +#: awkgram.y:3088 +#, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" -msgstr "hàm « %s »: không thể dùng biến đặc biệt « %s » như là tham số hàm" +msgstr "chức năng « %s »: không thể dùng tên chức năng như là tên tham số" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" -msgstr "tên hàm « %s » được xác định trước" +msgstr "tên chức năng « %s » được xác định trước" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" -msgstr "hàm « %s » được gọi nhưng mà chưa xác định" +msgstr "chức năng « %s » được gọi nhưng mà chưa xác định" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" -msgstr "hàm « %s » được xác định nhưng mà chưa được gọi" +msgstr "chức năng « %s » được xác định nhưng mà chưa được gọi" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "hằng biểu thức chính quy cho tham số « #%d » làm giá trị luận lý (bun)" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -420,11 +434,11 @@ msgstr "" "hàm « %s » được gọi với dấu cách nằm giữa tên và « ( »\n" "hoặc được dùng như là biến hay mảng" -#: awkgram.y:3664 +#: awkgram.y:3750 msgid "division by zero attempted in `/'" msgstr "thử chia cho không trong « / »" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "thử chia cho không trong « %% »" @@ -678,247 +692,267 @@ msgstr "mktime: đã nhận đối số khác chuỗi" #: builtin.c:1746 msgid "mktime: at least one of the values is out of the default range" -msgstr "mktime: ít nhất một của những giá trị nằm ở ngoại phạm vi mặc định" +msgstr "" + +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" -#: builtin.c:1783 +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: (hệ thống) đã nhận đối số khác chuỗi" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "gặp tham chiếu đến trường chưa được sở khởi « $%d »" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: (đến thấp hơn) đã nhận đối số khác chuỗi" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: (đến cao hơn) đã nhận đối số khác chuỗi" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: đã nhận đối số thứ nhất khác thuộc số" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: đã nhận đối số thứ hai khác thuộc số" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: đã nhận đối số không phải thuộc số" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: đã nhận đối số không phải thuộc số" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: đã nhận đối số không phải thuộc số" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: (khớp) đối số thứ ba không phải là mảng" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: đối số thứ ba 0 được xử lý như 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: đã nhận đối số đầu không phải thuộc số" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: (dịch bên trái) đã nhận đối số thứ hai khác thuộc số" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): giá trị âm sẽ gây ra kết quả lạ" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): giá trị thuộc phân số sẽ bị xén ngắn" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "lshift(%lf, %lf): giá trị dịch quá lớn sẽ gây ra kết quả lạ" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: đã nhận đối số thứ nhất khác thuộc số" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: (dịch bên phải) đã nhận đối số thứ hai khác thuộc số" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): giá trị âm sẽ gây ra kết quả lạ" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): giá trị thuộc phân số sẽ bị xén ngắn" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "rshift(%lf, %lf): giá trị dịch quá lớn sẽ gây ra kết quả lạ" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: (và) đã nhận đối số đầu không phải thuộc số" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: (và) đã nhận đối số thứ hai khác thuộc số" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): (và) giá trị âm sẽ gây ra kết quả lạ" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): (và) giá trị thuộc phân số sẽ bị xén ngắn" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: (hoặc) đã nhận đối số đầu không phải thuộc số" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: (hoặc) đã nhận đối số thứ hai khác thuộc số" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): (hoặc) giá trị âm sẽ gây ra kết quả lạ" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): (hoặc) giá trị thuộc phân số sẽ bị xén ngắn" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: (không hoặc) đã nhận đối số thứ nhất khác thuộc số" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: đã nhận đối số thứ hai khác thuộc số" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): (không hoặc) giá trị âm sẽ gây ra kết quả lạ" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): (không hoặc) giá trị thuộc phân số sẽ bị xén ngắn" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: (biên dịch) đã nhận đối số khác thuộc số" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): (biên dịch) giá trị âm sẽ gây ra kết quả lạ" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): (biên dịch) giá trị thuộc phân số se bị xén ngắn" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" -msgstr "dcgettext: « %s » không phải là một phân loại miền địa phương hợp lệ" +msgstr "dcgettext: «%s» không phải là một phân loại miền địa phương hợp lệ" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "không biết kiểu nút %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "tràn bộ đệm trong « genflags2str » (tạo ra cờ đến chuỗi)" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "cố gắng dùng mảng « %s » trong một ngữ cảnh vô hướng" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "cho loop: (cho vòng lặp) mảng « %s » đã thay đổi kích thước từ %ld đến %ld " "trong khi thực hiện vòng lặp" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "không thể mang khả năng « break » (ngắt) nằm ở ngoại vòng lặp" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "không cho phép « break » (ngắt) nằm ở ngoại vòng lặp" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "không thể mang khả năng « continue » (tiếp tục) nằm ở ngoại vòng lặp" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "không cho phép « continue » (tiếp tục) nằm ở ngoại vòng lặp" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "không thể gọi « next » (kế tiếp) từ quy tắc « BEGIN » (bắt đầu)" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "không thể gọi « next » (kế tiếp) từ quy tắc « END » kết thúc)" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "không thể gọi « next » (kế tiếp) từ quy tắc « BEGIN » (bắt đầu)" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "không thể gọi « next » (kế tiếp) từ quy tắc « END » kết thúc)" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "" "không thể gọi « nextfile » (tập tin kế tiếp) từ quy tắc « BEGIN » (bắt đầu)" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "" "không thể gọi « nextfile » (tập tin kế tiếp) từ quy tắc « END » kết thúc)" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "" +"không thể gọi « nextfile » (tập tin kế tiếp) từ quy tắc « END » kết thúc)" + +#: eval.c:963 msgid "statement has no effect" msgstr "câu không có tác dụng" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" -msgstr "không thể dùng tên hàm « %s » như là biến hay mảng" +msgstr "không thể dùng tên chức năng « %s » như là biến hay mảng" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "gặp tham chiếu đến đối số chưa được sở khởi « %s »" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "gặp tham chiếu đến biến chưa được sở khởi « %s »" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" @@ -926,39 +960,66 @@ msgstr "" "concatenation: (nối chuỗi) hiệu ứng khác trong một biểu thức nào đó đã thay " "đổi độ dài của một biểu thức khác !" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "điều gán được dùng trong ngữ cảnh điều kiện" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "cố gắng chia cho số không" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "không cho phép kiểu (%s) trong « tree_eval » (ước lượng cây)" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "cố gắng chia cho số không trong « /= »" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "cố gắng chia cho số không trong « %%= »" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" -msgstr "hàm « %s » được gọi với số đối số hơn số được tuyên bố" +msgstr "chức năng « %s » được gọi với số đối số hơn số được tuyên bố" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" -msgstr "chưa xác định hàm « %s »" +msgstr "chưa xác định chức năng « %s »" + +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" -#: eval.c:1983 +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -966,737 +1027,798 @@ msgid "" "\n" msgstr "" "\n" -"\t# Đống gọi hàm:\n" +"\t# Đống gọi chức năng:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "" "\t# -- main --\n" "(chính)\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "cố gắng tham chiếu trường từ giá trị khác thuộc số" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "cố tham chiếu từ chuỗi vô giá trị" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "cố gắng truy cập trường %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" -msgstr "không cho phép gán cho kết quả của hàm « builtin » (có sẵn)" +msgstr "không cho phép gán cho kết quả của chức năng « builtin » (có sẵn)" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "« IGNORECASE » (bỏ qua chữ hoa/thường) là phần mở rộng gawk" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "« BINMODE » (chế độ nhị phân) là phần mở rộng gawk" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" -msgstr "Giá trị BINMODE (chế độ nhị phân) « %s » không hợp lệ nên thấy là 3" +msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "đặc tả « %sFMT » sai « %s »" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "đang tắt « --lint » do việc gán cho « LINT »" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "« extension » là một phần mở rộng gawk" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: (phần mở rộng) không thể mở « %s » (%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "" -"extension: (phần mở rộng) thư viện « %s »: không thể gọi hàm « %s » (%s)\n" +"extension: (phần mở rộng) thư viện « %s »: không thể gọi chức năng « %s » (%" +"s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" -msgstr "extension: (phần mở rộng) tên hàm còn thiếu" +msgstr "extension: (phần mở rộng) tên chức năng còn thiếu" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" -msgstr "extension: (phần mở rộng) gặp ký tự cấm « %c » nằm trong tên hàm « %s »" +msgstr "" +"extension: (phần mở rộng) gặp ký tự cấm « %c » nằm trong tên chức năng « %s »" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" -msgstr "extension: (phần mở rộng) không thể xác định lại hàm « %s »" +msgstr "extension: (phần mở rộng) không thể xác định lại chức năng « %s »" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" -msgstr "extension: (phần mở rộng) hàm « %s » đã được xác định" +msgstr "extension: (phần mở rộng) chức năng « %s » đã được xác định" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "" "extension: (phần mở rộng) không thể dùng điều có sẵn của gawk « %s » như là " -"tên hàm" +"tên chức năng" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" -msgstr "tên hàm « %s » đã được xác định trước" +msgstr "tên chức năng « %s » đã được xác định trước" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" -msgstr "hàm « %s » được xác định để chấp nhấn %d đối số tối đa" +msgstr "chức năng « %s » được xác định để chấp nhấn %d đối số tối đa" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" -msgstr "hàm « %s » còn thiếu đối số thứ %d" +msgstr "chức năng « %s » còn thiếu đối số thứ %d" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" -msgstr "hàm « %s »: đối số thứ %d: cố gắng dùng điều vô hướng như là mảng" +msgstr "chức năng « %s »: đối số thứ %d: cố gắng dùng điều vô hướng như là mảng" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" -msgstr "hàm « %s »: đối số thứ %d: cố gắng dùng mảng như là điều vô hướng" +msgstr "chức năng « %s »: đối số thứ %d: cố gắng dùng mảng như là điều vô hướng" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "Thao tác không được hỗ trợ" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "« NF » được đặt thành giá trị âm" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: (chia tách) đối số thứ hai không phải là mảng" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: (khớp) đối số thứ ba là phần mở rộng gawk" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: (chia tách) đối số thứ hai không phải là mảng" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "" "split: (chia tách) chuỗi vô giá trị cho đối số thứ ba là phần mở rộng gawk" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: (chia tách) đối số thứ hai không phải là mảng" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: (chia tách) đối số thứ hai không phải là mảng" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: (khớp) đối số thứ ba không phải là mảng" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "« FIELDWIDTHS » (độ rộng trường) là phần mở rộng gawk" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "giá trị FIELDWIDTHS (độ rộng trường) không hợp lệ, gần « %s »" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "chuỗi vô giá trị cho « FS » là phần mở rộng gawk" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "awk cũ không hỗ trợ biểu thức chính quy làm giá trị của « FS »" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "« %s » là một phần mở rộng gawk" + #: getopt.c:574 getopt.c:590 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" -msgstr "%s: tùy chọn « %s » vẫn mơ hồ\n" +msgstr "%s: tùy chọn « %s » là mơ hồ\n" #: getopt.c:623 getopt.c:627 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: tùy chọn « --%s » không cho phép đối số\n" #: getopt.c:636 getopt.c:641 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: tùy chọn « %c%s » không cho phép đối số\n" #: getopt.c:684 getopt.c:703 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' requires an argument\n" -msgstr "%s: tùy chọn « --%s » yêu cầu một đối số\n" +msgstr "%s: tùy chọn «%s» cần đến đối số\n" #: getopt.c:741 getopt.c:744 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: không nhận ra tùy chọn « --%s »\n" +msgstr "%s: không nhận diện tùy chọn « --%s »\n" #: getopt.c:752 getopt.c:755 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: không nhận ra tùy chọn « %c%s »\n" +msgstr "%s: không nhận diện tùy chọn « %c%s »\n" #: getopt.c:804 getopt.c:807 -#, c-format +#, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: tùy chọn không hợp lệ -- « %c »\n" +msgstr "%s: tùy chọn không hợp lệ « -- %c »\n" #: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100 -#, c-format +#, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: tùy chọn yêu cầu một đối số -- « %c »\n" +msgstr "%s: tùy chọn cần đến đối số « -- %c »\n" #: getopt.c:930 getopt.c:946 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: tùy chọn « -W %s » vẫn mơ hồ\n" +msgstr "%s: tùy chọn « -W %s » là mơ hồ\n" #: getopt.c:970 getopt.c:988 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: tùy chọn « -W %s » không cho phép đối số\n" +msgstr "%s: tùy chọn «-W %s» không cho phép đối số\n" #: getopt.c:1009 getopt.c:1027 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' requires an argument\n" -msgstr "%s: tùy chọn « -W %s » yêu cầu một đối số\n" +msgstr "%s: tùy chọn «%s» cần đến đối số\n" + +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" -#: io.c:322 io.c:352 +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" -msgstr "không mở được tập tin « %s » để đọc (%s)" +msgstr "không mở được tập tin «%s» để ghi (%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "gặp lỗi khi đọc tập tin nhập « %s »: %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" -msgstr "lỗi đóng fd %d (« %s ») (%s)" +msgstr "lỗi đóng « fd %d » (« %s ») (%s)" + +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" -#: io.c:583 +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "kiểu cây không hợp lệ « %s » trong « redirect() »" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "biểu thức trong điều chuyển hướng « %s » chỉ có giá trị thuộc số" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" -msgstr "biểu thức cho điều chuyển hướng « %s » có giá trị chuỗi vô giá trị" +msgstr "biểu thức cho điều chuyển hướng «%s» có giá trị chuỗi vô giá trị" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "" -"tên tập tin « %s » cho điều chuyển hướng « %s » có lẽ là kết quả của biểu thức " +"tên tập tin «%s» cho điều chuyển hướng «%s» có lẽ là kết quả của biểu thức " "luận lý" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "không cần hợp « > » và « >> » cho tập tin « %.*s »" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "không thể mở ống dẫn « %s » để xuất (%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "không thể mở ống dẫn « %s » để nhập (%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "không thể mở ống dẫn hai chiều « %s » để nhập/xuất (%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "không thể chuyển hướng từ « %s » (%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" -msgstr "không thể chuyển hướng đến « %s » (%s)" +msgstr "không thể chuyển hướng đến «%s» (%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "" "đã tới giới hạn hệ thống về tập tin được mở nên bắt đầu phối hợp nhiều dòng " "điều mô tả tập tin" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "lỗi đóng « %s » (%s)" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "quá nhiều ống dẫn hay tập tin nhập được mở" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: (đóng) đối số thứ hai phải là « to » (đến) hay « from » (từ)" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "" "close: (đóng) « %.*s » không phải là tập tin được mở, ống dẫn hay tiến trình " "với nhau" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "việc đóng điều chuyển hướng chưa mở" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "" "close: (đóng) điều chuyển hướng « %s » không được mở bởi « |& » nên đối số thứ " "hai bị bỏ qua" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" -msgstr "trạng thái thất bại (%d) khi đóng ống dẫn « %s » (%s)" +msgstr "trạng thái thất bại (%d) khi đóng ống dẫn «%s» (%s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" -msgstr "trạng thái thất bại (%d) khi đóng tập tin « %s » (%s)" +msgstr "trạng thái thất bại (%d) khi đóng tập tin «%s» (%s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "không có việc đóng dứt khoát ổ cắm « %s » được cung cấp" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "không có việc đóng dứt khoát đồng tiến trình « %s » được cung cấp" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "không có việc đóng dứt khoát ống dẫn « %s » được cung cấp" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "không có việc đóng dứt khoát tập tin « %s » được cung cấp" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "gặp lỗi khi ghi thiết bị xụất chuẩn (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "gặp lỗi khi ghi thiết bị lỗi chuẩn (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." -msgstr "lỗi xoá sạch ống dẫn « %s » (%s)" +msgstr "lỗi xóa sạch ống dẫn « %s » (%s)" -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." -msgstr "lỗi xoá sạch ống dẫn đồng tiến trình đến « %s » (%s)" +msgstr "lỗi xóa sạch ống dẫn đồng tiến trình đến « %s » (%s)" -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." -msgstr "lỗi xoá sạch tập tin « %s » (%s)" +msgstr "lỗi xóa sạch tập tin « %s » (%s)" -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "cổng cục bộ %s không hợp lệ trong « /inet »" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "thông tin về máy/cổng ở xa (%s, %s) không phải hợp lệ" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "tiếc là ứng dụng khách <inet/raw> chưa sẵn sàng" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "chỉ người chủ (root) có thể dùng </inet/raw> thôi" -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "tiếc là trình phục vụ </inet/raw> chưa sẵn sàng" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "" "trong tên tập tin đặc biệt « %s » không cung cấp giao thức (đã biết) nào" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "tên tập tin đặc biệt « %s » chưa xong" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "phải cung cấp một tên máy từ xa cho </inet>" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "phải cung cấp một cổng từ xa cho </inet>" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "truyền thông TCP/IP không được hỗ trợ" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "tập tin « %s » là thư mục" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "hãy dùng « PROCINFO[\"%s\"] » (thông tin tiến trình) thay cho « %s »" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "hãy dùng « PROCINFO[...] » (thông tin tiến trình) thay cho </dev/user>" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" -msgstr "không mở được « %s », chế độ « %s »" +msgstr "không mở được «%s», chế độ «%s»" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "lỗi đóng pty (tài sản?) chính (%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "lỗi đóng thiết bị xuất chuẩn trong tiến trình con (%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" "lỗi di chuyển pty (tài sản?) phụ tới thiết bị xuất chuẩn trong điều con " "(nhân đôi: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "lỗi đóng thiết bị nhập chuẩn trong tiến trình con (%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" "lỗi di chuyển pty (tài sản?) phụ tới thiết bị nhập chuẩn trong điều con " "(nhân đôi: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "lỗi đóng pty (tài sản?) phụ (%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "" "lỗi di chuyển ống dẫn đến thiết bị xuất chuẩn trong tiến trình con (dup: %s) " "(nhân đôi)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" "lỗi di chuyển ống dẫn đến thiết bị nhập chuẩn trong tiến trình con (dup: %s) " "(nhân đôi)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "lỗi phục hồi thiết bị xuất chuẩn trong tiến trình mẹ\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "lỗi phục hồi thiết bị nhập chuẩn trong tiến trình mẹ\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "lỗi đóng ống dẫn (%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "« |& » không được hỗ trợ" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "không thể mở ống dẫn « %s » (%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "không thể tạo tiến trình con cho « %s » (fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "tập tin dữ liệu « %s » là rỗng" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "không thể cấp phát bộ nhớ nhập thêm nữa" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "gặp lỗi khi đọc tập tin nhập « %s »: %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "giá trị đa ký tự của « RS » là phần mở rộng gawk" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "không đủ bộ nhớ" +msgstr "hết bộ nhớ" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "tùy chọn « -m[fr] » không thích đang trong gawk" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" -msgstr "cách sử dụng tùy chọn « -m »: « -m[fr] nnn »" +msgstr "cách sử dụng tùy chọn «-m»: « -m[fr] nnn »" + +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "đối số rỗng tới « --source » (nguồn) bị bỏ qua" -#: main.c:393 +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: tùy chọn « -W %s » không được nhận diện nên bị bỏ qua\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "đối số rỗng tới « --source » (nguồn) bị bỏ qua" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: tùy chọn cần đến đối số « -- %c »\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "" "biến môi trường « POSIXLY_CORRECT » (đúng kiểu POSIX) đã được đặt; đang bật " "tùy chọn « --posix »" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "tùy chọn « --posix » có quyền cao hơn « --traditional » (truyền thống)" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "" "« --posix »/« --traditional » (truyền thống) có quyền cao hơn « --non-decimal-" "data » (dữ liệu khác thập phân)" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "việc chạy %s với tư cách « setuid root » có thể rủi rỏ bảo mật" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "tùy chọn « --posix » có quyền cao hơn « --traditional » (truyền thống)" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "không thể đặt chế độ nhị phân trên thiết bị nhập chuẩn (%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "không thể đặt chế độ nhị phân trên thiết bị xuất chuẩn (%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "không thể đặt chế độ nhị phân trên thiết bị lỗi chuẩn (%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "không có đoạn chữ chương trình nào cả !" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Cách sử dụng: %s [tùy chọn kiểu POSIX hay GNU] -f tập_tin_chương_trình [--] " "tập_tin ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Cách sử dụng: %s [tùy chọn kiểu POSIX hay GNU] [--] %cchương_trình%c " "tập_tin ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "tùy chọn POSIX:\t\ttùy chọn dài GNU:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f tập_tin_chương_trình\t\t--file=tập_tin_chương_trình\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=điều phân cách trường\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "" "\t-v var=giá trị\t\t--assign=biến=giá_trị\n" -"(assign: gán)\n" +"(assign: gán, var: biến)\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "tùy chọn POSIX:\t\ttùy chọn dài GNU:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] giá_trị\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "\t-O\t\t\t--optimize\ttối ưu hoá\n" - -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\ttương thích\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\ttác quyền ngược\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" -msgstr "\t-W copyright\t\t--copyright\ttác quyền\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" +msgstr "" +"\t-W copyright\t\t--copyright\n" +"(tác quyền)\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "" "\t-W dump-variables[=tập_tin]\t--dump-variables[=tập_tin]\n" "(đổ các biến)\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "" +"\t-W source=program-text\t--source=program-text\n" +"(source: nguồn\n" +"program-text: đoạn chữ của chương trình)\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=tập_tin\t\t--exec=tập_tin\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "" "\t-W gen-po\t\t--gen-po\n" "(gen là viết tắt cho generate: tạo ra)\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" -msgstr "\t-W help\t\t\t--help\ttrợ giúp\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" +msgstr "" +"\t-W help\t\t\t--help\n" +"(trợ giúp)\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "" "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -"(fatal: nghiêm trọng)\n" +"(l? int là viết tắt cho integer: số nguyên\n" +"fatal: nghiêm trọng)\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "" "\t-W lint-old\t\t--lint-old\n" "(old: cũ)\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "" "\t-W non-decimal-data\t--non-decimal-data\n" "(dữ liệu khác thập phân)\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "" -"\t-W nostalgia\t\t--nostalgia\n" -"(nỗi luyến tiếc quá khứ)\n" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" msgstr "" -"\t-W parsedebug\t\t--parsedebug\n" -"(parse: phân tích\n" -"debug: gỡ lỗi)\n" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "" "\t-W profile[=tập_tin]\t--profile[=tập_tin]\n" "(profile: hồ sơ)\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "" "\t-W re-interval\t\t--re-interval\n" "(re-[động từ]: [làm] lại\n" "interval: thời gian giữa hai lúc)\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "" -"\t-W source=program-text\t--source=program-text\n" -"(source: nguồn\n" -"program-text: đoạn chữ của chương trình)\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\ttruyền thống\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\tcách sử dụng\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "" +"\t-W version\t\t--version\n" +"(phiên bản)\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "" +"\t-W nostalgia\t\t--nostalgia\n" +"(nỗi luyến tiếc quá khứ)\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\tphiên bản\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "" +"\t-W parsedebug\t\t--parsedebug\n" +"(parse: phân tách\n" +"debug: gỡ lỗi)\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1710,7 +1832,7 @@ msgstr "" "trong bản in.\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1720,7 +1842,7 @@ msgstr "" "Mặc định là nó đọc thiết bị nhập chuẩn và ghi ra thiết bị xuất chuẩn.\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1730,7 +1852,7 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1743,13 +1865,13 @@ msgid "" msgstr "" "Tác quyền © năm 1989, 1991-%d của Tổ chức Phần mềm Tự do.\n" "\n" -"Chương trình này là phần mềm tự do; bạn có thể phát hành lại nó và/hoặc sửa " -"đổi nó với điều kiện của Giấy Phép Công Cộng GNU như được xuất bản bởi Tổ " -"Chức Phần Mềm Tự Do; hoặc phiên bản 3 của Giấy Phép này, hoặc (tùy chọn) bất " -"kỳ phiên bản sau nào.\n" +"Chương trình này là phần mềm tự do; bạn có thể phân phối lại nó\n" +"và/hay sửa đổi nó với điều kiện của Bản Quyền Công Chung GNU (GPL)\n" +"như do Tổ chức Phần mềm Tự do xuất bản, hoặc phiên bản 3\n" +"của Bản Quyền, hoặc (tùy chọn) bất cứ phiên bản sau nào.\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1763,20 +1885,29 @@ msgstr "" "Hãy xem Bản Quyền Công Chung GNU (GPL) để tìm chi tiết.\n" "\n" -#: main.c:813 +#: main.c:864 +#, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" msgstr "" -"Bện nên đã nhận một bản sao của Giấy Phép Công Cộng GNU\n" -"cùng với chương trình này. Không thì xem địa chỉ « http://www.gnu.org/" -"licenses/ ».\n" +"Bện nên đã nhận một bản sao của Bản Quyền Công Chung GNU\n" +"cùng với chương trình này; nếu không, hãy viết thư cho\n" +"Tổ chức Phần mềm Tự do:\n" +"Free Software Foundation, Inc.,\n" +"51 Franklin Street, Fifth Floor,\n" +"Boston, MA 02110-1301, USA (Mỹ).\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft không đặt FS (hệ thống tập tin?) là tab trong awk POSIX" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1785,43 +1916,45 @@ msgstr "" "%s: đối số « %s » đối với « -v » không phải có dạng « biến=giá_trị »\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "« %s » không phải là tên biến hợp lệ" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "« %s » không phải là tên biến; đang tìm tập tin « %s=%s »" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "ngoại lệ điểm phù động" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "lỗi nghiêm trọng: lỗi nội bộ" -#: main.c:1206 +#: main.c:1260 +#, fuzzy msgid "fatal error: internal error: segfault" -msgstr "lỗi nghiêm trọng: lỗi nội bộ : lỗi chia ra từng đoạn" +msgstr "lỗi nghiêm trọng: lỗi nội bộ" -#: main.c:1218 +#: main.c:1272 +#, fuzzy msgid "fatal error: internal error: stack overflow" -msgstr "lỗi nghiêm trọng: lỗi nội bộ : tràn đống" +msgstr "lỗi nghiêm trọng: lỗi nội bộ" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "không có fd (chỉ thị tập tin?) %d đã mở trước" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" -msgstr "không thể mở sẵn « /dev/null » cho fd %d" +msgstr "không thể mở </dev/null> trước cho fd (chỉ thị tập tin?) %d" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "không tìm thấy nhóm: %s" @@ -1895,21 +2028,21 @@ msgstr "không thể mở « %s » để ghi: %s" msgid "internal error: %s with null vname" msgstr "lỗi nội bộ: %s với vname (tên biến?) vô giá trị" -#: profile.c:521 +#: profile.c:522 msgid "# treated internally as `delete'" -msgstr "# được xử lý nội bộ là « delete » (xoá)" +msgstr "# được xử lý nội bộ là « delete » (xoá bỏ)" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" -msgstr "# đây là một hàm mở rộng được nạp động" +msgstr "# đây là một chức năng mở rộng được tải động" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# hồ sơ gawk, được tạo %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1918,7 +2051,16 @@ msgstr "" "\t# khối BEGIN (bắt đầu)\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# khối BEGIN (bắt đầu)\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1927,33 +2069,47 @@ msgstr "" "\t# Quy tắc\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# khối END (kết thúc)\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" "\n" msgstr "" -"\t# khối END (cuối)\n" +"\t# khối END (kết thúc)\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" "\t# Functions, listed alphabetically\n" msgstr "" "\n" -"\t# Danh sách các hàm theo thứ tự abc\n" +"\t# Danh sách các chức năng theo thứ tự abc\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "gặp kiểu bất ngờ « %s » trong « prec_level » (cấp nằm trước?)" -#: profile.c:1527 -#, c-format +#: profile.c:1557 +#, fuzzy, c-format msgid "Unknown node type %s in pp_var" -msgstr "Không rõ loại nút %s trong pp_var" +msgstr "không biết kiểu nút %d" + +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" #: regcomp.c:132 msgid "Success" @@ -2026,3 +2182,137 @@ msgstr "Chưa khớp « ) » hay « \\) »" #: regcomp.c:699 msgid "No previous regular expression" msgstr "Không có biểu thức chính quy nằm trước" + +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: không cho phép tùy chọn « -- %c »\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "tập tin « %s » là thư mục" + +#~ msgid "can't open two way socket `%s' for input/output (%s)" +#~ msgstr "không thể mở ổ cắm hai chiều « %s » để nhập/xuất (%s)" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "" +#~ "\t-W compat\t\t--compat\n" +#~ "(compat là viết tắt cho compatible: tương thích)\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "" +#~ "\t-W copyleft\t\t--copyleft\n" +#~ "(tắc quyền ngược)\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "" +#~ "\t-W traditional\t\t--traditional\n" +#~ "(truyền thống)\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "" +#~ "\t-W usage\t\t--usage\n" +#~ "(cách sử dụng)\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: không có đối số" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "" +#~ "close: (đóng) « %.*s » không phải là tập tin được mở, ống dẫn hay tiến " +#~ "trình với nhau" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "" +#~ "close: (đóng) « %.*s » không phải là tập tin được mở, ống dẫn hay tiến " +#~ "trình với nhau" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "« %s » không phải là tên biến hợp lệ" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "hãy dùng « PROCINFO[\"%s\"] » (thông tin tiến trình) thay cho « %s »" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "" +#~ "hãy dùng « PROCINFO[...] » (thông tin tiến trình) thay cho </dev/user>" + +#~ msgid "delete: illegal use of variable `%s' as array" +#~ msgstr "delete: (xóa bỏ) không cho phép cách dùng biến «%s» là mảng" + +#~ msgid "asort: first argument is not an array" +#~ msgstr "asort: (sắp xếp) đối số đầu không phải là mảng" + +#~ msgid "asort: second argument is not an array" +#~ msgstr "asort: (sắp xếp) đối số thứ hai không phải là mảng" + +#~ msgid "" +#~ "\n" +#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n" +#~ msgstr "" +#~ "\n" +#~ "Để thông báo lỗi, hãy xem phần « Bugs » (lỗi) trong tập tin « gawk.info " +#~ "», \n" + +#~ msgid "invalid syntax in name `%s' for variable assignment" +#~ msgstr "cú pháp không hợp lệ trong tên « %s » đối với điều gán biến" + +#~ msgid "internal error: Node_var_array with null vname" +#~ msgstr "lỗi nội bộ: « Node_var_array » với vname (tên biến?) vô giá trị" + +#~ msgid "or used in other expression context" +#~ msgstr "hoặc được dùng trong ngữ cảnh biểu thức khác" + +#~ msgid "`%s' is a function, assignment is not allowed" +#~ msgstr "« %s » là một chức năng thì không cho phép gán" + +#~ msgid "BEGIN blocks must have an action part" +#~ msgstr "Mọi khối BEGIN (bắt đầu) phải có một phần kiểu hành động" + +#~ msgid "`nextfile' used in BEGIN or END action" +#~ msgstr "" +#~ "« nextfile » (tập tin kế tiếp) được dùng trong hành động « BEGIN » (bắt " +#~ "đầu) hay « END » (kết thúc)" + +#~ msgid "non-redirected `getline' undefined inside BEGIN or END action" +#~ msgstr "" +#~ "trong hành động « BEGIN » (đầu) hay « END » (kết thúc), có « getline » (lấy " +#~ "dòng) không được chuyển hướng lại và chưa được xác định." + +#~ msgid "fptr %x not in tokentab\n" +#~ msgstr "« fptr %x » không phải nằm trong « tokentab »\n" + +#~ msgid "gsub third parameter is not a changeable object" +#~ msgstr "tham số thứ ba gsub không phải là một đối tượng có thể thay đổi" + +#~ msgid "Unfinished \\ escape" +#~ msgstr "« \\ escape » (thoát) chưa xong" + +#~ msgid "unfinished repeat count" +#~ msgstr "việc đếm lại chưa xong" + +#~ msgid "malformed repeat count" +#~ msgstr "việc đếm lại dạng sai" + +#~ msgid "Unbalanced [" +#~ msgstr "Chưa cân bằng « [ »" + +#~ msgid "Unbalanced (" +#~ msgstr "Chưa cân bằng « ( »" + +#~ msgid "No regexp syntax bits specified" +#~ msgstr "Chưa ghi rõ bit cú pháp biểu thức chính quy" + +#~ msgid "Unbalanced )" +#~ msgstr "Chưa cân bằng « ) »" + +#~ msgid "field %d in FIELDWIDTHS, must be > 0" +#~ msgstr "trường %d trong « FIELDWIDTHS » phải là > 0" + +#~ msgid "function %s called\n" +#~ msgstr "chức năng « %s » được gọi\n" + +#~ msgid "internal error: file `%s', line %d\n" +#~ msgstr "lỗi nội bộ : tập tin « %s », dòng %d\n" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo Binary files differindex 77da89c5..c8edb72e 100644 --- a/po/zh_CN.gmo +++ b/po/zh_CN.gmo diff --git a/po/zh_CN.po b/po/zh_CN.po index d3051ff5..880924ae 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -2,16 +2,17 @@ # gawk 软件包的简体中文翻译. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the gawk package. -# LI Daobing <lidaobing@gmail.com>, 2007, 2009. +# LI Daobing <lidaobing@gmail.com>, 2007. # msgid "" msgstr "" -"Project-Id-Version: gawk 3.1.6c\n" +"Project-Id-Version: gawk 3.1.5f\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2010-05-06 20:57+0300\n" -"PO-Revision-Date: 2009-06-09 21:51+0800\n" +"POT-Creation-Date: 2010-11-12 12:20+0200\n" +"PO-Revision-Date: 2007-06-13 03:57+0800\n" "Last-Translator: LI Daobing <lidaobing@gmail.com>\n" -"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" +"Language-Team: Chinese (simplified) <translation-team-zh-cn@lists." +"sourceforge.net>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -76,323 +77,338 @@ msgstr "%s: 是参数\n" msgid "%s: array_ref to %s\n" msgstr "%s: 数组引用到 %s\n" -#: awkgram.y:218 +#: awkgram.y:224 awkgram.y:227 #, c-format msgid "%s blocks must have an action part" msgstr "%s 块必须有一个行为部分" -#: awkgram.y:221 +#: awkgram.y:230 msgid "each rule must have a pattern or an action part" msgstr "每个规则必须有一个模式或行为部分" -#: awkgram.y:257 awkgram.y:266 +#: awkgram.y:266 awkgram.y:275 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "老的 awk 不支持多个“BEGIN”或“END”规则" -#: awkgram.y:285 +#: awkgram.y:304 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "“%s”是内置函数,不能被重定义" -#: awkgram.y:331 +#: awkgram.y:350 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "正则表达式常量“//”看起来像 C++ 注释,但其实不是" -#: awkgram.y:334 +#: awkgram.y:353 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "正则表达式常量“/%s/”看起来像 C 注释,但其实不是" -#: awkgram.y:361 awkgram.y:656 +#: awkgram.y:380 awkgram.y:692 msgid "statement may have no effect" msgstr "表达式可能无任何效果" -#: awkgram.y:458 awkgram.y:482 +#: awkgram.y:477 awkgram.y:480 awkgram.y:504 awkgram.y:511 awkgram.y:518 #, c-format msgid "`%s' used in %s action" msgstr "“%s”被用于 %s 行为" -#: awkgram.y:473 awkgram.y:477 +#: awkgram.y:495 awkgram.y:499 msgid "`nextfile' is a gawk extension" msgstr "“nextfile”是 gawk 扩展" -#: awkgram.y:492 +#: awkgram.y:528 msgid "`return' used outside function context" msgstr "“return”在函数外使用" -#: awkgram.y:534 +#: awkgram.y:570 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "在 BEGIN 或 END 规则中,“print”也许应该写做“print \"\"”" -#: awkgram.y:550 awkgram.y:558 +#: awkgram.y:586 awkgram.y:594 msgid "`delete array' is a gawk extension" msgstr "“delete array”是 gawk 扩展" -#: awkgram.y:572 awkgram.y:580 +#: awkgram.y:608 awkgram.y:616 msgid "`delete(array)' is a non-portable tawk extension" msgstr "“delete(array)”是不可移植的 tawk 扩展" -#: awkgram.y:624 +#: awkgram.y:660 #, c-format msgid "duplicate case values in switch body: %s" msgstr "switch 中有重复的 case 值: %s" -#: awkgram.y:634 +#: awkgram.y:670 msgid "Duplicate `default' detected in switch body" msgstr "switch 中有重复的“default”" -#: awkgram.y:723 +#: awkgram.y:759 msgid "multistage two-way pipelines don't work" msgstr "多阶双向管道无法工作" -#: awkgram.y:814 +#: awkgram.y:850 msgid "regular expression on right of assignment" msgstr "正则表达式在赋值算符的右边" -#: awkgram.y:824 +#: awkgram.y:860 msgid "regular expression on left of `~' or `!~' operator" msgstr "正则表达式在“~”或“!~”算符的左边" -#: awkgram.y:830 awkgram.y:903 +#: awkgram.y:866 awkgram.y:954 msgid "old awk does not support the keyword `in' except after `for'" msgstr "老 awk 只支持关键词“in”在“for”的后面" -#: awkgram.y:836 +#: awkgram.y:872 msgid "regular expression on right of comparison" msgstr "正则表达式在比较算符的右边" -#: awkgram.y:893 +#: awkgram.y:936 +#, c-format +msgid "`getline var' invalid inside %s rule" +msgstr "" + +#: awkgram.y:939 +#, c-format +msgid "`getline' invalid inside %s rule" +msgstr "" + +#: awkgram.y:944 msgid "non-redirected `getline' undefined inside END action" msgstr "在 END 环境中,非重定向的“getline”未定义" -#: awkgram.y:904 +#: awkgram.y:955 msgid "old awk does not support multidimensional arrays" msgstr "老 awk 不支持多维数组" -#: awkgram.y:950 +#: awkgram.y:1001 msgid "call of `length' without parentheses is not portable" msgstr "不带括号调用“length”是不可以移植的" -#: awkgram.y:955 +#: awkgram.y:1006 msgid "call of `length' without parentheses is deprecated by POSIX" msgstr "POSIX 认为不带括号调用“length”是已过时的" -#: awkgram.y:1009 +#: awkgram.y:1051 +#, fuzzy +msgid "indirect function calls are a gawk extension" +msgstr "“extension”是 gawk 扩展" + +#: awkgram.y:1084 msgid "use of non-array as array" msgstr "把非数组做数组使用" -#: awkgram.y:1012 +#: awkgram.y:1087 msgid "invalid subscript expression" msgstr "无效的下标表达式" -#: awkgram.y:1257 +#: awkgram.y:1329 msgid "unexpected newline or end of string" msgstr "未预期的新行或字符串结束" -#: awkgram.y:1374 +#: awkgram.y:1446 msgid "empty program text on command line" msgstr "命令行中程序体为空" -#: awkgram.y:1430 +#: awkgram.y:1502 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "无法以读模式打开源文件“%s”(%s)" -#: awkgram.y:1528 +#: awkgram.y:1600 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "无法读取源文件“%s”(%s)" -#: awkgram.y:1536 +#: awkgram.y:1608 #, c-format msgid "source file `%s' is empty" msgstr "源文件“%s”为空" -#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330 +#: awkgram.y:1800 awkgram.y:1922 awkgram.y:1940 awkgram.y:2315 awkgram.y:2407 msgid "source file does not end in newline" msgstr "源文件不以换行符结束" -#: awkgram.y:1790 +#: awkgram.y:1862 msgid "unterminated regexp ends with `\\' at end of file" msgstr "未终止的正则表达式在文件结束处以“\\”结束" -#: awkgram.y:1814 +#: awkgram.y:1886 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "%s: %d: tawk 正则表达式修饰符“/.../%c”无法在 gawk 中工作" -#: awkgram.y:1818 +#: awkgram.y:1890 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "tawk 正则表达式修饰符“/.../%c”无法在 gawk 中工作" -#: awkgram.y:1825 +#: awkgram.y:1897 msgid "unterminated regexp" msgstr "未终止的正则表达式" -#: awkgram.y:1828 +#: awkgram.y:1900 msgid "unterminated regexp at end of file" msgstr "未终止的正则表达式在文件结束处" -#: awkgram.y:1897 +#: awkgram.y:1969 msgid "use of `\\ #...' line continuation is not portable" msgstr "使用“\\ #...”来续行是不可移植的" -#: awkgram.y:1910 +#: awkgram.y:1982 msgid "backslash not last character on line" msgstr "反斜杠不是行的最后一个字符" -#: awkgram.y:1955 +#: awkgram.y:2027 msgid "POSIX does not allow operator `**='" msgstr "POSIX 不允许操作符“**=”" -#: awkgram.y:1957 +#: awkgram.y:2029 msgid "old awk does not support operator `**='" msgstr "老 awk 不支持操作符“**=”" -#: awkgram.y:1966 +#: awkgram.y:2038 msgid "POSIX does not allow operator `**'" msgstr "POSIX 不允许操作符“**”" -#: awkgram.y:1968 +#: awkgram.y:2040 msgid "old awk does not support operator `**'" msgstr "老 awk 不支持操作符“**”" -#: awkgram.y:1999 +#: awkgram.y:2071 msgid "operator `^=' is not supported in old awk" msgstr "老 awk 不支持操作符“^=”" -#: awkgram.y:2007 +#: awkgram.y:2079 msgid "operator `^' is not supported in old awk" msgstr "老 awk 不支持操作符“^”" -#: awkgram.y:2091 awkgram.y:2106 +#: awkgram.y:2163 awkgram.y:2178 msgid "unterminated string" msgstr "未结束的字符串" -#: awkgram.y:2291 +#: awkgram.y:2368 #, c-format msgid "invalid char '%c' in expression" msgstr "表达式中的无效字符“%c”" -#: awkgram.y:2339 +#: awkgram.y:2416 #, c-format msgid "`%s' is a gawk extension" msgstr "“%s”是 gawk 扩展" -#: awkgram.y:2342 +#: awkgram.y:2419 #, c-format msgid "`%s' is a Bell Labs extension" msgstr "“%s”是贝尔实验室扩展" -#: awkgram.y:2345 +#: awkgram.y:2422 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX 不允许“%s”" -#: awkgram.y:2349 +#: awkgram.y:2426 #, c-format msgid "`%s' is not supported in old awk" msgstr "老 awk 不支持“%s”" -#: awkgram.y:2375 +#: awkgram.y:2452 msgid "`goto' considered harmful!\n" msgstr "“goto”有害!\n" -#: awkgram.y:2437 +#: awkgram.y:2514 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d 是 %s 的无效参数个数" -#: awkgram.y:2456 awkgram.y:2459 +#: awkgram.y:2533 awkgram.y:2536 msgid "match: third argument is a gawk extension" msgstr "match: 第三个参数是 gawk 扩展" -#: awkgram.y:2472 +#: awkgram.y:2549 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "%s: 字符串作为 substitute 的最后一个参数无任何效果" -#: awkgram.y:2475 +#: awkgram.y:2552 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s 第三个参数不是一个可变对象" -#: awkgram.y:2502 awkgram.y:2505 +#: awkgram.y:2586 awkgram.y:2589 msgid "close: second argument is a gawk extension" msgstr "close: 第二个参数是 gawk 扩展" -#: awkgram.y:2515 +#: awkgram.y:2599 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "使用 dcgettext(_\"...\") 是错误的: 去掉开始的下划线" -#: awkgram.y:2530 +#: awkgram.y:2614 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "使用 dcngettext(_\"...\") 是错误的: 去掉开始的下划线" -#: awkgram.y:2602 +#: awkgram.y:2686 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "函数“%s”: 第 %d 个参数, “%s”, 与第 %d 个参数重复" -#: awkgram.y:2635 +#: awkgram.y:2719 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "函数“%s”: 参数“%s”掩盖了公共变量" -#: awkgram.y:2747 +#: awkgram.y:2831 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "无法以写模式打开“%s”(%s)" -#: awkgram.y:2748 profile.c:96 +#: awkgram.y:2832 profile.c:96 msgid "sending profile to standard error" msgstr "发送配置到标准错误输出" -#: awkgram.y:2780 +#: awkgram.y:2864 #, c-format msgid "%s: close failed (%s)" msgstr "%s: 关闭失败(%s)" -#: awkgram.y:2901 +#: awkgram.y:2985 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() 被调用两次!" -#: awkgram.y:2928 +#: awkgram.y:3012 msgid "there were shadowed variables." msgstr "那里有被掩盖的变量。" -#: awkgram.y:3001 +#: awkgram.y:3085 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "函数“%s”: 无法使用函数名作为参数名" -#: awkgram.y:3004 -#, c-format +#: awkgram.y:3088 +#, fuzzy, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" -msgstr "函数“%s”: 无法使用特殊变量“%s”作为函数参数" +msgstr "函数“%s”: 无法使用函数名作为参数名" -#: awkgram.y:3014 +#: awkgram.y:3098 #, c-format msgid "function name `%s' previously defined" msgstr "函数名“%s”前面已定义" -#: awkgram.y:3165 awkgram.y:3171 +#: awkgram.y:3249 awkgram.y:3255 #, c-format msgid "function `%s' called but never defined" msgstr "函数“%s”被调用但重未被定义" -#: awkgram.y:3174 +#: awkgram.y:3258 #, c-format msgid "function `%s' defined but never called" msgstr "函数“%s”被定义但重未被调用" -#: awkgram.y:3201 +#: awkgram.y:3285 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "第 %d 个参数的正则表达式常量产生布尔值" -#: awkgram.y:3245 +#: awkgram.y:3329 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -401,12 +417,12 @@ msgstr "" "函数“%s”被调用时名字与“(”间有空格,\n" "或被用作变量或数组" -#: awkgram.y:3664 +#: awkgram.y:3750 #, fuzzy msgid "division by zero attempted in `/'" msgstr "在“/=”中试图除0" -#: awkgram.y:3669 eval.c:1394 +#: awkgram.y:3755 eval.c:1411 #, c-format msgid "division by zero attempted in `%%'" msgstr "在“%%”中试图除0" @@ -470,6 +486,7 @@ msgid "length: untyped parameter argument will be forced to scalar" msgstr "length: 无类型的参数会被强制转换为标量" #: builtin.c:480 +#, fuzzy msgid "length: untyped argument will be forced to scalar" msgstr "length: 无类型的参数会被强制转换为标量" @@ -493,17 +510,17 @@ msgstr "要么在所有格式上使用“count$”,要么完全不使用" #: builtin.c:790 #, c-format msgid "field width is ignored for `%%%%' specifier" -msgstr "“%%%%”的字段宽度被忽略" +msgstr "" #: builtin.c:792 #, c-format msgid "precision is ignored for `%%%%' specifier" -msgstr "“%%%%”的精度被忽略" +msgstr "" #: builtin.c:794 #, c-format msgid "field width and precision are ignored for `%%%%' specifier" -msgstr "“%%%%”的字段宽度和精度被忽略" +msgstr "" #: builtin.c:845 msgid "`$' is not permitted in awk formats" @@ -558,7 +575,7 @@ msgstr "[s]printf: 值 %g 对“%%%c”格式来说超出范围" #: builtin.c:1332 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" -msgstr "忽略位置的格式化字符“%c”: 无参数被转化" +msgstr "" #: builtin.c:1338 msgid "not enough arguments to satisfy format string" @@ -654,279 +671,325 @@ msgstr "mktime: 收到非字符串参数" msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1783 +#: builtin.c:1781 +msgid "'system' function not allowed in sandbox mode" +msgstr "" + +#: builtin.c:1786 msgid "system: received non-string argument" msgstr "system: 收到非字符串参数" -#: builtin.c:1904 eval.c:2157 +#: builtin.c:1907 eval.c:2285 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "引用未初始化的字段“$%d”" -#: builtin.c:2009 +#: builtin.c:2012 msgid "tolower: received non-string argument" msgstr "tolower: 收到非字符串参数" -#: builtin.c:2039 +#: builtin.c:2042 msgid "toupper: received non-string argument" msgstr "toupper: 收到非字符串参数" -#: builtin.c:2072 +#: builtin.c:2075 msgid "atan2: received non-numeric first argument" msgstr "atan2: 第一个参数不是数字" -#: builtin.c:2074 +#: builtin.c:2077 msgid "atan2: received non-numeric second argument" msgstr "atan2: 第二个参数不是数字" -#: builtin.c:2093 +#: builtin.c:2096 msgid "sin: received non-numeric argument" msgstr "sin: 收到非数字参数" -#: builtin.c:2109 +#: builtin.c:2112 msgid "cos: received non-numeric argument" msgstr "cos: 收到非数字参数" -#: builtin.c:2162 +#: builtin.c:2165 msgid "srand: received non-numeric argument" msgstr "srand: 收到非数字参数" -#: builtin.c:2197 +#: builtin.c:2200 msgid "match: third argument is not an array" msgstr "match: 第三个参数不是数组" -#: builtin.c:2744 +#: builtin.c:2750 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: 第三个参数 0 被当作 1" -#: builtin.c:2860 +#: builtin.c:2866 msgid "lshift: received non-numeric first argument" msgstr "lshift: 第一个参数不是数字" -#: builtin.c:2862 +#: builtin.c:2868 msgid "lshift: received non-numeric second argument" msgstr "lshift: 第二个参数不是数字" -#: builtin.c:2868 +#: builtin.c:2874 #, c-format msgid "lshift(%lf, %lf): negative values will give strange results" msgstr "lshift(%lf, %lf): 负值会得到奇怪的结果" -#: builtin.c:2870 +#: builtin.c:2876 #, c-format msgid "lshift(%lf, %lf): fractional values will be truncated" msgstr "lshift(%lf, %lf): 小数部分会被截断" -#: builtin.c:2872 +#: builtin.c:2878 #, c-format msgid "lshift(%lf, %lf): too large shift value will give strange results" msgstr "lshift(%lf, %lf): 过大的移位会得到奇怪的结果" -#: builtin.c:2898 +#: builtin.c:2904 msgid "rshift: received non-numeric first argument" msgstr "rshift: 第一个参数不是数字" -#: builtin.c:2900 +#: builtin.c:2906 msgid "rshift: received non-numeric second argument" msgstr "rshift: 第二个参数不是数字" -#: builtin.c:2906 +#: builtin.c:2912 #, c-format msgid "rshift(%lf, %lf): negative values will give strange results" msgstr "rshift(%lf, %lf): 负值会得到奇怪的结果" -#: builtin.c:2908 +#: builtin.c:2914 #, c-format msgid "rshift(%lf, %lf): fractional values will be truncated" msgstr "rshift(%lf, %lf): 小数部分会被截断" -#: builtin.c:2910 +#: builtin.c:2916 #, c-format msgid "rshift(%lf, %lf): too large shift value will give strange results" msgstr "rshift(%lf, %lf): 过大的移位会得到奇怪的结果" -#: builtin.c:2936 +#: builtin.c:2942 msgid "and: received non-numeric first argument" msgstr "and: 第一个参数不是数字" -#: builtin.c:2938 +#: builtin.c:2944 msgid "and: received non-numeric second argument" msgstr "and: 第二个参数不是数字" -#: builtin.c:2944 +#: builtin.c:2950 #, c-format msgid "and(%lf, %lf): negative values will give strange results" msgstr "and(%lf, %lf): 负值会得到奇怪的结果" -#: builtin.c:2946 +#: builtin.c:2952 #, c-format msgid "and(%lf, %lf): fractional values will be truncated" msgstr "and(%lf, %lf): 小数部分会被截断" -#: builtin.c:2972 +#: builtin.c:2978 msgid "or: received non-numeric first argument" msgstr "or: 第一个参数不是数字" -#: builtin.c:2974 +#: builtin.c:2980 msgid "or: received non-numeric second argument" msgstr "or: 第二个参数不是数字" -#: builtin.c:2980 +#: builtin.c:2986 #, c-format msgid "or(%lf, %lf): negative values will give strange results" msgstr "or(%lf, %lf): 负值会得到奇怪的结果" -#: builtin.c:2982 +#: builtin.c:2988 #, c-format msgid "or(%lf, %lf): fractional values will be truncated" msgstr "or(%lf, %lf): 小数部分会被截断" -#: builtin.c:3008 +#: builtin.c:3014 msgid "xor: received non-numeric first argument" msgstr "xor: 第一个参数不是数字" -#: builtin.c:3010 +#: builtin.c:3016 msgid "xor: received non-numeric second argument" msgstr "xor: 第二个参数不是数字" -#: builtin.c:3016 +#: builtin.c:3022 #, c-format msgid "xor(%lf, %lf): negative values will give strange results" msgstr "xor(%lf, %lf): 负值会得到奇怪的结果" -#: builtin.c:3018 +#: builtin.c:3024 #, c-format msgid "xor(%lf, %lf): fractional values will be truncated" msgstr "xor(%lf, %lf): 小数部分会被截断" -#: builtin.c:3042 +#: builtin.c:3048 msgid "compl: received non-numeric argument" msgstr "compl: 收到非数字参数" -#: builtin.c:3048 +#: builtin.c:3054 #, c-format msgid "compl(%lf): negative value will give strange results" msgstr "compl(%lf): 负值会得到奇怪的结果" -#: builtin.c:3050 +#: builtin.c:3056 #, c-format msgid "compl(%lf): fractional value will be truncated" msgstr "compl(%lf): 小数部分会被截断" -#: builtin.c:3223 +#: builtin.c:3229 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: “%s”不是一个合理的本地化目录" -#: eval.c:372 +#: eval.c:374 #, c-format msgid "unknown nodetype %d" msgstr "未知的结点类型 %d" -#: eval.c:422 +#: eval.c:423 msgid "buffer overflow in genflags2str" msgstr "genflags2str 时缓冲区溢出" -#: eval.c:454 eval.c:460 profile.c:785 +#: eval.c:455 eval.c:461 profile.c:787 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "试图在标量环境中使用数组“%s”" -#: eval.c:802 +#: eval.c:803 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "for loop: 数组“%s”在循环执行时大小从 %ld 改变为 %ld" -#: eval.c:823 +#: eval.c:824 msgid "`break' outside a loop is not portable" msgstr "“break”在循环外使用是不可移植的" -#: eval.c:827 +#: eval.c:828 msgid "`break' outside a loop is not allowed" msgstr "“break”在循环外使用是不允许的" -#: eval.c:844 +#: eval.c:845 msgid "`continue' outside a loop is not portable" msgstr "“continue”在循环外使用是不可移植的" -#: eval.c:848 +#: eval.c:849 msgid "`continue' outside a loop is not allowed" msgstr "“continue”在循环外使用是不允许的" -#: eval.c:882 +#: eval.c:883 msgid "`next' cannot be called from a BEGIN rule" msgstr "在 BEGIN 规则中不允许调用“next”" -#: eval.c:884 +#: eval.c:885 msgid "`next' cannot be called from an END rule" msgstr "在 END 规则中不允许调用“next”" -#: eval.c:893 +#: eval.c:887 +#, fuzzy +msgid "`next' cannot be called from a BEGINFILE rule" +msgstr "在 BEGIN 规则中不允许调用“next”" + +#: eval.c:889 +#, fuzzy +msgid "`next' cannot be called from an ENDFILE rule" +msgstr "在 END 规则中不允许调用“next”" + +#: eval.c:898 msgid "`nextfile' cannot be called from a BEGIN rule" msgstr "在 BEGIN 规则中不允许调用“nextfile”" -#: eval.c:895 +#: eval.c:900 msgid "`nextfile' cannot be called from an END rule" msgstr "在 END 规则中不允许调用“nextfile”" -#: eval.c:952 +#: eval.c:906 +#, fuzzy +msgid "`nextfile' cannot be called from an ENDFILE rule" +msgstr "在 END 规则中不允许调用“nextfile”" + +#: eval.c:963 msgid "statement has no effect" msgstr "表达式无任何作用" -#: eval.c:1029 eval.c:2011 +#: eval.c:1040 eval.c:2133 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "无法使用函数名“%s”作为变量或数组" -#: eval.c:1036 eval.c:1042 +#: eval.c:1047 eval.c:1053 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "引用未初始化的参数“%s”" -#: eval.c:1051 eval.c:2020 +#: eval.c:1062 eval.c:2142 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "引用未初始化的变量“%s”" -#: eval.c:1197 +#: eval.c:1210 msgid "" "concatenation: side effects in one expression have changed the length of " "another!" msgstr "concatenation: 一个表达式的额外效应已改变另一个的长度!" -#: eval.c:1301 +#: eval.c:1315 msgid "assignment used in conditional context" msgstr "在条件表达式中赋值" -#: eval.c:1379 +#: eval.c:1396 msgid "division by zero attempted" msgstr "试图除0" -#: eval.c:1409 profile.c:661 +#: eval.c:1426 profile.c:663 #, c-format msgid "illegal type (%s) in tree_eval" msgstr "tree_eval 中的非法类型 (%s)" -#: eval.c:1572 +#: eval.c:1589 msgid "division by zero attempted in `/='" msgstr "在“/=”中试图除0" -#: eval.c:1594 +#: eval.c:1611 #, c-format msgid "division by zero attempted in `%%='" msgstr "在“%%=”中试图除0" -#: eval.c:1871 +#: eval.c:1891 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "函数“%s”被调用时提供了比声明时更多的参数" -#: eval.c:1916 +#: eval.c:1948 #, c-format msgid "function `%s' not defined" msgstr "函数“%s”未定义" -#: eval.c:1983 +#: eval.c:1950 +#, c-format +msgid "identifier `%s' is not a function" +msgstr "" + +#: eval.c:1997 +#, c-format +msgid "" +"function parameter `%s' is not a scalar and cannot be used for indirect " +"function call" +msgstr "" + +#: eval.c:2014 +#, c-format +msgid "indirect call of real function `%s' is silly" +msgstr "" + +#: eval.c:2034 +#, c-format +msgid "function `%s' called indirectly through `%s' does not exist" +msgstr "" + +#: eval.c:2039 +#, c-format +msgid "identifier `%s' cannot be used for indirect function call" +msgstr "" + +#: eval.c:2105 #, c-format msgid "" "\n" @@ -937,158 +1000,193 @@ msgstr "" "\t# 函数调用栈:\n" "\n" -#: eval.c:1986 +#: eval.c:2108 #, c-format msgid "\t# -- main --\n" msgstr "\t# -- main --\n" -#: eval.c:2141 +#: eval.c:2269 msgid "attempt to field reference from non-numeric value" msgstr "试图从非数值引用字段编号" -#: eval.c:2143 +#: eval.c:2271 msgid "attempt to reference from null string" msgstr "试图从空字符串引用" -#: eval.c:2149 +#: eval.c:2277 #, c-format msgid "attempt to access field %d" msgstr "试图访问字段 %d" -#: eval.c:2170 eval.c:2177 profile.c:840 +#: eval.c:2298 eval.c:2305 profile.c:843 msgid "assignment is not allowed to result of builtin function" msgstr "不允许对内置函数的结果赋值" -#: eval.c:2241 +#: eval.c:2369 msgid "`IGNORECASE' is a gawk extension" msgstr "“IGNORECASE”是 gawk 扩展" -#: eval.c:2270 +#: eval.c:2398 msgid "`BINMODE' is a gawk extension" msgstr "“BINMODE”是 gawk 扩展" -#: eval.c:2328 +#: eval.c:2456 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" -msgstr "BINMODE 值 “%s” 非法,按 3 处理" +msgstr "" -#: eval.c:2418 +#: eval.c:2546 #, c-format msgid "bad `%sFMT' specification `%s'" msgstr "错误的“%sFMT”实现“%s”" -#: eval.c:2496 +#: eval.c:2624 msgid "turning off `--lint' due to assignment to `LINT'" msgstr "由于对“LINT”赋值所以关闭“--lint”" -#: ext.c:62 ext.c:67 +#: ext.c:61 +msgid "extensions not allowed in sandbox mode" +msgstr "" + +#: ext.c:65 ext.c:70 msgid "`extension' is a gawk extension" msgstr "“extension”是 gawk 扩展" -#: ext.c:77 +#: ext.c:80 #, c-format msgid "extension: cannot open `%s' (%s)\n" msgstr "extension: 无法打开 “%s”(%s)\n" -#: ext.c:85 +#: ext.c:88 #, c-format msgid "extension: library `%s': cannot call function `%s' (%s)\n" msgstr "extension: 库“%s”: 无法调用函数“%s”(%s)\n" -#: ext.c:105 +#: ext.c:108 msgid "extension: missing function name" msgstr "extension: 缺少函数名" -#: ext.c:110 +#: ext.c:113 #, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: 函数名“%2$s”中有非法字符“%1$c”" -#: ext.c:116 +#: ext.c:119 #, c-format msgid "extension: can't redefine function `%s'" msgstr "extension: 无法重定义函数“%s”" -#: ext.c:120 +#: ext.c:123 #, c-format msgid "extension: function `%s' already defined" msgstr "extension: 函数“%s”已经被定义" -#: ext.c:125 +#: ext.c:128 #, c-format msgid "extension: can't use gawk built-in `%s' as function name" msgstr "extension: 无法使用 gawk 内置的 “%s” 作为函数名" -#: ext.c:127 +#: ext.c:130 #, c-format msgid "extension: function name `%s' previously defined" msgstr "extension: 函数名“%s”前面已被定义" -#: ext.c:204 +#: ext.c:207 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "函数“%s”被定义为支持不超过 %d 个参数" -#: ext.c:207 +#: ext.c:210 #, c-format msgid "function `%s': missing argument #%d" msgstr "函数“%s”: 缺少第 %d 个参数" -#: ext.c:217 +#: ext.c:220 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "函数“%s”: 第 %d 个参数: 试图把标量当作数组使用" -#: ext.c:221 +#: ext.c:224 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "函数“%s”: 第 %d 个参数: 试图把数组当标量使用" -#: ext.c:246 +#: ext.c:249 msgid "Operation Not Supported" msgstr "操作不被支持" -#: field.c:330 +#: field.c:328 msgid "NF set to negative value" msgstr "NF 被设置为负值" -#: field.c:875 +#: field.c:913 msgid "split: second argument is not an array" msgstr "split: 第二个参数不是数组" -#: field.c:909 -msgid "split: null string for third arg is a gawk extension" +#: field.c:922 field.c:932 field.c:937 +#, fuzzy +msgid "split: fourth argument is a gawk extension" +msgstr "match: 第三个参数是 gawk 扩展" + +#: field.c:928 +#, fuzzy +msgid "split: fourth argument is not an array" +msgstr "split: 第二个参数不是数组" + +#: field.c:975 +#, fuzzy +msgid "split: null string for third argument is a gawk extension" msgstr "split: 第三个参数为空是 gawk 扩展" -#: field.c:961 +#: field.c:1032 +#, fuzzy +msgid "patsplit: second argument is not an array" +msgstr "split: 第二个参数不是数组" + +#: field.c:1041 +#, fuzzy +msgid "patsplit: fourth argument is not an array" +msgstr "split: 第二个参数不是数组" + +#: field.c:1067 +#, fuzzy +msgid "patsplit: third argument must be non-null" +msgstr "match: 第三个参数不是数组" + +#: field.c:1111 msgid "`FIELDWIDTHS' is a gawk extension" msgstr "“FIELDWIDTHS”是 gawk 扩展" -#: field.c:991 field.c:1005 +#: field.c:1141 field.c:1155 #, c-format msgid "invalid FIELDWIDTHS value, near `%s'" msgstr "“%s”附近 FIELDWIDTHS 值无效" -#: field.c:1088 +#: field.c:1238 msgid "null string for `FS' is a gawk extension" msgstr "把“FS”设为空字符串是 gawk 扩展" -#: field.c:1092 +#: field.c:1242 msgid "old awk does not support regexps as value of `FS'" msgstr "老 awk 不支持把“FS”设置为正则表达式" +#: field.c:1357 +#, fuzzy +msgid "`FPAT' is a gawk extension" +msgstr "“%s”是 gawk 扩展" + #: getopt.c:574 getopt.c:590 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s: 选项“%s”有歧义\n" #: getopt.c:623 getopt.c:627 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" msgstr "%s: 选项“--%s”不允许有参数\n" #: getopt.c:636 getopt.c:641 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" msgstr "%s: 选项“%c%s”不允许有参数\n" @@ -1098,32 +1196,32 @@ msgid "%s: option '--%s' requires an argument\n" msgstr "%s: 选项“%s”需要一个参数\n" #: getopt.c:741 getopt.c:744 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s: 无法识别选项“--%s”\n" #: getopt.c:752 getopt.c:755 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s: 无法识别选项“%c%s”\n" #: getopt.c:804 getopt.c:807 -#, c-format +#, fuzzy, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: 无效选项 -- “%c”\n" +msgstr "%s: 无效选项 -- %c\n" #: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100 -#, c-format +#, fuzzy, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: 选项需要一个参数 -- “%c”\n" +msgstr "%s: 选项需要一个参数 -- %c\n" #: getopt.c:930 getopt.c:946 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s: 选项“-W %s”有歧义\n" #: getopt.c:970 getopt.c:988 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s: 选项“-W %s”不允许参数\n" @@ -1132,483 +1230,500 @@ msgstr "%s: 选项“-W %s”不允许参数\n" msgid "%s: option '-W %s' requires an argument\n" msgstr "%s: 选项“%s”需要一个参数\n" -#: io.c:322 io.c:352 +#: io.c:379 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "" + +#: io.c:413 #, c-format msgid "cannot open file `%s' for reading (%s)" msgstr "无法以读模式打开文件“%s”(%s)" -#: io.c:443 +#: io.c:459 io.c:2999 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "读取输入文件“%s”时出错: %s" + +#: io.c:506 #, c-format msgid "close of fd %d (`%s') failed (%s)" msgstr "关闭文件号 %d (“%s”)失败(%s)" -#: io.c:583 +#: io.c:617 +msgid "redirection not allowed in sandbox mode" +msgstr "" + +#: io.c:648 #, c-format msgid "invalid tree type %s in redirect()" msgstr "在 redirect() 中的无效的树类型 %s" -#: io.c:589 +#: io.c:654 #, c-format msgid "expression in `%s' redirection only has numeric value" msgstr "“%s”重定向中的表达式只有数字值" -#: io.c:595 +#: io.c:660 #, c-format msgid "expression for `%s' redirection has null string value" msgstr "“%s”重定向中的表达式是空字符串" -#: io.c:600 +#: io.c:665 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" msgstr "“%2$s”重定向中的文件名“%1$s”可能是逻辑表达式的结果" -#: io.c:638 +#: io.c:707 #, c-format msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" msgstr "在文件“%.*s”中不必要的混合使用“>”和“>>”" -#: io.c:685 +#: io.c:754 #, c-format msgid "can't open pipe `%s' for output (%s)" msgstr "无法为输出打开管道“%s”(%s)" -#: io.c:694 +#: io.c:763 #, c-format msgid "can't open pipe `%s' for input (%s)" msgstr "无法为输入打开管道“%s”(%s)" -#: io.c:717 +#: io.c:786 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" msgstr "无法为输入/输出打开双向管道“%s”(%s)" -#: io.c:795 +#: io.c:864 #, c-format msgid "can't redirect from `%s' (%s)" msgstr "无法自“%s”重定向(%s)" -#: io.c:798 +#: io.c:867 #, c-format msgid "can't redirect to `%s' (%s)" msgstr "无法重定向到“%s”(%s)" -#: io.c:851 +#: io.c:920 msgid "" "reached system limit for open files: starting to multiplex file descriptors" msgstr "打开的文件数达到系统限制: 开始复用文件描述符" -#: io.c:867 +#: io.c:936 #, c-format msgid "close of `%s' failed (%s)." msgstr "关闭“%s”失败(%s)。" -#: io.c:875 +#: io.c:944 msgid "too many pipes or input files open" msgstr "打开过多管道或输入文件" -#: io.c:898 +#: io.c:967 msgid "close: second argument must be `to' or `from'" msgstr "close: 第二个参数必须是“to”或“from”" -#: io.c:912 +#: io.c:981 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: “%.*s”不是一个已打开文件、管道或合作进程" -#: io.c:917 +#: io.c:986 msgid "close of redirection that was never opened" msgstr "关闭一个从未被打开的重定向" -#: io.c:1014 +#: io.c:1083 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" msgstr "close: 重定向“%s”不是用“|&”打开,第二个参数被忽略" -#: io.c:1030 +#: io.c:1099 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "关闭管道“%2$s”时失败,失败状态为(%1$d)(%3$s)" -#: io.c:1033 +#: io.c:1102 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "关闭文件“%2$s”时失败,失败状态为(%1$d)(%3$s)" -#: io.c:1053 +#: io.c:1122 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "未显式关闭端口“%s”" -#: io.c:1056 +#: io.c:1125 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "未显式关闭合作进程“%s”" -#: io.c:1059 +#: io.c:1128 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "未显式关闭管道“%s”" -#: io.c:1062 +#: io.c:1131 #, c-format msgid "no explicit close of file `%s' provided" msgstr "未显式关闭文件“%s”" -#: io.c:1090 io.c:1145 main.c:781 main.c:823 +#: io.c:1159 io.c:1214 main.c:832 main.c:874 #, c-format msgid "error writing standard output (%s)" msgstr "向标准输出写时发生错误 (%s)" -#: io.c:1094 io.c:1150 +#: io.c:1163 io.c:1219 #, c-format msgid "error writing standard error (%s)" msgstr "向标准错误输出写时发生错误 (%s)" -#: io.c:1102 +#: io.c:1171 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "刷新管道“%s”时出错(%s)。" -#: io.c:1105 +#: io.c:1174 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "刷新合作进程管道“%s”时出错(%s)。" -#: io.c:1108 +#: io.c:1177 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "刷新文件“%s”时出错(%s)。" -#: io.c:1222 +#: io.c:1292 #, c-format msgid "local port %s invalid in `/inet'" msgstr "本地端口 %s 在“/inet”中无效" -#: io.c:1239 +#: io.c:1309 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "远程主机和端口信息 (%s, %s) 无效" -#: io.c:1274 +#: io.c:1344 msgid "/inet/raw client not ready yet, sorry" msgstr "/inet/raw 客户端未准备好,对不起" -#: io.c:1277 io.c:1313 +#: io.c:1347 io.c:1383 msgid "only root may use `/inet/raw'." msgstr "仅 root 能使用 “/inet/raw”" -#: io.c:1311 +#: io.c:1381 msgid "/inet/raw server not ready yet, sorry" msgstr "/inet/raw 服务器未准备好,对不起" -#: io.c:1409 +#: io.c:1477 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "未提供特殊文件名的“%s”的访问协议" -#: io.c:1423 +#: io.c:1491 #, c-format msgid "special file name `%s' is incomplete" msgstr "特殊文件名“%s”是不完整的" -#: io.c:1438 +#: io.c:1506 msgid "must supply a remote hostname to `/inet'" msgstr "必须提供远程主机名给“/inet”" -#: io.c:1456 +#: io.c:1524 msgid "must supply a remote port to `/inet'" msgstr "必须提供远程端口给“/inet”" -#: io.c:1502 +#: io.c:1570 msgid "TCP/IP communications are not supported" msgstr "TCP/IP 通讯不被支持" -#: io.c:1511 -#, c-format -msgid "file `%s' is a directory" -msgstr "文件“%s”是一个目录" - -#: io.c:1572 -#, c-format -msgid "use `PROCINFO[\"%s\"]' instead of `%s'" -msgstr "使用“PROCINFO[\"%s\"]”而不是“%s”" - -#: io.c:1610 -msgid "use `PROCINFO[...]' instead of `/dev/user'" -msgstr "使用“PROCINFO[...]”而不是“/dev/user”" - -#: io.c:1675 io.c:1872 +#: io.c:1758 #, c-format msgid "could not open `%s', mode `%s'" msgstr "无法以模式“%2$s”打开“%1$s”" -#: io.c:1923 +#: io.c:1809 #, c-format msgid "close of master pty failed (%s)" msgstr "关闭主 pty 失败(%s)" -#: io.c:1925 io.c:2077 io.c:2228 +#: io.c:1811 io.c:1963 io.c:2114 #, c-format msgid "close of stdout in child failed (%s)" msgstr "在子进程中关闭标准输出失败(%s)" -#: io.c:1928 +#: io.c:1814 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "在子进程中将从 pty 改为标准输出失败(dup: %s)" -#: io.c:1930 io.c:2082 +#: io.c:1816 io.c:1968 #, c-format msgid "close of stdin in child failed (%s)" msgstr "在子进程中关闭标准输入失败(%s)" -#: io.c:1933 +#: io.c:1819 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "在子进程中将从 pty 改为标准输入失败(dup: %s)" -#: io.c:1935 io.c:1954 +#: io.c:1821 io.c:1840 #, c-format msgid "close of slave pty failed (%s)" msgstr "关闭从 pty 失败(%s)" -#: io.c:2028 io.c:2080 io.c:2209 io.c:2231 +#: io.c:1914 io.c:1966 io.c:2095 io.c:2117 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "在子进程中将管道改为标准输出失败(dup: %s)" -#: io.c:2032 io.c:2085 +#: io.c:1918 io.c:1971 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "在子进程中将管道改为标准输入失败(dup: %s)" -#: io.c:2049 io.c:2222 +#: io.c:1935 io.c:2108 msgid "restoring stdout in parent process failed\n" msgstr "在父进程中恢复标准输出失败\n" -#: io.c:2054 +#: io.c:1940 msgid "restoring stdin in parent process failed\n" msgstr "在父进程中恢复标准输入失败\n" -#: io.c:2088 io.c:2233 io.c:2244 +#: io.c:1974 io.c:2119 io.c:2130 #, c-format msgid "close of pipe failed (%s)" msgstr "关闭管道失败(%s)" -#: io.c:2133 +#: io.c:2019 msgid "`|&' not supported" msgstr "“|&”不被支持" -#: io.c:2199 +#: io.c:2085 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "无法打开管道“%s”(%s)" -#: io.c:2240 +#: io.c:2126 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "无法为“%s”创建子进程(fork: %s)" -#: io.c:2622 +#: io.c:2518 #, c-format msgid "data file `%s' is empty" msgstr "数据文件“%s”为空" -#: io.c:2663 io.c:2671 +#: io.c:2560 io.c:2568 msgid "could not allocate more input memory" msgstr "无法分配更多的输入内存" -#: io.c:3039 io.c:3112 -#, c-format -msgid "error reading input file `%s': %s" -msgstr "读取输入文件“%s”时出错: %s" - -#: io.c:3237 +#: io.c:3125 msgid "multicharacter value of `RS' is a gawk extension" msgstr "“RS”设置为多字符是 gawk 扩展" -#: main.c:306 +#: main.c:313 msgid "out of memory" -msgstr "内存不足" +msgstr "" -#: main.c:374 +#: main.c:381 msgid "`-m[fr]' option irrelevant in gawk" msgstr "“-m[fr]”选项在 gawk 中不相关" -#: main.c:376 +#: main.c:383 msgid "-m option usage: `-m[fr] nnn'" msgstr "-m 选项用法: “-m[fr] nnn”" -#: main.c:393 +#: main.c:419 +#, fuzzy +msgid "empty argument to `-e/--source' ignored" +msgstr "“--source”的空参数被忽略" + +#: main.c:485 #, c-format msgid "%s: option `-W %s' unrecognized, ignored\n" msgstr "%s: 选项“-W %s”无法识别,忽略\n" -#: main.c:434 -msgid "empty argument to `--source' ignored" -msgstr "“--source”的空参数被忽略" - -#: main.c:488 +#: main.c:530 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: 选项需要一个参数 -- %c\n" -#: main.c:509 +#: main.c:551 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" msgstr "环境变量“POSIXLY_CORRECT”被设置: 打开“--posix”" -#: main.c:515 +#: main.c:557 msgid "`--posix' overrides `--traditional'" msgstr "“--posix”覆盖“--traditional”" -#: main.c:526 +#: main.c:568 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" msgstr "“--posix”或“--traditional”覆盖“--non-decimal-data”" -#: main.c:530 +#: main.c:572 #, c-format msgid "running %s setuid root may be a security problem" msgstr "以设置 root ID 方式运行“%s”可能存在安全漏洞" -#: main.c:571 +#: main.c:577 +#, fuzzy +msgid "`--posix' overrides `--binary'" +msgstr "“--posix”覆盖“--traditional”" + +#: main.c:622 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "无法在标准输入上设置二进制模式(%s)" -#: main.c:574 +#: main.c:625 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "无法在标准输出上设置二进制模式(%s)" -#: main.c:576 +#: main.c:627 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "无法在标准错误输出上设置二进制模式(%s)" -#: main.c:617 +#: main.c:668 msgid "no program text at all!" msgstr "完全没有程序正文!" -#: main.c:721 +#: main.c:773 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "用法: %s [POSIX 或 GNU 风格选项] -f 脚本文件 [--] 文件 ...\n" -#: main.c:723 +#: main.c:775 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "用法: %s [POSIX 或 GNU 风格选项] [--] %c程序%c 文件 ...\n" -#: main.c:728 -msgid "POSIX options:\t\tGNU long options:\n" +#: main.c:780 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX 选项: \t\tGNU 长选项:\n" -#: main.c:729 +#: main.c:781 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f 脚本文件\t\t--file=脚本文件\n" -#: main.c:730 +#: main.c:782 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:731 +#: main.c:783 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=val\t\t--assign=var=val\n" -#: main.c:732 +#: main.c:784 +#, fuzzy +msgid "POSIX options:\t\tGNU long options: (extensions)\n" +msgstr "POSIX 选项: \t\tGNU 长选项:\n" + +#: main.c:785 msgid "\t-m[fr] val\n" msgstr "\t-m[fr] val\n" -#: main.c:733 -msgid "\t-O\t\t\t--optimize\n" -msgstr "\t-O\t\t\t--optimize\n" - -#: main.c:734 -msgid "\t-W compat\t\t--compat\n" -msgstr "\t-W compat\t\t--compat\n" +#: main.c:786 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "" -#: main.c:735 -msgid "\t-W copyleft\t\t--copyleft\n" -msgstr "\t-W copyleft\t\t--copyleft\n" +#: main.c:787 +msgid "\t-c\t\t\t--compat, --traditional\n" +msgstr "" -#: main.c:736 -msgid "\t-W copyright\t\t--copyright\n" +#: main.c:788 +#, fuzzy +msgid "\t-C\t\t\t--copyleft, --copyright\n" msgstr "\t-W copyright\t\t--copyright\n" -#: main.c:737 -msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n" +#: main.c:789 +#, fuzzy +msgid "\t-d [file]\t\t--dump-variables[=file]\n" msgstr "\t-W dump-variables[=file]\t--dump-variables[=file]\n" -#: main.c:738 -msgid "\t-W exec=file\t\t--exec=file\n" +#: main.c:790 +#, fuzzy +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-W source=program-text\t--source=program-text\n" + +#: main.c:791 +#, fuzzy +msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-W exec=file\t\t--exec=file\n" -#: main.c:739 -msgid "\t-W gen-po\t\t--gen-po\n" +#: main.c:792 +#, fuzzy +msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-W gen-po\t\t--gen-po\n" -#: main.c:740 -msgid "\t-W help\t\t\t--help\n" +#: main.c:793 +#, fuzzy +msgid "\t-h\t\t\t--help, --usage\n" msgstr "\t-W help\t\t\t--help\n" -#: main.c:741 -msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n" +#: main.c:794 +#, fuzzy +msgid "\t-l [fatal]\t\t--lint[=fatal]\n" msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n" -#: main.c:742 -msgid "\t-W lint-old\t\t--lint-old\n" +#: main.c:795 +#, fuzzy +msgid "\t-L\t\t\t--lint-old\n" msgstr "\t-W lint-old\t\t--lint-old\n" -#: main.c:743 -msgid "\t-W non-decimal-data\t--non-decimal-data\n" +#: main.c:796 +#, fuzzy +msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-W non-decimal-data\t--non-decimal-data\n" -#: main.c:745 -msgid "\t-W nostalgia\t\t--nostalgia\n" -msgstr "\t-W nostalgia\t\t--nostalgia\n" +#: main.c:797 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "" -#: main.c:748 -msgid "\t-W parsedebug\t\t--parsedebug\n" -msgstr "\t-W parsedebug\t\t--parsedebug\n" +#: main.c:798 +msgid "\t-O\t\t\t--optimize\n" +msgstr "" -#: main.c:750 -msgid "\t-W profile[=file]\t--profile[=file]\n" +#: main.c:799 +#, fuzzy +msgid "\t-p [file]\t\t--profile[=file]\n" msgstr "\t-W profile[=file]\t--profile[=file]\n" -#: main.c:751 -msgid "\t-W posix\t\t--posix\n" +#: main.c:800 +#, fuzzy +msgid "\t-P\t\t\t--posix\n" msgstr "\t-W posix\t\t--posix\n" -#: main.c:752 -msgid "\t-W re-interval\t\t--re-interval\n" +#: main.c:801 +#, fuzzy +msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-W re-interval\t\t--re-interval\n" -#: main.c:753 -msgid "\t-W source=program-text\t--source=program-text\n" -msgstr "\t-W source=program-text\t--source=program-text\n" - -#: main.c:754 -msgid "\t-W traditional\t\t--traditional\n" -msgstr "\t-W traditional\t\t--traditional\n" +#: main.c:802 +#, fuzzy +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-W posix\t\t--posix\n" -#: main.c:755 -msgid "\t-W usage\t\t--usage\n" -msgstr "\t-W usage\t\t--usage\n" +#: main.c:803 +#, fuzzy +msgid "\t-V\t\t\t--version\n" +msgstr "\t-W version\t\t--version\n" -#: main.c:756 -msgid "\t-W use-lc-numeric\t--use-lc-numeric\n" -msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n" +#: main.c:805 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:757 -msgid "\t-W version\t\t--version\n" -msgstr "\t-W version\t\t--version\n" +#: main.c:808 +msgid "\t-W parsedebug\t\t--parsedebug\n" +msgstr "\t-W parsedebug\t\t--parsedebug\n" #. TRANSLATORS: --help output 5 (end) #. TRANSLATORS: the placeholder indicates the bug-reporting address #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:766 +#: main.c:817 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1622,7 +1737,7 @@ msgstr "" "翻译错误请发信至 translation-team-zh-cn@lists.sourceforge.net\n" "\n" -#: main.c:770 +#: main.c:821 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1631,7 +1746,7 @@ msgstr "" "gawk 是一个模式扫描及处理语言。缺省情况下它从标准输入读入并写至标准输出。\n" "\n" -#: main.c:774 +#: main.c:825 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1641,7 +1756,7 @@ msgstr "" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:794 +#: main.c:845 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1658,7 +1773,7 @@ msgstr "" "3版或以后版本下修改或重新发布。\n" "\n" -#: main.c:802 +#: main.c:853 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1671,19 +1786,26 @@ msgstr "" "共许可证(GPL)。\n" "\n" -#: main.c:813 +#: main.c:864 +#, fuzzy msgid "" "You should have received a copy of the GNU General Public License\n" "along with this program. If not, see http://www.gnu.org/licenses/.\n" msgstr "" -"你应该收到程序附带的一份 GNU 通用公共许可证(GPL)。如果没有收到,请参看 " -"http://www.gnu.org/licenses/ 。\n" +"你应该收到程序附带的一份 GNU 通用公共许可证(GPL)。如果没有收到,可写信至\n" +"“the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" +"Boston, MA 02110-1301, USA.”索取。\n" -#: main.c:848 +#: main.c:899 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "在 POSIX awk 中 -Ft 不会将 FS 设为制表符(tab)" -#: main.c:1122 +#: main.c:1116 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "" + +#: main.c:1176 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1692,43 +1814,45 @@ msgstr "" "%s: “-v”的参数“%s”不是“var=value”形式\n" "\n" -#: main.c:1142 +#: main.c:1196 #, c-format msgid "`%s' is not a legal variable name" msgstr "“%s”不是一个合法的变量名" -#: main.c:1145 +#: main.c:1199 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "“%s”不是一个变量名,查找文件“%s=%s”" -#: main.c:1184 +#: main.c:1238 msgid "floating point exception" msgstr "浮点数异常" -#: main.c:1191 +#: main.c:1245 msgid "fatal error: internal error" msgstr "致命错误: 内部错误" -#: main.c:1206 +#: main.c:1260 +#, fuzzy msgid "fatal error: internal error: segfault" -msgstr "致命错误: 内部错误: 段错误" +msgstr "致命错误: 内部错误" -#: main.c:1218 +#: main.c:1272 +#, fuzzy msgid "fatal error: internal error: stack overflow" -msgstr "致命错误: 内部错误: 栈溢出" +msgstr "致命错误: 内部错误" -#: main.c:1268 +#: main.c:1322 #, c-format msgid "no pre-opened fd %d" msgstr "文件描述符 %d 未被打开" -#: main.c:1275 +#: main.c:1329 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "无法为文件描述符 %d 预打开 /dev/null" -#: main.c:1298 main.c:1307 +#: main.c:1352 main.c:1361 #, c-format msgid "could not find groups: %s" msgstr "无法找到组: %s" @@ -1798,22 +1922,21 @@ msgstr "无法以写模式打开“%s”: %s" msgid "internal error: %s with null vname" msgstr "内部错误: %s 带有空的 vname" -#: profile.c:521 -#, fuzzy +#: profile.c:522 msgid "# treated internally as `delete'" msgstr "# 内部处理为“delete”" -#: profile.c:1073 +#: profile.c:1076 #, c-format msgid "# this is a dynamically loaded extension function" msgstr "# 这是一个动态加载的扩展函数" -#: profile.c:1104 +#: profile.c:1109 #, c-format msgid "\t# gawk profile, created %s\n" msgstr "\t# gawk 配置, 创建 %s\n" -#: profile.c:1107 +#: profile.c:1112 #, c-format msgid "" "\t# BEGIN block(s)\n" @@ -1822,7 +1945,16 @@ msgstr "" "\t# BEGIN 块\n" "\n" -#: profile.c:1117 +#: profile.c:1122 +#, fuzzy, c-format +msgid "" +"\t# BEGINFILE block(s)\n" +"\n" +msgstr "" +"\t# BEGIN 块\n" +"\n" + +#: profile.c:1132 #, c-format msgid "" "\t# Rule(s)\n" @@ -1831,7 +1963,16 @@ msgstr "" "\t# 规则\n" "\n" -#: profile.c:1123 +#: profile.c:1138 +#, fuzzy, c-format +msgid "" +"\t# ENDFILE block(s)\n" +"\n" +msgstr "" +"\t# END 块\n" +"\n" + +#: profile.c:1148 #, c-format msgid "" "\t# END block(s)\n" @@ -1840,7 +1981,7 @@ msgstr "" "\t# END 块\n" "\n" -#: profile.c:1143 +#: profile.c:1168 #, c-format msgid "" "\n" @@ -1849,15 +1990,20 @@ msgstr "" "\n" "\t# 函数列表,字典序\n" -#: profile.c:1405 +#: profile.c:1431 #, c-format msgid "unexpected type %s in prec_level" msgstr "在 prec_level 中未预期的类型 %s" -#: profile.c:1527 -#, c-format +#: profile.c:1557 +#, fuzzy, c-format msgid "Unknown node type %s in pp_var" -msgstr "pp_var 中的未知的结点类型 %s" +msgstr "未知的结点类型 %d" + +#: re.c:537 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" #: regcomp.c:132 msgid "Success" @@ -1931,5 +2077,45 @@ msgstr "未匹配的 ) 或 \\)" msgid "No previous regular expression" msgstr "前面没有正则表达式" +#~ msgid "%s: illegal option -- %c\n" +#~ msgstr "%s: 非法选项 -- %c\n" + +#~ msgid "file `%s' is a directory" +#~ msgstr "文件“%s”是一个目录" + #~ msgid "can't open two way socket `%s' for input/output (%s)" #~ msgstr "无法为输入/输出打开双向端口“%s”(%s)" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\n" + +#~ msgid "\t-W traditional\t\t--traditional\n" +#~ msgstr "\t-W traditional\t\t--traditional\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\n" + +#, fuzzy +#~ msgid "seek: invalid arguments" +#~ msgstr "printf: 没有参数" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an open file, pipe, or co-process" +#~ msgstr "close: “%.*s”不是一个已打开文件、管道或合作进程" + +#, fuzzy +#~ msgid "seek: `%.*s' is not an input file, pipe, or co-process" +#~ msgstr "close: “%.*s”不是一个已打开文件、管道或合作进程" + +#, fuzzy +#~ msgid "seek: `%.*s' is not a regular file" +#~ msgstr "“%s”不是一个合法的变量名" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "使用“PROCINFO[\"%s\"]”而不是“%s”" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "使用“PROCINFO[...]”而不是“/dev/user”" @@ -497,6 +497,7 @@ tree_eval(register NODE *tree) return; case Node_func_call: + case Node_indirect_func_call: pp_func_call(tree); return; @@ -534,6 +535,7 @@ tree_eval(register NODE *tree) case Node_CONVFMT: case Node_FIELDWIDTHS: case Node_FNR: + case Node_FPAT: case Node_FS: case Node_IGNORECASE: case Node_LINT: @@ -794,6 +796,7 @@ pp_lhs(register NODE *ptr) case Node_CONVFMT: case Node_FIELDWIDTHS: case Node_FNR: + case Node_FPAT: case Node_FS: case Node_IGNORECASE: case Node_LINT: @@ -1082,6 +1085,8 @@ pp_func_call(NODE *tree) name = tree->rnode; arglist = tree->lnode; + if (tree->type == Node_indirect_func_call) + fprintf(prof_fp, "@"); fprintf(prof_fp, "%s(", name->stptr); pp_list(arglist); fprintf(prof_fp, ")"); @@ -1095,7 +1100,7 @@ pp_func_call(NODE *tree) */ void -dump_prog(NODE *begin, NODE *prog, NODE *end) +dump_prog(NODE *begin, NODE *beginfile, NODE *prog, NODE *endfile, NODE *end) { time_t now; @@ -1113,9 +1118,29 @@ dump_prog(NODE *begin, NODE *prog, NODE *end) if (prog != NULL || end != NULL) fprintf(prof_fp, "\n"); } + if (beginfile != NULL) { + fprintf(prof_fp, _("\t# BEGINFILE block(s)\n\n")); + fprintf(prof_fp, "\tBEGINFILE {\n"); + in_BEGIN_or_END = TRUE; + pprint(beginfile); + in_BEGIN_or_END = FALSE; + fprintf(prof_fp, "\t}\n"); + if (prog != NULL || endfile != NULL) + fprintf(prof_fp, "\n"); + } if (prog != NULL) { fprintf(prof_fp, _("\t# Rule(s)\n\n")); pprint(prog); + if (endfile != NULL || end != NULL) + fprintf(prof_fp, "\n"); + } + if (endfile != NULL) { + fprintf(prof_fp, _("\t# ENDFILE block(s)\n\n")); + fprintf(prof_fp, "\tENDFILE {\n"); + in_BEGIN_or_END = TRUE; + pprint(endfile); + in_BEGIN_or_END = FALSE; + fprintf(prof_fp, "\t}\n"); if (end != NULL) fprintf(prof_fp, "\n"); } @@ -1286,6 +1311,7 @@ is_scalar(NODETYPE type) case Node_CONVFMT: case Node_FIELDWIDTHS: case Node_FNR: + case Node_FPAT: case Node_FS: case Node_IGNORECASE: case Node_LINT: @@ -1479,6 +1505,10 @@ pp_var(NODE *tree) fprintf(prof_fp, "FNR"); return; + case Node_FPAT: + fprintf(prof_fp, "FPAT"); + return; + case Node_FS: fprintf(prof_fp, "FS"); return; @@ -1535,9 +1565,9 @@ pp_var(NODE *tree) static RETSIGTYPE just_dump(int signum) { - extern NODE *begin_block, *expression_value, *end_block; + extern NODE *begin_block, *expression_value, *end_block, *beginfile_block, *endfile_block; - dump_prog(begin_block, expression_value, end_block); + dump_prog(begin_block, beginfile_block, expression_value, endfile_block, end_block); dump_funcs(); dump_fcall_stack(prof_fp); fflush(prof_fp); @@ -26,6 +26,7 @@ #include "awk.h" static reg_syntax_t syn; +static void check_bracket_exp(char *s, size_t len); /* make_regexp --- generate compiled regular expressions */ @@ -58,6 +59,9 @@ make_regexp(const char *s, size_t len, int ignorecase, int dfa) no_dfa = (getenv("GAWK_NO_DFA") != NULL); /* for debugging and testing */ } + /* if (do_lint) */ /* always check */ + check_bracket_exp((char *) s, len); + /* Handle escaped characters first. */ /* @@ -355,11 +359,12 @@ resetup() syn = RE_SYNTAX_GNU_AWK; /* POSIX re's + GNU ops */ /* - * Interval expressions are off by default, since it's likely to - * break too many old programs to have them on. + * Interval expressions are now on by default, as POSIX is + * wide-spread enough that people want it. The do_intervals + * variable remains for use with --traditional. */ if (do_intervals) - syn |= RE_INTERVALS; + syn |= RE_INTERVALS | RE_INVALID_INTERVAL_ORD; (void) re_set_syntax(syn); dfasyntax(syn, FALSE, '\n'); @@ -447,7 +452,6 @@ reflags2str(int flagval) { RE_UNMATCHED_RIGHT_PAREN_ORD, "RE_UNMATCHED_RIGHT_PAREN_ORD" }, { RE_NO_POSIX_BACKTRACKING, "RE_NO_POSIX_BACKTRACKING" }, { RE_NO_GNU_OPS, "RE_NO_GNU_OPS" }, - { RE_DEBUG, "RE_DEBUG" }, { RE_INVALID_INTERVAL_ORD, "RE_INVALID_INTERVAL_ORD" }, { RE_ICASE, "RE_ICASE" }, { RE_CARET_ANCHORS_HERE, "RE_CARET_ANCHORS_HERE" }, @@ -461,3 +465,86 @@ reflags2str(int flagval) return genflags2str(flagval, values); } + +/* check_bracket_exp --- look for /[:space:]/ that should be /[[:space:]]/ */ + +static void +check_bracket_exp(char *s, size_t length) +{ + static struct reclass { + const char *name; + size_t len; + short warned; + } classes[] = { + /* + * Ordered by what we hope is frequency, + * since it's linear searched. + */ + { "[:alpha:]", 9, FALSE }, + { "[:digit:]", 9, FALSE }, + { "[:alnum:]", 9, FALSE }, + { "[:upper:]", 9, FALSE }, + { "[:lower:]", 9, FALSE }, + { "[:space:]", 9, FALSE }, + { "[:xdigit:]", 10, FALSE }, + { "[:punct:]", 9, FALSE }, + { "[:print:]", 9, FALSE }, + { "[:graph:]", 9, FALSE }, + { "[:cntrl:]", 9, FALSE }, + { "[:blank:]", 9, FALSE }, + { NULL, 0 } + }; + int i; + int found = FALSE; + char save; + char *sp, *sp2; + int len; + int count = 0; + + save = s[length]; + s[length] = '\0'; + sp = s; + +again: + sp = sp2 = strchr(sp, '['); + if (sp == NULL) + goto done; + + for (count++, sp++; *sp != '\0'; sp++) { + if (*sp == '[') + count++; + else if (*sp == ']') + count--; + if (count == 0) + break; + } + + if (count > 0) { /* bad regex, give up */ + goto done; + } + + /* sp2 has start */ + + for (i = 0; classes[i].name != NULL; i++) { + len = classes[i].len; + if (strncmp(sp2, classes[i].name, len) == 0) { + found = TRUE; + break; + } + } + + if (found && ! classes[i].warned) { + warning(_("regexp component `%.*s' should probably be `[%.*s]'"), + len, sp2, len, sp2); + classes[i].warned = TRUE; + } + + if (*sp != '\0') { + if (*sp == ']') + sp++; + found = FALSE; + goto again; + } +done: + s[length] = save; +} @@ -1876,7 +1876,6 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_NOTWORD; break; -#ifndef GAWK case 's': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_SPACE; @@ -1885,7 +1884,6 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_NOTSPACE; break; -#endif case '`': if (!(syntax & RE_NO_GNU_OPS)) { @@ -155,18 +155,10 @@ typedef unsigned long int reg_syntax_t; If not set, then the GNU regex operators are recognized. */ # define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) -/* If this bit is set, turn on internal regex debugging. - If not set, and debugging was on, turn it off. - This only works if regex.c is compiled -DDEBUG. - We define this bit always, so that all that's needed to turn on - debugging is to recompile regex.c; the calling code can always have - this bit set, and it won't affect anything in the normal case. */ -# define RE_DEBUG (RE_NO_GNU_OPS << 1) - /* If this bit is set, a syntactically invalid interval is treated as a string of ordinary characters. For example, the ERE 'a{1' is treated as 'a\{1'. */ -# define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) +# define RE_INVALID_INTERVAL_ORD (RE_NO_GNU_OPS << 1) /* If this bit is set, then ignore case when matching. If not set, then case is significant. */ @@ -183,7 +175,7 @@ typedef unsigned long int reg_syntax_t; /* If this bit is set, then no_sub will be set to 1 during re_compile_pattern. */ -# define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) +#define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) #endif /* This global variable defines the particular regexp syntax to use (for @@ -207,13 +199,15 @@ extern reg_syntax_t re_syntax_options; | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) #define RE_SYNTAX_GNU_AWK \ - ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) \ - & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS \ + ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ + | RE_INVALID_INTERVAL_ORD) \ + & ~(RE_DOT_NOT_NULL | RE_CONTEXT_INDEP_OPS \ | RE_CONTEXT_INVALID_OPS )) #define RE_SYNTAX_POSIX_AWK \ (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ - | RE_INTERVALS | RE_NO_GNU_OPS) + | RE_INTERVALS | RE_NO_GNU_OPS \ + | RE_INVALID_INTERVAL_ORD) #define RE_SYNTAX_GREP \ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ diff --git a/test/ChangeLog b/test/ChangeLog index 1deb4058..e3196dc5 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,35 @@ +Sun Jun 27 22:01:38 2010 Arnold D. Robbins <arnold@skeeve.com> + + * badargs.ok: Updated with new usage message. + +Tue Jun 22 20:55:47 2010 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (fpat1, patsplit): New tests. + * fpat1.awk, fpat1.in, fpat1.ok, patsplit.awk, patsplit.ok: new files. + +Fri Jan 16 11:36:02 2009 Arnold D. Robbins <arnold@skeeve.com> + + * badargs.ok, funstack.awk, gsubtst4.ok: Adjust to change in + --gen-po option, removal of -r, and enabling interval expressions. + +Fri Jan 16 11:36:02 2009 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (indirectcall): New test. + * indirectcall.awk, indirectcall.in, indirectcall.ok: New files. + +Tue Dec 30 22:27:08 2008 Arnold D. Robbins <arnold@skeeve.com> + + * badargs.ok: Updated. + +Tue Dec 9 06:58:00 2008 Steffen Schuler <schuler.steffen@googlemail.com> + + * Makefile.am (splitarg4): New test. + * splitarg4.awk, splitarg4.in, splitarg4.ok: New files. + +Wed Dec 26 22:01:52 2001 Arnold D. Robbins <arnold@skeeve.com> + + * pid.awk: Fix to use PROCINFO now that /dev/pid, /dev/ppid gone. + Thu May 6 20:55:14 2010 Arnold D. Robbins <arnold@skeeve.com> * Release 3.1.8: Release tar file made. diff --git a/test/Makefile.am b/test/Makefile.am index 7b5e529b..5bc02d1f 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -200,6 +200,9 @@ EXTRA_DIST = \ fnmisc.ok \ fnparydl.awk \ fnparydl.ok \ + fpat1.awk \ + fpat1.in \ + fpat1.ok \ fordel.awk \ fordel.ok \ forref.awk \ @@ -305,6 +308,9 @@ EXTRA_DIST = \ ignrcase.ok \ ignrcas2.awk \ ignrcas2.ok \ + indirectcall.awk \ + indirectcall.in \ + indirectcall.ok \ inftest.awk \ inftest.ok \ inputred.awk \ @@ -473,6 +479,8 @@ EXTRA_DIST = \ parsefld.ok \ parseme.awk \ parseme.ok \ + patsplit.awk \ + patsplit.ok \ pcntplus.awk \ pcntplus.ok \ pid.awk \ @@ -591,6 +599,9 @@ EXTRA_DIST = \ sortempty.awk \ sortempty.ok \ space.ok \ + splitarg4.awk \ + splitarg4.in \ + splitarg4.ok \ splitargv.awk \ splitargv.in \ splitargv.ok \ @@ -691,43 +702,42 @@ TESTS_WE_ARE_NOT_DOING_YET_FIXME_ONE_DAY = longdbl CLEANFILES = core core.* fmtspcl.ok # try to keep these sorted -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 delarpm2 delarprm delfunc 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 getlnbuf getnr2tb getnr2tm \ - gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \ - hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \ - longsub longwrds manglprm math membug1 messages minusstr mmap8k \ - mtchi18n nasty nasty2 negexp nested nfldstr nfneg nfset nlfldsep \ - nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl noparms \ - nors nulrsend numindex numsubstr octsub ofmt ofmtbig ofmtfidl ofmts \ - onlynl opasnidx opasnslf paramdup paramres paramtyp parse1 parsefld \ - parseme pcntplus prdupval prec printf0 printf1 prmarscl prmreuse \ - prt1eval prtoeval psx96sub rand rebt8b1 redfilnm regeq 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 +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 delarpm2 delarprm delfunc 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 getlnbuf getnr2tb getnr2tm gsubasgn gsubtest gsubtst2 \ + gsubtst3 gsubtst4 gsubtst5 hex hsprint inputred intest intprec iobug1 \ + leaddig leadnl litoct longsub longwrds manglprm math membug1 messages \ + minusstr mmap8k mtchi18n nasty nasty2 negexp nested nfldstr nfneg \ + nfset nlfldsep nlinstr nlstrina noeffect nofile nofmtch noloop1 \ + noloop2 nonl noparms nors nulrsend numindex numsubstr octsub ofmt \ + ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf paramdup paramres \ + paramtyp parse1 parsefld parseme pcntplus prdupval prec printf0 \ + printf1 prmarscl prmreuse prt1eval prtoeval psx96sub rand rebt8b1 \ + redfilnm regeq 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 UNIX_TESTS = fflush getlnhd localenl pid pipeio1 pipeio2 poundbang space strftlng -GAWK_EXT_TESTS = \ - argtest backw badargs binmode1 clos1way devfd devfd1 devfd2 fieldwdth \ - fsfwfs funlen fwtest fwtest2 gensub gensub2 getlndir gnuops2 gnuops3 \ - gnureops icasefs icasers igncdym igncfs ignrcas2 ignrcase lint lintold \ - manyfiles match1 match2 match3 mbprintf3 mbstr1 nondec nondec2 posix \ - printfbad1 printfbad2 procinfs rebuf regx8bit reint reint2 rsstart1 \ - rsstart2 rsstart3 rstest6 shadow strftime strtonum +GAWK_EXT_TESTS = argtest backw badargs binmode1 clos1way devfd devfd1 devfd2 \ + fieldwdth fpat1 funlen fsfwfs fwtest fwtest2 gensub gensub2 getlndir \ + gnuops2 gnuops3 gnureops \ + icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall lint \ + lintold manyfiles match1 match2 match3 nondec nondec2 patsplit \ + posix printfbad1 \ + procinfs rebuf regx8bit reint reint2 rsstart1 rsstart2 rsstart3 \ + rstest6 shadow splitarg4 strftime strtonum EXTRA_TESTS = regtest inftest diff --git a/test/Makefile.in b/test/Makefile.in index 5efa6cc0..d74773ec 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -62,15 +62,16 @@ subdir = test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intmax_t.m4 \ - $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isc-posix.m4 \ - $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/socket.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \ - $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes_h.m4 \ + $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \ + $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -383,6 +384,9 @@ EXTRA_DIST = \ fnmisc.ok \ fnparydl.awk \ fnparydl.ok \ + fpat1.awk \ + fpat1.in \ + fpat1.ok \ fordel.awk \ fordel.ok \ forref.awk \ @@ -488,6 +492,9 @@ EXTRA_DIST = \ ignrcase.ok \ ignrcas2.awk \ ignrcas2.ok \ + indirectcall.awk \ + indirectcall.in \ + indirectcall.ok \ inftest.awk \ inftest.ok \ inputred.awk \ @@ -656,6 +663,8 @@ EXTRA_DIST = \ parsefld.ok \ parseme.awk \ parseme.ok \ + patsplit.awk \ + patsplit.ok \ pcntplus.awk \ pcntplus.ok \ pid.awk \ @@ -774,6 +783,9 @@ EXTRA_DIST = \ sortempty.awk \ sortempty.ok \ space.ok \ + splitarg4.awk \ + splitarg4.in \ + splitarg4.ok \ splitargv.awk \ splitargv.in \ splitargv.ok \ @@ -874,42 +886,41 @@ TESTS_WE_ARE_NOT_DOING_YET_FIXME_ONE_DAY = longdbl CLEANFILES = core core.* fmtspcl.ok # try to keep these sorted -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 delarpm2 delarprm delfunc 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 getlnbuf getnr2tb getnr2tm \ - gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \ - hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \ - longsub longwrds manglprm math membug1 messages minusstr mmap8k \ - mtchi18n nasty nasty2 negexp nested nfldstr nfneg nfset nlfldsep \ - nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl noparms \ - nors nulrsend numindex numsubstr octsub ofmt ofmtbig ofmtfidl ofmts \ - onlynl opasnidx opasnslf paramdup paramres paramtyp parse1 parsefld \ - parseme pcntplus prdupval prec printf0 printf1 prmarscl prmreuse \ - prt1eval prtoeval psx96sub rand rebt8b1 redfilnm regeq 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 +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 delarpm2 delarprm delfunc 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 getlnbuf getnr2tb getnr2tm gsubasgn gsubtest gsubtst2 \ + gsubtst3 gsubtst4 gsubtst5 hex hsprint inputred intest intprec iobug1 \ + leaddig leadnl litoct longsub longwrds manglprm math membug1 messages \ + minusstr mmap8k mtchi18n nasty nasty2 negexp nested nfldstr nfneg \ + nfset nlfldsep nlinstr nlstrina noeffect nofile nofmtch noloop1 \ + noloop2 nonl noparms nors nulrsend numindex numsubstr octsub ofmt \ + ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf paramdup paramres \ + paramtyp parse1 parsefld parseme pcntplus prdupval prec printf0 \ + printf1 prmarscl prmreuse prt1eval prtoeval psx96sub rand rebt8b1 \ + redfilnm regeq 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 UNIX_TESTS = fflush getlnhd localenl pid pipeio1 pipeio2 poundbang space strftlng -GAWK_EXT_TESTS = \ - argtest backw badargs binmode1 clos1way devfd devfd1 devfd2 fieldwdth \ - fsfwfs funlen fwtest fwtest2 gensub gensub2 getlndir gnuops2 gnuops3 \ - gnureops icasefs icasers igncdym igncfs ignrcas2 ignrcase lint lintold \ - manyfiles match1 match2 match3 mbprintf3 mbstr1 nondec nondec2 posix \ - printfbad1 printfbad2 procinfs rebuf regx8bit reint reint2 rsstart1 \ - rsstart2 rsstart3 rstest6 shadow strftime strtonum +GAWK_EXT_TESTS = argtest backw badargs binmode1 clos1way devfd devfd1 devfd2 \ + fieldwdth fpat1 funlen fsfwfs fwtest fwtest2 gensub gensub2 getlndir \ + gnuops2 gnuops3 gnureops \ + icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall lint \ + lintold manyfiles match1 match2 match3 nondec nondec2 patsplit \ + posix printfbad1 \ + procinfs rebuf regx8bit reint reint2 rsstart1 rsstart2 rsstart3 \ + rstest6 shadow splitarg4 strftime strtonum EXTRA_TESTS = regtest inftest INET_TESTS = inetechu inetecht inetdayu inetdayt @@ -2456,8 +2467,8 @@ fieldwdth: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ -fsfwfs: - @echo fsfwfs +fpat1: + @echo fpat1 @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -2466,6 +2477,11 @@ funlen: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +fsfwfs: + @echo fsfwfs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + fwtest: @echo fwtest @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -2531,6 +2547,11 @@ ignrcase: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +indirectcall: + @echo indirectcall + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + lint: @echo lint @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -2561,6 +2582,11 @@ nondec: @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +patsplit: + @echo patsplit + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + posix: @echo posix @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -2596,6 +2622,11 @@ shadow: @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +splitarg4: + @echo splitarg4 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + strtonum: @echo strtonum @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index 4cb91498..e4c19747 100644 --- a/test/Maketests +++ b/test/Maketests @@ -845,8 +845,8 @@ fieldwdth: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ -fsfwfs: - @echo fsfwfs +fpat1: + @echo fpat1 @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -855,6 +855,11 @@ funlen: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +fsfwfs: + @echo fsfwfs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + fwtest: @echo fwtest @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -920,6 +925,11 @@ ignrcase: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +indirectcall: + @echo indirectcall + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + lint: @echo lint @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -950,6 +960,11 @@ nondec: @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +patsplit: + @echo patsplit + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + posix: @echo posix @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -985,6 +1000,11 @@ shadow: @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +splitarg4: + @echo splitarg4 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + strtonum: @echo strtonum @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/badargs.ok b/test/badargs.ok index 44528adf..aac60786 100644 --- a/test/badargs.ok +++ b/test/badargs.ok @@ -1,30 +1,30 @@ gawk: option requires an argument -- f Usage: gawk [POSIX or GNU style options] -f progfile [--] file ... Usage: gawk [POSIX or GNU style options] [--] 'program' file ... -POSIX options: GNU long options: +POSIX options: GNU long options: (standard) -f progfile --file=progfile -F fs --field-separator=fs -v var=val --assign=var=val +POSIX options: GNU long options: (extensions) -m[fr] val + -b --characters-as-bytes + -c --compat, --traditional + -C --copyleft, --copyright + -d [file] --dump-variables[=file] + -e 'program-text' --source='program-text' + -E file --exec=file + -g --gen-pot + -h --help, --usage + -l [fatal] --lint[=fatal] + -L --lint-old + -n --non-decimal-data + -N --use-lc-numeric -O --optimize - -W compat --compat - -W copyleft --copyleft - -W copyright --copyright - -W dump-variables[=file] --dump-variables[=file] - -W exec=file --exec=file - -W gen-po --gen-po - -W help --help - -W lint[=fatal] --lint[=fatal] - -W lint-old --lint-old - -W non-decimal-data --non-decimal-data - -W profile[=file] --profile[=file] - -W posix --posix - -W re-interval --re-interval - -W source=program-text --source=program-text - -W traditional --traditional - -W usage --usage - -W use-lc-numeric --use-lc-numeric - -W version --version + -p [file] --profile[=file] + -P --posix + -r --re-interval + -S --sandbox + -V --version To report bugs, see node `Bugs' in `gawk.info', which is section `Reporting Problems and Bugs' in the printed version. diff --git a/test/fnasgnm.awk b/test/fnasgnm.awk index 056cdf7f..a18a848c 100644 --- a/test/fnasgnm.awk +++ b/test/fnasgnm.awk @@ -1,6 +1,6 @@ # AFP_Bug1.awk - illustrate a problem with `gawk' (GNU Awk 3.0.3 on OS/2) # Arthur Pool .. pool@commerce.uq.edu.au -# $Id: AFP_Bug1.awk,v 1.1 1998-03-17 12:22:44+10 pool Exp pool $ +# $Id: fnasgnm.awk,v 1.1.1.1 2008/11/16 19:21:15 arnold Exp $ # Assignment to a variable with the same name as a function from within # that function causes an ABEND. diff --git a/test/funstack.awk b/test/funstack.awk index ab85b45e..9a630213 100644 --- a/test/funstack.awk +++ b/test/funstack.awk @@ -118,7 +118,7 @@ BEGIN { initialize() } -/^ *@ *[Ss][Tt][Rr][Ii][Nn][Gg] *{/ { do_String(); next } +/^ *@ *[Ss][Tt][Rr][Ii][Nn][Gg] *\{/ { do_String(); next } /^ *@ *[Pp][Rr][Ee][Aa][Mm][Bb][Ll][Ee]/ { next } @@ -163,7 +163,7 @@ function do_Article() In_Article = 1 Citation_label = $0 - sub(/^[^\{]*{/,"",Citation_label) + sub(/^[^\{]*\{/,"",Citation_label) sub(/ *, *$/,"",Citation_label) Author = "" @@ -376,82 +376,82 @@ function html_accents(s) gsub(/{\\aa}/, "\\å", s) gsub(/{\\ae}/, "\\æ", s) - gsub(/{\\c{c}}/,"\\ç", s) + gsub(/\{\\c\{c\}\}/,"\\ç", s) - gsub(/{\\\e}/, "\\è", s) - gsub(/{\\'e}/, "\\é", s) - gsub(/{\\[\^]e}/,"\\ê", s) - gsub(/{\\\"e}/, "\\ë", s) + gsub(/\{\\\e\}/, "\\è", s) + gsub(/\{\\'e\}/, "\\é", s) + gsub(/\{\\[\^]e\}/,"\\ê", s) + gsub(/\{\\\"e\}/, "\\ë", s) - gsub(/{\\\i}/, "\\ì", s) - gsub(/{\\'i}/, "\\í", s) - gsub(/{\\[\^]i}/,"\\î", s) - gsub(/{\\\"i}/, "\\ï", s) + gsub(/\{\\\i\}/, "\\ì", s) + gsub(/\{\\'i\}/, "\\í", s) + gsub(/\{\\[\^]i\}/,"\\î", s) + gsub(/\{\\\"i\}/, "\\ï", s) # ignore eth and thorn - gsub(/{\\~n}/, "\\ñ", s) + gsub(/\{\\~n\}/, "\\ñ", s) - gsub(/{\\\o}/, "\\ò", s) - gsub(/{\\'o}/, "\\ó", s) - gsub(/{\\[\^]o}/, "\\ô", s) - gsub(/{\\~o}/, "\\õ", s) - gsub(/{\\\"o}/, "\\ö", s) - gsub(/{\\o}/, "\\ø", s) + gsub(/\{\\\o\}/, "\\ò", s) + gsub(/\{\\'o\}/, "\\ó", s) + gsub(/\{\\[\^]o\}/, "\\ô", s) + gsub(/\{\\~o\}/, "\\õ", s) + gsub(/\{\\\"o\}/, "\\ö", s) + gsub(/\{\\o\}/, "\\ø", s) - gsub(/{\\\u}/, "\\ù", s) - gsub(/{\\'u}/, "\\ú", s) - gsub(/{\\[\^]u}/,"\\û", s) - gsub(/{\\\"u}/, "\\ü", s) + gsub(/\{\\\u\}/, "\\ù", s) + gsub(/\{\\'u\}/, "\\ú", s) + gsub(/\{\\[\^]u\}/,"\\û", s) + gsub(/\{\\\"u\}/, "\\ü", s) - gsub(/{\\'y}/, "\\ý", s) - gsub(/{\\\"y}/, "\\ÿ", s) + gsub(/\{\\'y\}/, "\\ý", s) + gsub(/\{\\\"y\}/, "\\ÿ", s) # Now do the same for upper-case accents - gsub(/{\\\A}/, "\\À", s) - gsub(/{\\'A}/, "\\Á", s) - gsub(/{\\[\^]A}/, "\\Â", s) - gsub(/{\\~A}/, "\\Ã", s) - gsub(/{\\\"A}/, "\\Ä", s) - gsub(/{\\AA}/, "\\Å", s) - gsub(/{\\AE}/, "\\Æ", s) + gsub(/\{\\\A\}/, "\\À", s) + gsub(/\{\\'A\}/, "\\Á", s) + gsub(/\{\\[\^]A\}/, "\\Â", s) + gsub(/\{\\~A\}/, "\\Ã", s) + gsub(/\{\\\"A\}/, "\\Ä", s) + gsub(/\{\\AA\}/, "\\Å", s) + gsub(/\{\\AE\}/, "\\Æ", s) - gsub(/{\\c{C}}/,"\\Ç", s) + gsub(/\{\\c\{C\}\}/,"\\Ç", s) - gsub(/{\\\e}/, "\\È", s) - gsub(/{\\'E}/, "\\É", s) - gsub(/{\\[\^]E}/, "\\Ê", s) - gsub(/{\\\"E}/, "\\Ë", s) + gsub(/\{\\\e\}/, "\\È", s) + gsub(/\{\\'E\}/, "\\É", s) + gsub(/\{\\[\^]E\}/, "\\Ê", s) + gsub(/\{\\\"E\}/, "\\Ë", s) - gsub(/{\\\I}/, "\\Ì", s) - gsub(/{\\'I}/, "\\Í", s) - gsub(/{\\[\^]I}/, "\\Î", s) - gsub(/{\\\"I}/, "\\Ï", s) + gsub(/\{\\\I\}/, "\\Ì", s) + gsub(/\{\\'I\}/, "\\Í", s) + gsub(/\{\\[\^]I\}/, "\\Î", s) + gsub(/\{\\\"I\}/, "\\Ï", s) # ignore eth and thorn - gsub(/{\\~N}/, "\\Ñ", s) + gsub(/\{\\~N\}/, "\\Ñ", s) - gsub(/{\\\O}/, "\\Ò", s) - gsub(/{\\'O}/, "\\Ó", s) - gsub(/{\\[\^]O}/, "\\Ô", s) - gsub(/{\\~O}/, "\\Õ", s) - gsub(/{\\\"O}/, "\\Ö", s) - gsub(/{\\O}/, "\\Ø", s) + gsub(/\{\\\O\}/, "\\Ò", s) + gsub(/\{\\'O\}/, "\\Ó", s) + gsub(/\{\\[\^]O\}/, "\\Ô", s) + gsub(/\{\\~O\}/, "\\Õ", s) + gsub(/\{\\\"O\}/, "\\Ö", s) + gsub(/\{\\O\}/, "\\Ø", s) - gsub(/{\\\U}/, "\\Ù", s) - gsub(/{\\'U}/, "\\Ú", s) - gsub(/{\\[\^]U}/, "\\Û", s) - gsub(/{\\\"U}/, "\\Ü", s) + gsub(/\{\\\U\}/, "\\Ù", s) + gsub(/\{\\'U\}/, "\\Ú", s) + gsub(/\{\\[\^]U\}/, "\\Û", s) + gsub(/\{\\\"U\}/, "\\Ü", s) - gsub(/{\\'Y}/, "\\Ý", s) + gsub(/\{\\'Y\}/, "\\Ý", s) - gsub(/{\\ss}/, "\\ß", s) + gsub(/\{\\ss\}/, "\\ß", s) # Others not mentioned in Flynn's book - gsub(/{\\'\\i}/,"\\í", s) - gsub(/{\\'\\j}/,"j", s) + gsub(/\{\\'\\i\}/,"\\í", s) + gsub(/\{\\'\\j\}/,"j", s) } return (s) } diff --git a/test/gsubtst4.ok b/test/gsubtst4.ok index 6d0e490a..71bf8dcf 100644 --- a/test/gsubtst4.ok +++ b/test/gsubtst4.ok @@ -19,15 +19,15 @@ regex output .((^)|(2)) x345 .((2)|($)) x34x .(($)|(2)) x34x -x{0}((2)|(^)) 12345 -x{0}((^)|(2)) 12345 -x{0}((2)|($)) 12345 -x{0}(($)|(2)) 12345 +x{0}((2)|(^)) x1x345 +x{0}((^)|(2)) x1x345 +x{0}((2)|($)) 1x345x +x{0}(($)|(2)) 1x345x x*((2)|(^)) x1x345 x*((^)|(2)) x1x345 x*((2)|($)) 1x345x x*(($)|(2)) 1x345x -x{0}^ 12345 -x{0}$ 12345 -(x{0}^)|2 1x345 -(x{0}$)|2 1x345 +x{0}^ x12345 +x{0}$ 12345x +(x{0}^)|2 x1x345 +(x{0}$)|2 1x345x diff --git a/test/pid.awk b/test/pid.awk index de83dabe..35cc03da 100644 --- a/test/pid.awk +++ b/test/pid.awk @@ -25,8 +25,11 @@ # # ================== pid.awk ============ BEGIN { - getline pid <"/dev/pid" - getline ppid <"/dev/ppid" +# getline pid <"/dev/pid" +# getline ppid <"/dev/ppid" +# 12/2001: switch to PROCINFO. ADR + pid = PROCINFO["pid"] + ppid = PROCINFO["ppid"] if (pid != ok_pid) printf "Bad pid %d, wanted %d\n", pid, ok_pid @@ -39,8 +42,8 @@ BEGIN { print "PPID ok" # ADR --- added - close("/dev/pid") - close("/dev/ppid") +# close("/dev/pid") +# close("/dev/ppid") print "All Done." } @@ -1,6 +1,6 @@ #include "config.h" -const char *version_string = "@(#)GNU Awk 3.1.8"; +const char *version_string = "@(#)GNU Awk 3.1.70"; /* 1.02 fixed /= += *= etc to return the new Left Hand Side instead of the Right Hand Side */ |