aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-04-27 14:09:25 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-04-27 14:09:25 +0300
commit7bab0e1ff31ebaf7716fe2716a630c92b8ca8a44 (patch)
treebac93ed98e429ea3ecd42885a8d087db3e69fb21
parenta435b8da2941d0b3c997420c71b1f4b7b79b52ff (diff)
parente78dfd4b04060ad3278a1b3505720893ec432617 (diff)
downloadegawk-7bab0e1ff31ebaf7716fe2716a630c92b8ca8a44.tar.gz
egawk-7bab0e1ff31ebaf7716fe2716a630c92b8ca8a44.tar.bz2
egawk-7bab0e1ff31ebaf7716fe2716a630c92b8ca8a44.zip
Merge branch 'master' into feature/cmake
-rw-r--r--ChangeLog80
-rw-r--r--array.c2
-rw-r--r--awkgram.c1794
-rw-r--r--awkgram.y52
-rw-r--r--builtin.c135
-rw-r--r--command.c10
-rw-r--r--command.y10
-rw-r--r--debug.c16
-rw-r--r--dfa.c5
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.texi7
-rw-r--r--doc/gawktexi.in7
-rw-r--r--eval.c4
-rw-r--r--extension/ChangeLog7
-rw-r--r--extension/readfile.c4
-rw-r--r--extension/rwarray.c4
-rw-r--r--extension/rwarray0.c4
-rw-r--r--field.c4
-rw-r--r--gawkapi.h2
-rw-r--r--helpers/ChangeLog8
-rw-r--r--helpers/testdfa.c21
-rw-r--r--interpret.h7
-rw-r--r--io.c11
-rw-r--r--node.c29
-rw-r--r--old-extension/ChangeLog9
-rw-r--r--old-extension/bindarr.c2
-rw-r--r--old-extension/fileop.c2
-rw-r--r--pc/ChangeLog23
-rw-r--r--pc/Makefile.ext2
-rw-r--r--pc/Makefile.tst31
-rw-r--r--pc/testoutcmp.awk35
-rw-r--r--po/da.po1062
-rw-r--r--po/de.po1002
-rw-r--r--po/fi.po912
-rw-r--r--po/fr.po261
-rw-r--r--po/it.po20
-rw-r--r--po/nl.po261
-rw-r--r--po/sv.po275
-rw-r--r--po/vi.po265
-rw-r--r--profile.c9
-rw-r--r--re.c4
-rw-r--r--test/ChangeLog5
-rw-r--r--test/Makefile.am5
-rw-r--r--test/Makefile.in10
-rw-r--r--test/Maketests5
-rw-r--r--test/shadowbuiltin.awk10
-rw-r--r--test/shadowbuiltin.ok2
47 files changed, 3182 insertions, 3257 deletions
diff --git a/ChangeLog b/ChangeLog
index a6d7b6e4..327af606 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2015-04-26 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c: Sync with grep.
+
+2015-04-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * builtin.c (do_strftime): For bad time_t values, return "".
+
+2015-04-16 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * node.c (r_force_number): If strtod sets errno, then force the
+ numeric value in node->numbr to zero. For subnormal values, strtod
+ sets errno but does not return zero, and we don't want to retain
+ those subnormal values.
+
+2015-04-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ Let parameter names shadow the names of gawk additional built-ins.
+ Make it actually work.
+
+ * awkgram.y (want_param_names): Now an enum, there are three states.
+ (grammar): Set states properly.
+ (yylex): Improve checking logic.
+
2015-04-16 Arnold D. Robbins <arnold@skeeve.com>
* configure.ac: Updated by autoupdate.
@@ -19,6 +43,14 @@
* NEWS: Updated.
+2015-04-15 Arnold D. Robbins <arnold@skeeve.com>
+
+ Let parameter names shadow the names of gawk additional built-ins.
+
+ * awkgram.y (want_param_names): New variable.
+ (yylex): Check it before returning a built-in token.
+ (grammar): Set and clear it in the right places.
+
2015-04-14 Arnold D. Robbins <arnold@skeeve.com>
* builtin.c (do_strftime): Restore checking for negative result and
@@ -32,6 +64,18 @@
Unrelated:
* builtin.c (call_sub): Fix for indirect gensub, 3 args now works.
+ Unrelated:
+
+ * builtin.c (do_sub): Improve some variable names for readability
+ and add / expand some comments.
+
+2015-04-14 Andrew J. Schorr <aschorr@telemetry-investments.com>
+ Arnold D. Robbins <arnold@skeeve.com>
+
+ * builtin.c (do_sub): Make computations smarter; initial len
+ to malloc, test for final amount after all matches done and
+ need to copy in the final part of the original string.
+
2015-04-13 Arnold D. Robbins <arnold@skeeve.com>
* regcomp.c (analyze): Prevent malloc(0).
@@ -53,6 +97,15 @@
* Makefile.am (efence): Make this link again.
Thanks to Michal Jaegermann for pointing out the problem.
+2015-04-09 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * awkgram.y (yyerror): Rationalize buffer size computations. Remove
+ old valgrind workarounds.
+ * debug.c (gprintf): Rationalize buffer size computations.
+ (serialize_subscript): Ditto.
+ * io.c (iop_finish): Rationalize buffer size computations.
+ * profile.c (pp_string): Correct space allocation computation.
+
2015-04-08 John E. Malmberg <wb8tyw@qsl.net>
* custom.h: VMS shares some code paths with ZOS_USS in
@@ -426,6 +479,33 @@
* profile.c (pprint): Be sure to set ip2 in all paths
through the code. Thanks to GCC 4.9 for the warning.
+2014-12-18 Arnold D. Robbins <arnold@skeeve.com>
+
+ * builtin.c (do_sub): Do not waste a byte at the end of a string.
+
+2014-12-14 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awkgram.y (yyerror): Do not waste a byte at the end of a string.
+ * builtin.c (do_match): Ditto.
+ * command.y (append_statement): Ditto.
+ * debug.c (gprintf, serialize): Ditto.
+ * field.c (set_FIELDWIDTHS): Ditto.
+ * io.c.c (grow_iop_buffer): Ditto.
+ * profile.c (pp_string, pp_group3): Ditto.
+
+2014-12-14 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * array.c (concat_exp): Do not waste a byte at the end of a string.
+ * awkgram.y (common_exp): Ditto.
+ * builtin.c (do_substr): Ditto.
+ * eval.c (set_OFS): Ditto.
+ * field.c (rebuild_record): Ditto.
+ * gawkapi.h (r_make_string): Ditto.
+ * interpret.h (r_interpret): Ditto for Op_assign_concat.
+ * node.c (r_format_val, r_dupnode, make_str_node, str2wstr, wstr2str):
+ Ditto.
+ * re.c (make_regexp): Ditto.
+
2014-12-20 Arnold D. Robbins <arnold@skeeve.com>
Enable non-fatal output on per-file or global basis,
diff --git a/array.c b/array.c
index f7993624..59428ba2 100644
--- a/array.c
+++ b/array.c
@@ -414,7 +414,7 @@ concat_exp(int nargs, bool do_subsep)
}
len += (nargs - 1) * subseplen;
- emalloc(str, char *, len + 2, "concat_exp");
+ emalloc(str, char *, len + 1, "concat_exp");
r = args_array[nargs];
memcpy(str, r->stptr, r->stlen);
diff --git a/awkgram.c b/awkgram.c
index 799570e5..6fb66123 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -129,6 +129,11 @@ static void check_comment(void);
static bool at_seen = false;
static bool want_source = false;
static bool want_regexp = false; /* lexical scanning kludge */
+static enum {
+ FUNC_HEADER,
+ FUNC_BODY,
+ DONT_CHECK
+} want_param_names = DONT_CHECK; /* ditto */
static char *in_function; /* parsing kludge */
static int rule = 0;
@@ -202,7 +207,7 @@ extern double fmod(double x, double y);
#define YYSTYPE INSTRUCTION *
-#line 206 "awkgram.c" /* yacc.c:339 */
+#line 211 "awkgram.c" /* yacc.c:339 */
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
@@ -356,7 +361,7 @@ int yyparse (void);
/* Copy the second part of user declarations. */
-#line 360 "awkgram.c" /* yacc.c:358 */
+#line 365 "awkgram.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -598,16 +603,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1155
+#define YYLAST 1098
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 75
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 65
+#define YYNNTS 66
/* YYNRULES -- Number of rules. */
-#define YYNRULES 188
+#define YYNRULES 189
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 335
+#define YYNSTATES 336
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
@@ -658,25 +663,25 @@ static const yytype_uint8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 205, 205, 207, 212, 213, 217, 229, 234, 245,
- 251, 257, 266, 274, 276, 281, 289, 291, 297, 305,
- 315, 345, 359, 373, 381, 392, 404, 406, 408, 414,
- 422, 423, 427, 462, 461, 495, 497, 502, 508, 536,
- 541, 542, 546, 548, 550, 557, 647, 689, 731, 844,
- 851, 858, 868, 877, 886, 895, 906, 922, 921, 945,
- 957, 957, 1055, 1055, 1088, 1118, 1124, 1125, 1131, 1132,
- 1139, 1144, 1156, 1170, 1172, 1180, 1185, 1187, 1195, 1197,
- 1206, 1207, 1215, 1220, 1220, 1231, 1235, 1243, 1244, 1247,
- 1249, 1254, 1255, 1264, 1265, 1270, 1275, 1281, 1283, 1285,
- 1292, 1293, 1299, 1300, 1305, 1307, 1312, 1314, 1322, 1327,
- 1336, 1343, 1345, 1347, 1363, 1373, 1380, 1382, 1387, 1389,
- 1391, 1399, 1401, 1406, 1408, 1413, 1415, 1417, 1467, 1469,
- 1471, 1473, 1475, 1477, 1479, 1481, 1495, 1500, 1505, 1530,
- 1536, 1538, 1540, 1542, 1544, 1546, 1551, 1555, 1587, 1589,
- 1595, 1601, 1614, 1615, 1616, 1621, 1626, 1630, 1634, 1649,
- 1662, 1667, 1704, 1733, 1734, 1740, 1741, 1746, 1748, 1755,
- 1772, 1789, 1791, 1798, 1803, 1811, 1821, 1833, 1842, 1846,
- 1850, 1854, 1858, 1862, 1865, 1867, 1871, 1875, 1879
+ 0, 210, 210, 212, 217, 218, 222, 234, 239, 250,
+ 257, 263, 272, 280, 282, 287, 295, 297, 303, 311,
+ 321, 351, 365, 379, 387, 398, 410, 412, 414, 420,
+ 428, 429, 433, 433, 469, 468, 502, 504, 509, 515,
+ 543, 548, 549, 553, 555, 557, 564, 654, 696, 738,
+ 851, 858, 865, 875, 884, 893, 902, 913, 929, 928,
+ 952, 964, 964, 1062, 1062, 1095, 1125, 1131, 1132, 1138,
+ 1139, 1146, 1151, 1163, 1177, 1179, 1187, 1192, 1194, 1202,
+ 1204, 1213, 1214, 1222, 1227, 1227, 1238, 1242, 1250, 1251,
+ 1254, 1256, 1261, 1262, 1271, 1272, 1277, 1282, 1288, 1290,
+ 1292, 1299, 1300, 1306, 1307, 1312, 1314, 1319, 1321, 1329,
+ 1334, 1343, 1350, 1352, 1354, 1370, 1380, 1387, 1389, 1394,
+ 1396, 1398, 1406, 1408, 1413, 1415, 1420, 1422, 1424, 1474,
+ 1476, 1478, 1480, 1482, 1484, 1486, 1488, 1502, 1507, 1512,
+ 1537, 1543, 1545, 1547, 1549, 1551, 1553, 1558, 1562, 1594,
+ 1596, 1602, 1608, 1621, 1622, 1623, 1628, 1633, 1637, 1641,
+ 1656, 1669, 1674, 1711, 1740, 1741, 1747, 1748, 1753, 1755,
+ 1762, 1779, 1796, 1798, 1805, 1810, 1818, 1828, 1840, 1849,
+ 1853, 1857, 1861, 1865, 1869, 1872, 1874, 1878, 1882, 1886
};
#endif
@@ -698,11 +703,11 @@ static const char *const yytname[] =
"'>'", "'+'", "'-'", "'*'", "'/'", "'%'", "'!'", "UNARY", "'^'", "'$'",
"'('", "')'", "'@'", "'['", "']'", "'{'", "'}'", "';'", "$accept",
"program", "rule", "source", "library", "pattern", "action", "func_name",
- "lex_builtin", "function_prologue", "regexp", "$@1", "a_slash",
- "statements", "statement_term", "statement", "non_compound_stmt", "$@2",
- "simple_stmt", "$@3", "$@4", "opt_simple_stmt", "case_statements",
+ "lex_builtin", "function_prologue", "$@1", "regexp", "$@2", "a_slash",
+ "statements", "statement_term", "statement", "non_compound_stmt", "$@3",
+ "simple_stmt", "$@4", "$@5", "opt_simple_stmt", "case_statements",
"case_statement", "case_value", "print", "print_expression_list",
- "output_redir", "$@5", "if_statement", "nls", "opt_nls", "input_redir",
+ "output_redir", "$@6", "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",
@@ -729,54 +734,54 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-#define YYPACT_NINF -273
+#define YYPACT_NINF -271
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-273)))
+ (!!((Yystate) == (-271)))
-#define YYTABLE_NINF -104
+#define YYTABLE_NINF -105
#define yytable_value_is_error(Yytable_value) \
- (!!((Yytable_value) == (-104)))
+ (!!((Yytable_value) == (-105)))
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- -273, 376, -273, -273, -27, -21, -273, -273, -273, -273,
- 157, -273, -273, 11, 11, 11, -5, -3, -273, -273,
- -273, 1019, 1019, -273, 1019, 1065, 821, 116, -273, -20,
- 1, -273, -273, 35, 758, 992, 252, 296, -273, -273,
- -273, -273, 233, 789, 821, -273, 2, -273, -273, -273,
- -273, -273, 63, 54, -273, 69, -273, -273, -273, 789,
- 789, 127, 87, 115, 87, 87, 1019, 131, -273, -273,
- 55, 295, 40, 47, -273, 83, -273, -273, -273, 35,
- -273, 83, -273, 151, -273, -273, 1019, 132, 1019, 1019,
- 1019, 83, -273, -273, -273, 1019, 124, 252, 1019, 1019,
- 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
- -273, -273, -273, -273, 152, 1019, 100, 16, 1034, 37,
- -273, -273, -273, 43, 1019, -273, 100, 100, 295, -273,
- -273, -273, 1019, 83, -273, 137, 867, -273, -273, 75,
- -19, -273, 77, -19, 35, -273, 596, -273, -273, 123,
- -273, 141, 175, 1098, 1019, 161, 11, -26, -26, 87,
- 87, 87, 87, -26, -26, 87, 87, 87, 87, -273,
- 1034, -273, -273, -273, -273, 100, 65, 252, -273, -273,
- 1034, -273, 132, -273, 1034, -273, -273, -273, -273, -273,
- 104, -273, 26, 118, 119, 83, 121, -19, -19, -273,
- -273, -19, 1019, -19, 83, -273, -273, -19, -273, -273,
- 1034, -273, 117, 83, 1019, 1034, -273, 83, -273, 112,
- -273, 1019, 1019, -273, 188, 1019, 1019, 710, 900, -273,
- -273, -273, -19, 1034, -273, -273, -273, 642, 596, 83,
- -273, -273, 1034, -273, -273, -273, 295, -19, -21, 126,
- 295, 295, 169, -13, -273, 117, -273, 821, 186, -273,
- -273, -273, 83, -273, -273, 13, -273, -273, -273, 83,
- 83, 139, 132, 83, 55, -273, -273, 710, -273, -273,
- 1, 710, 1019, 100, 743, 137, 1019, 192, -273, -273,
- 295, 83, 286, 83, 992, 83, 44, 83, 710, 83,
- 946, 710, -273, 247, 154, -273, 156, -273, -273, 946,
- 100, -273, -273, -273, 226, 228, -273, 154, -273, 83,
- -273, 100, 83, -273, -273, 83, -273, 83, 710, -273,
- 448, 710, -273, 522, -273
+ -271, 359, -271, -271, -35, 3, -271, -271, -271, -271,
+ 241, -271, -271, 42, 42, 42, 9, 50, -271, -271,
+ -271, 1002, 1002, -271, 1002, 287, 804, 31, -271, 83,
+ 5, -271, -271, 72, 219, 975, 426, 456, -271, -271,
+ -271, -271, 162, 772, 804, -271, 14, -271, -271, -271,
+ -271, -271, 77, 66, -271, 80, -271, -271, -271, 772,
+ 772, 168, 93, -6, 93, 93, 1002, 10, -271, -271,
+ 27, 333, 44, 124, -271, 114, -271, -271, -271, 72,
+ -271, 114, -271, 173, -271, -271, 1002, 169, 1002, 1002,
+ 1002, 114, -271, -271, -271, 1002, 142, 426, 1002, 1002,
+ 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
+ -271, -271, -271, -271, 172, 1002, 119, 158, 741, 15,
+ -271, -271, -271, -271, 1002, -271, 119, 119, 333, -271,
+ -271, -271, 1002, 114, -271, 151, 850, -271, -271, 4,
+ -10, -271, 17, -10, 72, -271, 579, -271, -271, 62,
+ -271, 249, 373, 1041, 1002, 104, 42, -13, -13, 93,
+ 93, 93, 93, -13, -13, 93, 93, 93, 93, -271,
+ 741, -271, -271, 25, 426, -271, -271, 741, -271, 169,
+ -271, 741, -271, -271, -271, -271, -271, 125, -271, 23,
+ 127, 133, 114, 134, -10, -10, -271, -271, -10, 1002,
+ -10, 114, -271, -271, -10, -271, -271, 741, -271, 130,
+ 114, 1002, 741, -271, -271, -271, 119, 61, -271, 1002,
+ 1002, -271, 189, 1002, 1002, 693, 883, -271, -271, -271,
+ -10, 741, -271, -271, -271, 625, 579, 114, -271, -271,
+ 741, 114, -271, 35, 333, -10, 3, 148, 333, 333,
+ 194, -19, -271, 130, -271, 804, 226, -271, -271, -271,
+ -271, -271, -271, 114, -271, -271, 41, -271, -271, -271,
+ 114, 114, 175, 169, 114, 27, -271, -271, 693, -271,
+ -271, 5, 693, 1002, 119, 726, 151, 1002, 220, -271,
+ -271, 333, 114, 155, 114, 975, 114, 126, 114, 693,
+ 114, 929, 693, -271, 384, 192, -271, 176, -271, -271,
+ 929, 119, -271, -271, -271, 243, 245, -271, 192, -271,
+ 114, -271, 119, 114, -271, -271, 114, -271, 114, 693,
+ -271, 431, 693, -271, 505, -271
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -784,64 +789,64 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 2, 0, 1, 6, 0, 174, 156, 157, 21, 22,
- 0, 23, 24, 163, 0, 0, 0, 151, 5, 87,
- 36, 0, 0, 35, 0, 0, 0, 0, 3, 0,
- 0, 146, 33, 4, 19, 117, 125, 126, 128, 152,
- 160, 176, 153, 0, 0, 171, 0, 175, 27, 26,
- 30, 31, 0, 0, 28, 91, 164, 154, 155, 0,
- 0, 0, 159, 153, 158, 147, 0, 180, 153, 106,
- 0, 104, 0, 0, 161, 89, 186, 7, 8, 40,
- 37, 89, 9, 0, 88, 121, 0, 0, 0, 0,
- 0, 89, 122, 124, 123, 0, 0, 127, 0, 0,
+ 2, 0, 1, 6, 0, 175, 157, 158, 21, 22,
+ 0, 23, 24, 164, 0, 0, 0, 152, 5, 88,
+ 37, 0, 0, 36, 0, 0, 0, 0, 3, 0,
+ 0, 147, 34, 4, 19, 118, 126, 127, 129, 153,
+ 161, 177, 154, 0, 0, 172, 0, 176, 27, 26,
+ 30, 31, 0, 0, 28, 92, 165, 155, 156, 0,
+ 0, 0, 160, 154, 159, 148, 0, 181, 154, 107,
+ 0, 105, 0, 0, 162, 90, 187, 7, 8, 41,
+ 38, 90, 9, 0, 89, 122, 0, 0, 0, 0,
+ 0, 90, 123, 125, 124, 0, 0, 128, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 119, 118, 136, 137, 0, 0, 0, 0, 104, 0,
- 173, 172, 29, 0, 0, 135, 0, 0, 0, 178,
- 179, 177, 107, 89, 183, 0, 0, 148, 14, 0,
- 0, 17, 0, 0, 90, 181, 0, 41, 34, 113,
- 114, 111, 112, 0, 0, 115, 163, 133, 134, 130,
- 131, 132, 129, 144, 145, 141, 142, 143, 140, 120,
- 110, 162, 170, 97, 95, 0, 0, 92, 149, 150,
- 108, 188, 0, 109, 105, 13, 10, 16, 11, 39,
- 0, 57, 0, 0, 0, 89, 0, 0, 0, 78,
- 79, 0, 100, 0, 89, 38, 51, 0, 60, 44,
- 65, 37, 184, 89, 0, 20, 139, 89, 98, 0,
- 138, 0, 100, 62, 0, 0, 0, 0, 66, 52,
- 53, 54, 0, 101, 55, 182, 59, 0, 0, 89,
- 185, 42, 116, 32, 99, 96, 0, 0, 165, 0,
- 0, 0, 0, 174, 67, 0, 56, 0, 82, 80,
- 43, 25, 89, 58, 63, 0, 167, 169, 64, 89,
- 89, 0, 0, 89, 0, 83, 61, 0, 166, 168,
- 0, 0, 0, 0, 0, 81, 0, 85, 68, 46,
- 0, 89, 0, 89, 84, 89, 0, 89, 0, 89,
- 66, 0, 70, 0, 0, 69, 0, 47, 48, 66,
- 0, 86, 73, 76, 0, 0, 77, 0, 187, 89,
- 45, 0, 89, 75, 74, 89, 37, 89, 0, 37,
- 0, 0, 50, 0, 49
+ 120, 119, 137, 138, 0, 0, 0, 0, 105, 0,
+ 174, 173, 29, 32, 0, 136, 0, 0, 0, 179,
+ 180, 178, 108, 90, 184, 0, 0, 149, 14, 0,
+ 0, 17, 0, 0, 91, 182, 0, 42, 35, 114,
+ 115, 112, 113, 0, 0, 116, 164, 134, 135, 131,
+ 132, 133, 130, 145, 146, 142, 143, 144, 141, 121,
+ 111, 163, 171, 0, 93, 150, 151, 109, 189, 0,
+ 110, 106, 13, 10, 16, 11, 40, 0, 58, 0,
+ 0, 0, 90, 0, 0, 0, 79, 80, 0, 101,
+ 0, 90, 39, 52, 0, 61, 45, 66, 38, 185,
+ 90, 0, 20, 140, 98, 96, 0, 0, 139, 0,
+ 101, 63, 0, 0, 0, 0, 67, 53, 54, 55,
+ 0, 102, 56, 183, 60, 0, 0, 90, 186, 43,
+ 117, 90, 99, 0, 0, 0, 166, 0, 0, 0,
+ 0, 175, 68, 0, 57, 0, 83, 81, 44, 25,
+ 33, 100, 97, 90, 59, 64, 0, 168, 170, 65,
+ 90, 90, 0, 0, 90, 0, 84, 62, 0, 167,
+ 169, 0, 0, 0, 0, 0, 82, 0, 86, 69,
+ 47, 0, 90, 0, 90, 85, 90, 0, 90, 0,
+ 90, 67, 0, 71, 0, 0, 70, 0, 48, 49,
+ 67, 0, 87, 74, 77, 0, 0, 78, 0, 188,
+ 90, 46, 0, 90, 76, 75, 90, 38, 90, 0,
+ 38, 0, 0, 51, 0, 50
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -273, -273, -273, -273, -273, -273, 208, -273, -273, -273,
- -64, -273, -273, -202, 71, -58, -273, -273, -218, -273,
- -273, -272, -273, -273, -273, -273, -273, -273, -273, -273,
- 50, 76, -273, -273, -273, 19, -54, -23, -1, -273,
- -273, -273, -44, 39, -273, 224, -273, -11, 94, -273,
- -273, -7, -38, -273, -273, -73, -2, -273, -28, -231,
- -46, -273, -25, -57, 85
+ -271, -271, -271, -271, -271, -271, 218, -271, -271, -271,
+ -271, -40, -271, -271, -206, 113, -150, -271, -271, -218,
+ -271, -271, -270, -271, -271, -271, -271, -271, -271, -271,
+ -271, 43, 29, -271, -271, -271, 47, -45, -20, -1,
+ -271, -271, -271, -18, 39, -271, 246, -271, 8, 112,
+ -271, -271, 11, -39, -271, -271, -70, -2, -271, -26,
+ -227, -60, -271, -28, -38, 64
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 1, 28, 140, 143, 29, 77, 53, 54, 30,
- 31, 83, 32, 146, 78, 205, 206, 222, 207, 237,
- 248, 255, 296, 305, 317, 208, 258, 276, 286, 209,
- 144, 145, 125, 175, 176, 232, 116, 117, 210, 115,
- 94, 95, 35, 36, 37, 38, 39, 40, 55, 264,
- 265, 266, 45, 46, 47, 41, 42, 131, 211, 212,
- 137, 239, 213, 319, 136
+ 173, 31, 83, 32, 146, 78, 202, 203, 220, 204,
+ 235, 246, 253, 297, 306, 318, 205, 256, 277, 287,
+ 206, 144, 145, 125, 216, 217, 230, 116, 117, 207,
+ 115, 94, 95, 35, 36, 37, 38, 39, 40, 55,
+ 265, 266, 267, 45, 46, 47, 41, 42, 131, 208,
+ 209, 137, 237, 210, 320, 136
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -849,242 +854,230 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 34, 80, 80, 70, 81, 126, 127, 260, 121, 238,
- 254, 56, 57, 58, 150, 5, 74, 132, 120, 63,
- 63, 119, 63, 68, 135, 71, -103, 272, 310, 278,
- 223, 19, 19, 63, 100, 101, 102, 321, 132, 103,
- 43, 138, 118, 118, 173, 302, 139, 174, 141, 44,
- 74, 33, 75, 142, 76, 76, 132, 44, 118, 118,
- 62, 64, 59, 65, 60, 128, 218, -103, 303, 304,
- 171, 133, 44, 75, 97, 320, 185, 25, 187, 79,
- 178, 179, 254, 44, -103, 149, 84, 151, 152, 153,
- -103, 254, 133, 224, 155, 19, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 172, 220,
- 133, -93, 122, 244, 170, 81, 245, -89, 81, 4,
- 133, 123, 63, 134, 330, 124, -12, 333, -15, 217,
- 4, 180, 85, -94, 19, 184, 5, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, -12,
- 85, -15, 103, 215, 56, 86, 148, 147, 112, 113,
- 48, 49, 156, 177, 72, 169, 73, 154, 134, 252,
- -104, 221, 81, 81, 129, 130, 81, 182, 81, 92,
- 93, 87, 81, 259, 85, 225, 226, 240, 228, 86,
- 79, 76, 249, 79, 268, 271, 275, 92, 93, 283,
- 262, 233, 50, 51, 269, 270, 282, 81, 318, 181,
- 267, 186, 295, 242, 188, 87, 88, -104, -104, 287,
- 246, 233, 81, 289, 250, 251, 52, 267, 285, 204,
- 273, 92, 93, 323, 274, 324, 118, 291, 82, 316,
- 308, 247, 294, 311, 297, 110, 111, 79, 79, 67,
- 216, 79, 288, 79, 312, 313, 71, 79, 279, 293,
- 325, 219, 0, 0, 322, 0, 0, 299, 229, 230,
- 332, 227, 231, 334, 234, 327, 112, 113, 236, 0,
- 235, 290, 79, 292, 63, 114, 0, 0, 0, 241,
- 0, 0, 63, 243, 0, 85, 0, 79, 0, 20,
- 86, 0, 0, 256, 85, 314, 315, 0, 23, 86,
- 98, 99, 100, 101, 102, 261, 0, 103, 263, 0,
- 0, 0, 0, 0, 0, 0, 87, 88, 89, 0,
- 0, 0, 0, 97, 0, 87, 88, 89, 277, 90,
- 0, 0, 92, 93, 0, 280, 281, 0, 90, 284,
- 0, 92, 93, 0, 104, 105, 106, 107, 108, 0,
- 76, 109, 0, 134, 0, 0, 0, 298, 0, 300,
- 0, 301, 306, 307, 0, 309, 2, 3, 0, 4,
- 5, 0, 0, 6, 7, 0, 0, 0, 0, 0,
- 0, 0, 0, 8, 9, 326, 0, 0, 328, 0,
- 0, 329, 0, 331, 0, 0, 0, 0, 0, 0,
- 0, 10, 11, 12, 13, 0, 0, 0, 0, 14,
- 15, 16, 17, 18, 0, 0, 0, 19, 20, 0,
- 0, 0, 0, 0, 21, 22, 0, 23, 0, 24,
- 0, 0, 25, 26, 0, 27, 0, 0, -18, 189,
- -18, 4, 5, 0, 0, 6, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 190, 0, 191,
- 192, 193, -72, -72, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 0, 0, 0, 13, 203, 0, 0,
- 0, 14, 15, 16, 17, 0, 0, 0, 0, -72,
- 20, 0, 0, 0, 0, 0, 21, 22, 0, 23,
- 0, 24, 0, 0, 25, 26, 0, 61, 0, 0,
- 75, -72, 76, 189, 0, 4, 5, 0, 0, 6,
- 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 190, 0, 191, 192, 193, -71, -71, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 0, 0, 0,
- 13, 203, 0, 0, 0, 14, 15, 16, 17, 0,
- 0, 0, 0, -71, 20, 0, 0, 0, 0, 0,
- 21, 22, 0, 23, 0, 24, 0, 0, 25, 26,
- 0, 61, 0, 0, 75, -71, 76, 189, 0, 4,
- 5, 0, 0, 6, 7, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 190, 0, 191, 192, 193,
- 0, 0, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 0, 0, 0, 13, 203, 0, 0, 0, 14,
+ 34, 81, 236, 80, 80, 182, 70, 121, 252, 258,
+ 135, 56, 57, 58, 126, 127, 132, 150, 184, 63,
+ 63, 273, 63, 68, 119, 71, 214, 221, 132, 215,
+ 120, 311, 43, 63, 4, 74, 261, 112, 113, 262,
+ 322, 19, 118, 118, 33, 138, 5, 100, 101, 102,
+ 139, 44, 103, 129, 130, -12, 171, 279, 118, 118,
+ 62, 64, 242, 65, 76, 128, 175, 176, -15, 74,
+ 133, 85, 79, 44, 97, 250, 59, 75, -12, 72,
+ 321, 73, 133, 252, 44, 149, 172, 151, 152, 153,
+ 222, -15, 252, -94, 155, 134, 63, 63, 63, 63,
+ 63, 63, 63, 63, 63, 63, 63, 63, 25, 218,
+ 147, 44, 81, -105, 170, 81, 133, 60, 92, 93,
+ 154, 331, 63, 84, 334, 141, 122, 303, 288, -95,
+ 142, 177, 290, 123, 19, 181, 124, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 309,
+ 304, 305, 312, 212, 56, 75, 241, 76, 103, 132,
+ -105, -105, 178, 174, 85, 19, 81, 81, -104, 86,
+ 81, 4, 81, 5, 110, 111, 81, 19, 148, 333,
+ 156, 238, 335, 79, 263, 169, 79, 134, 270, 271,
+ 257, 179, 219, 247, 223, 87, 88, 89, 231, -90,
+ 224, 226, 81, 284, 76, 112, 113, 268, 90, -104,
+ 240, 92, 93, 133, 114, 286, 269, 81, 244, 231,
+ 272, 225, 248, 249, 292, 274, -104, 268, 85, 76,
+ 233, 298, -104, 86, 118, 275, 276, 79, 79, 239,
+ 296, 79, 283, 79, 48, 49, 319, 79, 82, 201,
+ 324, 323, 325, 183, 71, 289, 185, 294, 85, 87,
+ 88, 89, 328, 86, 317, 300, 259, 245, 213, 295,
+ 260, 67, 90, 79, 91, 92, 93, 280, 0, 0,
+ 326, 243, 291, 0, 293, 63, 50, 51, 79, 87,
+ 4, 5, 278, 63, 6, 7, 0, 0, 0, 281,
+ 282, 0, 0, 285, 0, 92, 93, 227, 228, 0,
+ 52, 229, 0, 232, 0, 0, 0, 234, 0, 0,
+ 0, 299, 0, 301, 0, 302, 307, 308, 0, 310,
+ 14, 15, 16, 17, 97, 0, 0, 0, 0, 20,
+ 0, 0, 85, 254, 0, 21, 22, 86, 23, 327,
+ 24, 0, 329, 25, 66, 330, 61, 332, 264, 2,
+ 3, 0, 4, 5, 0, 0, 6, 7, 0, 0,
+ 0, 0, 0, 87, 88, 89, 8, 9, 0, 0,
+ 0, 0, 85, 0, 0, 0, 90, 86, 0, 92,
+ 93, 313, 314, 0, 10, 11, 12, 13, 0, 0,
+ 0, 134, 14, 15, 16, 17, 18, 0, 0, 0,
+ 19, 20, 0, 87, 88, 0, 0, 21, 22, 0,
+ 23, 0, 24, 0, 0, 25, 26, 0, 27, 92,
+ 93, -18, 186, -18, 4, 5, 20, 0, 6, 7,
+ 0, 0, 315, 316, 0, 23, 0, 0, 0, 0,
+ 187, 0, 188, 189, 190, -73, -73, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 0, 0, 0, 13,
+ 200, 0, 0, 0, 14, 15, 16, 17, 0, 0,
+ 0, 0, -73, 20, 98, 99, 100, 101, 102, 21,
+ 22, 103, 23, 0, 24, 0, 0, 25, 26, 0,
+ 61, 0, 0, 75, -73, 76, 186, 0, 4, 5,
+ 0, 0, 6, 7, 104, 105, 106, 107, 108, 0,
+ 0, 109, 0, 0, 187, 0, 188, 189, 190, -72,
+ -72, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 0, 0, 0, 13, 200, 0, 0, 0, 14, 15,
+ 16, 17, 0, 0, 0, 0, -72, 20, 0, 0,
+ 0, 0, 0, 21, 22, 0, 23, 0, 24, 0,
+ 0, 25, 26, 0, 61, 0, 0, 75, -72, 76,
+ 186, 0, 4, 5, 0, 0, 6, 7, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 187, 0,
+ 188, 189, 190, 0, 0, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 0, 0, 0, 13, 200, 0,
+ 0, 0, 14, 15, 16, 17, 69, 0, 4, 5,
+ 0, 20, 6, 7, 0, -103, 0, 21, 22, 0,
+ 23, 0, 24, 0, 0, 25, 26, 0, 61, 0,
+ 0, 75, 201, 76, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 13, 0, 0, 0, 0, 14, 15,
+ 16, 17, 0, 0, 0, 0, -103, 20, 0, 0,
+ 0, 0, 0, 21, 22, 0, 23, 0, 24, 0,
+ 0, 25, 255, -103, 61, 0, 4, 5, 0, -103,
+ 6, 7, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 187, 0, 188, 189, 190, 0, 0, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 0, 4,
+ 5, 13, 200, 6, 7, 0, 14, 15, 16, 17,
+ 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
+ 85, 21, 22, 0, 23, 86, 24, 0, 0, 25,
+ 26, 0, 61, 0, 13, 75, 0, 76, 0, 14,
15, 16, 17, 69, 0, 4, 5, 0, 20, 6,
- 7, 0, -102, 0, 21, 22, 0, 23, 0, 24,
- 0, 0, 25, 26, 0, 61, 0, 0, 75, 204,
- 76, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 0, 0, 0, 0, 14, 15, 16, 17, 0,
- 0, 0, 0, -102, 20, 0, 0, 0, 0, 0,
- 21, 22, 0, 23, 0, 24, 0, 0, 25, 257,
- -102, 61, 0, 4, 5, 0, -102, 6, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 190,
- 0, 191, 192, 193, 0, 0, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 0, 4, 5, 13, 203,
+ 7, 87, 88, 89, 21, 22, 0, 23, 0, 24,
+ 0, 0, 25, 26, 90, 61, 0, 92, 93, 0,
+ 76, 0, 0, 0, 0, 69, 0, 4, 5, 0,
+ 13, 6, 7, 0, 0, 14, 15, 16, 17, 0,
+ 0, 0, 0, 0, 20, 0, 0, 0, 0, 0,
+ 21, 22, 0, 23, 0, 24, 0, 0, 25, 26,
+ -103, 61, 13, 0, 0, 0, 0, 14, 15, 16,
+ 17, 180, 0, 4, 5, 0, 20, 6, 7, 0,
+ 0, 0, 21, 22, 0, 23, 0, 24, 0, 0,
+ 25, 26, 0, 61, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4, 251, 13, 0,
6, 7, 0, 14, 15, 16, 17, 0, 0, 0,
- 0, 0, 20, 0, 0, 0, 0, 85, 21, 22,
- 0, 23, 86, 24, 0, 0, 25, 26, 0, 61,
- 0, 13, 75, 0, 76, 0, 14, 15, 16, 17,
- 69, 0, 4, 5, 0, 20, 6, 7, 87, 88,
- 89, 21, 22, 0, 23, 0, 24, 0, 0, 25,
- 26, 90, 61, 91, 92, 93, 0, 76, 0, 0,
- 0, 0, 69, 0, 4, 5, 0, 13, 6, 7,
- 0, 0, 14, 15, 16, 17, 0, 0, 0, 0,
- 0, 20, 0, 0, 0, 0, 0, 21, 22, 0,
- 23, 0, 24, 0, 0, 25, 26, -102, 61, 13,
- 0, 0, 0, 0, 14, 15, 16, 17, 183, 0,
- 4, 5, 0, 20, 6, 7, 0, 0, 0, 21,
- 22, 0, 23, 0, 24, 0, 0, 25, 26, 0,
- 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4, 253, 13, 0, 6, 7, 0,
- 14, 15, 16, 17, 0, 0, 0, 0, 0, 20,
- 0, 0, 192, 0, 0, 21, 22, 0, 23, 0,
- 24, 199, 200, 25, 26, 0, 61, 0, 13, 0,
- 0, 0, 0, 14, 15, 16, 17, 0, 0, 4,
- 5, 0, 20, 6, 7, 0, 0, 0, 21, 22,
- 0, 23, 0, 24, 0, 0, 25, 26, 192, 61,
- 0, 0, 0, 0, 0, 0, 0, 199, 200, 0,
- 0, 0, 0, 0, 13, 0, 0, 0, 0, 14,
- 15, 16, 17, 0, 0, 4, 5, 0, 20, 6,
- 7, 0, 0, 96, 21, 22, 0, 23, 0, 24,
- 0, 0, 25, 26, 0, 61, 0, 0, 0, 0,
- 0, 0, 4, 5, 0, 0, 6, 7, 0, 0,
- 13, 0, 0, 0, 0, 14, 15, 16, 17, 0,
- 0, 0, 0, 85, 20, 0, 0, 0, 86, 0,
- 21, 22, 0, 23, 0, 24, 0, 13, 25, 26,
- 0, 61, 14, 15, 16, 17, 0, 0, 4, 5,
- 0, 20, 6, 7, 87, 88, 89, 21, 22, 0,
- 23, 0, 24, 0, 0, 25, 26, 90, 61, 0,
- 92, 93, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 85, 14, 15,
- 16, 17, 86, 0, 0, 0, 0, 20, 0, 0,
+ 0, 0, 20, 0, 0, 189, 0, 0, 21, 22,
+ 0, 23, 0, 24, 196, 197, 25, 26, 0, 61,
+ 0, 13, 0, 0, 0, 0, 14, 15, 16, 17,
+ 0, 0, 4, 5, 0, 20, 6, 7, 0, 0,
+ 0, 21, 22, 0, 23, 0, 24, 0, 0, 25,
+ 26, 189, 61, 0, 0, 0, 0, 0, 0, 0,
+ 196, 197, 0, 0, 0, 0, 0, 13, 0, 0,
+ 0, 0, 14, 15, 16, 17, 0, 0, 4, 5,
+ 0, 20, 6, 7, 0, 0, 96, 21, 22, 0,
+ 23, 0, 24, 0, 0, 25, 26, 0, 61, 0,
+ 0, 0, 0, 0, 0, 4, 5, 0, 0, 6,
+ 7, 0, 0, 13, 0, 0, 0, 0, 14, 15,
+ 16, 17, 0, 0, 0, 0, 0, 20, 0, 0,
0, 0, 0, 21, 22, 0, 23, 0, 24, 0,
- 0, 25, 66, 0, 61, 0, 0, 0, 87, 88,
- 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 90, 214, 0, 92, 93
+ 13, 25, 26, 0, 61, 14, 15, 16, 17, 0,
+ 85, 0, 0, 0, 20, 86, 0, 0, 0, 0,
+ 21, 22, 0, 23, 0, 24, 0, 0, 25, 26,
+ 0, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 87, 88, 89, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 90, 211, 0, 92, 93
};
static const yytype_int16 yycheck[] =
{
- 1, 29, 30, 26, 29, 59, 60, 238, 46, 211,
- 228, 13, 14, 15, 87, 4, 27, 1, 16, 21,
- 22, 44, 24, 25, 70, 26, 10, 40, 300, 16,
- 4, 51, 51, 35, 60, 61, 62, 309, 1, 65,
- 67, 1, 43, 44, 1, 1, 6, 4, 1, 70,
- 61, 1, 72, 6, 74, 74, 1, 70, 59, 60,
- 21, 22, 67, 24, 67, 66, 1, 51, 24, 25,
- 116, 55, 70, 72, 35, 306, 1, 66, 1, 29,
- 126, 127, 300, 70, 68, 86, 51, 88, 89, 90,
- 74, 309, 55, 67, 95, 51, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 109, 71, 182,
- 55, 68, 49, 1, 115, 140, 4, 73, 143, 3,
- 55, 67, 124, 68, 326, 56, 51, 329, 51, 175,
- 3, 132, 9, 68, 51, 136, 4, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 74,
- 9, 74, 65, 154, 156, 14, 5, 81, 43, 44,
- 3, 4, 38, 124, 48, 13, 50, 91, 68, 227,
- 9, 67, 197, 198, 43, 44, 201, 40, 203, 56,
- 57, 40, 207, 237, 9, 67, 67, 212, 67, 14,
- 140, 74, 4, 143, 68, 26, 10, 56, 57, 272,
- 246, 202, 45, 46, 250, 251, 67, 232, 54, 133,
- 248, 140, 20, 214, 143, 40, 41, 56, 57, 277,
- 221, 222, 247, 281, 225, 226, 69, 265, 274, 73,
- 255, 56, 57, 7, 257, 7, 237, 283, 30, 303,
- 298, 222, 286, 301, 290, 12, 13, 197, 198, 25,
- 156, 201, 280, 203, 7, 8, 257, 207, 265, 284,
- 317, 176, -1, -1, 310, -1, -1, 292, 197, 198,
- 328, 195, 201, 331, 203, 321, 43, 44, 207, -1,
- 204, 282, 232, 284, 286, 52, -1, -1, -1, 213,
- -1, -1, 294, 217, -1, 9, -1, 247, -1, 52,
- 14, -1, -1, 232, 9, 58, 59, -1, 61, 14,
- 58, 59, 60, 61, 62, 239, -1, 65, 247, -1,
- -1, -1, -1, -1, -1, -1, 40, 41, 42, -1,
- -1, -1, -1, 294, -1, 40, 41, 42, 262, 53,
- -1, -1, 56, 57, -1, 269, 270, -1, 53, 273,
- -1, 56, 57, -1, 58, 59, 60, 61, 62, -1,
- 74, 65, -1, 68, -1, -1, -1, 291, -1, 293,
- -1, 295, 296, 297, -1, 299, 0, 1, -1, 3,
- 4, -1, -1, 7, 8, -1, -1, -1, -1, -1,
- -1, -1, -1, 17, 18, 319, -1, -1, 322, -1,
- -1, 325, -1, 327, -1, -1, -1, -1, -1, -1,
- -1, 35, 36, 37, 38, -1, -1, -1, -1, 43,
- 44, 45, 46, 47, -1, -1, -1, 51, 52, -1,
- -1, -1, -1, -1, 58, 59, -1, 61, -1, 63,
- -1, -1, 66, 67, -1, 69, -1, -1, 72, 1,
- 74, 3, 4, -1, -1, 7, 8, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 19, -1, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, -1, -1, -1, 38, 39, -1, -1,
- -1, 43, 44, 45, 46, -1, -1, -1, -1, 51,
- 52, -1, -1, -1, -1, -1, 58, 59, -1, 61,
- -1, 63, -1, -1, 66, 67, -1, 69, -1, -1,
- 72, 73, 74, 1, -1, 3, 4, -1, -1, 7,
- 8, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 19, -1, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, -1, -1, -1,
- 38, 39, -1, -1, -1, 43, 44, 45, 46, -1,
- -1, -1, -1, 51, 52, -1, -1, -1, -1, -1,
- 58, 59, -1, 61, -1, 63, -1, -1, 66, 67,
- -1, 69, -1, -1, 72, 73, 74, 1, -1, 3,
- 4, -1, -1, 7, 8, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 19, -1, 21, 22, 23,
- -1, -1, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, -1, -1, -1, 38, 39, -1, -1, -1, 43,
+ 1, 29, 208, 29, 30, 1, 26, 46, 226, 236,
+ 70, 13, 14, 15, 59, 60, 1, 87, 1, 21,
+ 22, 40, 24, 25, 44, 26, 1, 4, 1, 4,
+ 16, 301, 67, 35, 3, 27, 1, 43, 44, 4,
+ 310, 51, 43, 44, 1, 1, 4, 60, 61, 62,
+ 6, 70, 65, 43, 44, 51, 116, 16, 59, 60,
+ 21, 22, 1, 24, 74, 66, 126, 127, 51, 61,
+ 55, 9, 29, 70, 35, 225, 67, 72, 74, 48,
+ 307, 50, 55, 301, 70, 86, 71, 88, 89, 90,
+ 67, 74, 310, 68, 95, 68, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 66, 179,
+ 81, 70, 140, 9, 115, 143, 55, 67, 56, 57,
+ 91, 327, 124, 51, 330, 1, 49, 1, 278, 68,
+ 6, 132, 282, 67, 51, 136, 56, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 299,
+ 24, 25, 302, 154, 156, 72, 216, 74, 65, 1,
+ 56, 57, 133, 124, 9, 51, 194, 195, 10, 14,
+ 198, 3, 200, 4, 12, 13, 204, 51, 5, 329,
+ 38, 209, 332, 140, 244, 13, 143, 68, 248, 249,
+ 235, 40, 67, 4, 67, 40, 41, 42, 199, 73,
+ 67, 67, 230, 273, 74, 43, 44, 246, 53, 51,
+ 211, 56, 57, 55, 52, 275, 68, 245, 219, 220,
+ 26, 192, 223, 224, 284, 253, 68, 266, 9, 74,
+ 201, 291, 74, 14, 235, 255, 10, 194, 195, 210,
+ 20, 198, 67, 200, 3, 4, 54, 204, 30, 73,
+ 7, 311, 7, 140, 255, 281, 143, 285, 9, 40,
+ 41, 42, 322, 14, 304, 293, 237, 220, 156, 287,
+ 241, 25, 53, 230, 55, 56, 57, 266, -1, -1,
+ 318, 217, 283, -1, 285, 287, 45, 46, 245, 40,
+ 3, 4, 263, 295, 7, 8, -1, -1, -1, 270,
+ 271, -1, -1, 274, -1, 56, 57, 194, 195, -1,
+ 69, 198, -1, 200, -1, -1, -1, 204, -1, -1,
+ -1, 292, -1, 294, -1, 296, 297, 298, -1, 300,
+ 43, 44, 45, 46, 295, -1, -1, -1, -1, 52,
+ -1, -1, 9, 230, -1, 58, 59, 14, 61, 320,
+ 63, -1, 323, 66, 67, 326, 69, 328, 245, 0,
+ 1, -1, 3, 4, -1, -1, 7, 8, -1, -1,
+ -1, -1, -1, 40, 41, 42, 17, 18, -1, -1,
+ -1, -1, 9, -1, -1, -1, 53, 14, -1, 56,
+ 57, 7, 8, -1, 35, 36, 37, 38, -1, -1,
+ -1, 68, 43, 44, 45, 46, 47, -1, -1, -1,
+ 51, 52, -1, 40, 41, -1, -1, 58, 59, -1,
+ 61, -1, 63, -1, -1, 66, 67, -1, 69, 56,
+ 57, 72, 1, 74, 3, 4, 52, -1, 7, 8,
+ -1, -1, 58, 59, -1, 61, -1, -1, -1, -1,
+ 19, -1, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, -1, -1, -1, 38,
+ 39, -1, -1, -1, 43, 44, 45, 46, -1, -1,
+ -1, -1, 51, 52, 58, 59, 60, 61, 62, 58,
+ 59, 65, 61, -1, 63, -1, -1, 66, 67, -1,
+ 69, -1, -1, 72, 73, 74, 1, -1, 3, 4,
+ -1, -1, 7, 8, 58, 59, 60, 61, 62, -1,
+ -1, 65, -1, -1, 19, -1, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ -1, -1, -1, 38, 39, -1, -1, -1, 43, 44,
+ 45, 46, -1, -1, -1, -1, 51, 52, -1, -1,
+ -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
+ -1, 66, 67, -1, 69, -1, -1, 72, 73, 74,
+ 1, -1, 3, 4, -1, -1, 7, 8, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 19, -1,
+ 21, 22, 23, -1, -1, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, -1, -1, -1, 38, 39, -1,
+ -1, -1, 43, 44, 45, 46, 1, -1, 3, 4,
+ -1, 52, 7, 8, -1, 10, -1, 58, 59, -1,
+ 61, -1, 63, -1, -1, 66, 67, -1, 69, -1,
+ -1, 72, 73, 74, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 38, -1, -1, -1, -1, 43, 44,
+ 45, 46, -1, -1, -1, -1, 51, 52, -1, -1,
+ -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
+ -1, 66, 67, 68, 69, -1, 3, 4, -1, 74,
+ 7, 8, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 19, -1, 21, 22, 23, -1, -1, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, -1, 3,
+ 4, 38, 39, 7, 8, -1, 43, 44, 45, 46,
+ -1, -1, -1, -1, -1, 52, -1, -1, -1, -1,
+ 9, 58, 59, -1, 61, 14, 63, -1, -1, 66,
+ 67, -1, 69, -1, 38, 72, -1, 74, -1, 43,
44, 45, 46, 1, -1, 3, 4, -1, 52, 7,
- 8, -1, 10, -1, 58, 59, -1, 61, -1, 63,
- -1, -1, 66, 67, -1, 69, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 38, -1, -1, -1, -1, 43, 44, 45, 46, -1,
- -1, -1, -1, 51, 52, -1, -1, -1, -1, -1,
+ 8, 40, 41, 42, 58, 59, -1, 61, -1, 63,
+ -1, -1, 66, 67, 53, 69, -1, 56, 57, -1,
+ 74, -1, -1, -1, -1, 1, -1, 3, 4, -1,
+ 38, 7, 8, -1, -1, 43, 44, 45, 46, -1,
+ -1, -1, -1, -1, 52, -1, -1, -1, -1, -1,
58, 59, -1, 61, -1, 63, -1, -1, 66, 67,
- 68, 69, -1, 3, 4, -1, 74, 7, 8, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 19,
- -1, 21, 22, 23, -1, -1, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, -1, 3, 4, 38, 39,
+ 68, 69, 38, -1, -1, -1, -1, 43, 44, 45,
+ 46, 1, -1, 3, 4, -1, 52, 7, 8, -1,
+ -1, -1, 58, 59, -1, 61, -1, 63, -1, -1,
+ 66, 67, -1, 69, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3, 4, 38, -1,
7, 8, -1, 43, 44, 45, 46, -1, -1, -1,
- -1, -1, 52, -1, -1, -1, -1, 9, 58, 59,
- -1, 61, 14, 63, -1, -1, 66, 67, -1, 69,
- -1, 38, 72, -1, 74, -1, 43, 44, 45, 46,
- 1, -1, 3, 4, -1, 52, 7, 8, 40, 41,
- 42, 58, 59, -1, 61, -1, 63, -1, -1, 66,
- 67, 53, 69, 55, 56, 57, -1, 74, -1, -1,
- -1, -1, 1, -1, 3, 4, -1, 38, 7, 8,
- -1, -1, 43, 44, 45, 46, -1, -1, -1, -1,
- -1, 52, -1, -1, -1, -1, -1, 58, 59, -1,
- 61, -1, 63, -1, -1, 66, 67, 68, 69, 38,
- -1, -1, -1, -1, 43, 44, 45, 46, 1, -1,
- 3, 4, -1, 52, 7, 8, -1, -1, -1, 58,
- 59, -1, 61, -1, 63, -1, -1, 66, 67, -1,
- 69, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 3, 4, 38, -1, 7, 8, -1,
- 43, 44, 45, 46, -1, -1, -1, -1, -1, 52,
- -1, -1, 22, -1, -1, 58, 59, -1, 61, -1,
- 63, 31, 32, 66, 67, -1, 69, -1, 38, -1,
- -1, -1, -1, 43, 44, 45, 46, -1, -1, 3,
- 4, -1, 52, 7, 8, -1, -1, -1, 58, 59,
- -1, 61, -1, 63, -1, -1, 66, 67, 22, 69,
- -1, -1, -1, -1, -1, -1, -1, 31, 32, -1,
- -1, -1, -1, -1, 38, -1, -1, -1, -1, 43,
- 44, 45, 46, -1, -1, 3, 4, -1, 52, 7,
- 8, -1, -1, 11, 58, 59, -1, 61, -1, 63,
- -1, -1, 66, 67, -1, 69, -1, -1, -1, -1,
- -1, -1, 3, 4, -1, -1, 7, 8, -1, -1,
- 38, -1, -1, -1, -1, 43, 44, 45, 46, -1,
- -1, -1, -1, 9, 52, -1, -1, -1, 14, -1,
- 58, 59, -1, 61, -1, 63, -1, 38, 66, 67,
- -1, 69, 43, 44, 45, 46, -1, -1, 3, 4,
- -1, 52, 7, 8, 40, 41, 42, 58, 59, -1,
- 61, -1, 63, -1, -1, 66, 67, 53, 69, -1,
- 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 9, 43, 44,
- 45, 46, 14, -1, -1, -1, -1, 52, -1, -1,
+ -1, -1, 52, -1, -1, 22, -1, -1, 58, 59,
+ -1, 61, -1, 63, 31, 32, 66, 67, -1, 69,
+ -1, 38, -1, -1, -1, -1, 43, 44, 45, 46,
+ -1, -1, 3, 4, -1, 52, 7, 8, -1, -1,
+ -1, 58, 59, -1, 61, -1, 63, -1, -1, 66,
+ 67, 22, 69, -1, -1, -1, -1, -1, -1, -1,
+ 31, 32, -1, -1, -1, -1, -1, 38, -1, -1,
+ -1, -1, 43, 44, 45, 46, -1, -1, 3, 4,
+ -1, 52, 7, 8, -1, -1, 11, 58, 59, -1,
+ 61, -1, 63, -1, -1, 66, 67, -1, 69, -1,
+ -1, -1, -1, -1, -1, 3, 4, -1, -1, 7,
+ 8, -1, -1, 38, -1, -1, -1, -1, 43, 44,
+ 45, 46, -1, -1, -1, -1, -1, 52, -1, -1,
-1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
- -1, 66, 67, -1, 69, -1, -1, -1, 40, 41,
- 42, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 53, 54, -1, 56, 57
+ 38, 66, 67, -1, 69, 43, 44, 45, 46, -1,
+ 9, -1, -1, -1, 52, 14, -1, -1, -1, -1,
+ 58, 59, -1, 61, -1, 63, -1, -1, 66, 67,
+ -1, 69, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 53, 54, -1, 56, 57
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1094,37 +1087,37 @@ static const yytype_uint8 yystos[] =
0, 76, 0, 1, 3, 4, 7, 8, 17, 18,
35, 36, 37, 38, 43, 44, 45, 46, 47, 51,
52, 58, 59, 61, 63, 66, 67, 69, 77, 80,
- 84, 85, 87, 105, 113, 117, 118, 119, 120, 121,
- 122, 130, 131, 67, 70, 127, 128, 129, 3, 4,
- 45, 46, 69, 82, 83, 123, 131, 131, 131, 67,
- 67, 69, 118, 131, 118, 118, 67, 120, 131, 1,
- 112, 113, 48, 50, 122, 72, 74, 81, 89, 105,
- 133, 137, 81, 86, 51, 9, 14, 40, 41, 42,
- 53, 55, 56, 57, 115, 116, 11, 118, 58, 59,
+ 84, 86, 88, 106, 114, 118, 119, 120, 121, 122,
+ 123, 131, 132, 67, 70, 128, 129, 130, 3, 4,
+ 45, 46, 69, 82, 83, 124, 132, 132, 132, 67,
+ 67, 69, 119, 132, 119, 119, 67, 121, 132, 1,
+ 113, 114, 48, 50, 123, 72, 74, 81, 90, 106,
+ 134, 138, 81, 87, 51, 9, 14, 40, 41, 42,
+ 53, 55, 56, 57, 116, 117, 11, 119, 58, 59,
60, 61, 62, 65, 58, 59, 60, 61, 62, 65,
- 12, 13, 43, 44, 52, 114, 111, 112, 113, 112,
- 16, 127, 49, 67, 56, 107, 111, 111, 113, 43,
- 44, 132, 1, 55, 68, 135, 139, 135, 1, 6,
- 78, 1, 6, 79, 105, 106, 88, 106, 5, 113,
- 130, 113, 113, 113, 106, 113, 38, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 13,
- 113, 135, 71, 1, 4, 108, 109, 118, 135, 135,
- 113, 106, 40, 1, 113, 1, 89, 1, 89, 1,
- 19, 21, 22, 23, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 39, 73, 90, 91, 93, 100, 104,
- 113, 133, 134, 137, 54, 113, 123, 135, 1, 139,
- 130, 67, 92, 4, 67, 67, 67, 106, 67, 89,
- 89, 89, 110, 113, 89, 106, 89, 94, 88, 136,
- 137, 106, 113, 106, 1, 4, 113, 110, 95, 4,
- 113, 113, 90, 4, 93, 96, 89, 67, 101, 111,
- 134, 106, 135, 89, 124, 125, 126, 127, 68, 135,
- 135, 26, 40, 137, 112, 10, 102, 106, 16, 126,
- 106, 106, 67, 130, 106, 135, 103, 90, 133, 90,
- 113, 135, 113, 137, 117, 20, 97, 135, 106, 137,
- 106, 106, 1, 24, 25, 98, 106, 106, 90, 106,
- 96, 90, 7, 8, 58, 59, 85, 99, 54, 138,
- 134, 96, 135, 7, 7, 138, 106, 135, 106, 106,
- 88, 106, 90, 88, 90
+ 12, 13, 43, 44, 52, 115, 112, 113, 114, 113,
+ 16, 128, 49, 67, 56, 108, 112, 112, 114, 43,
+ 44, 133, 1, 55, 68, 136, 140, 136, 1, 6,
+ 78, 1, 6, 79, 106, 107, 89, 107, 5, 114,
+ 131, 114, 114, 114, 107, 114, 38, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 13,
+ 114, 136, 71, 85, 119, 136, 136, 114, 107, 40,
+ 1, 114, 1, 90, 1, 90, 1, 19, 21, 22,
+ 23, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 39, 73, 91, 92, 94, 101, 105, 114, 134, 135,
+ 138, 54, 114, 124, 1, 4, 109, 110, 131, 67,
+ 93, 4, 67, 67, 67, 107, 67, 90, 90, 90,
+ 111, 114, 90, 107, 90, 95, 89, 137, 138, 107,
+ 114, 136, 1, 140, 114, 111, 96, 4, 114, 114,
+ 91, 4, 94, 97, 90, 67, 102, 112, 135, 107,
+ 107, 1, 4, 136, 90, 125, 126, 127, 128, 68,
+ 136, 136, 26, 40, 138, 113, 10, 103, 107, 16,
+ 127, 107, 107, 67, 131, 107, 136, 104, 91, 134,
+ 91, 114, 136, 114, 138, 118, 20, 98, 136, 107,
+ 138, 107, 107, 1, 24, 25, 99, 107, 107, 91,
+ 107, 97, 91, 7, 8, 58, 59, 86, 100, 54,
+ 139, 135, 97, 136, 7, 7, 139, 107, 136, 107,
+ 107, 89, 107, 91, 89, 91
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -1133,22 +1126,22 @@ static const yytype_uint8 yyr1[] =
0, 75, 76, 76, 76, 76, 76, 77, 77, 77,
77, 77, 78, 78, 78, 79, 79, 79, 80, 80,
80, 80, 80, 80, 80, 81, 82, 82, 82, 82,
- 83, 83, 84, 86, 85, 87, 87, 88, 88, 88,
- 89, 89, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 91, 91, 91, 91, 91, 92, 91, 91,
- 94, 93, 95, 93, 93, 93, 96, 96, 97, 97,
- 97, 98, 98, 99, 99, 99, 99, 99, 100, 100,
- 101, 101, 102, 103, 102, 104, 104, 105, 105, 106,
- 106, 107, 107, 108, 108, 109, 109, 109, 109, 109,
- 110, 110, 111, 111, 112, 112, 112, 112, 112, 112,
- 113, 113, 113, 113, 113, 113, 113, 113, 114, 114,
- 114, 115, 115, 116, 116, 117, 117, 117, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 119,
- 119, 119, 119, 119, 119, 119, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 121, 121, 122, 123, 123, 124, 124, 125, 125, 126,
- 127, 128, 128, 129, 130, 130, 131, 131, 132, 132,
- 132, 133, 134, 135, 136, 136, 137, 138, 139
+ 83, 83, 85, 84, 87, 86, 88, 88, 89, 89,
+ 89, 90, 90, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 92, 92, 92, 92, 92, 93, 92,
+ 92, 95, 94, 96, 94, 94, 94, 97, 97, 98,
+ 98, 98, 99, 99, 100, 100, 100, 100, 100, 101,
+ 101, 102, 102, 103, 104, 103, 105, 105, 106, 106,
+ 107, 107, 108, 108, 109, 109, 110, 110, 110, 110,
+ 110, 111, 111, 112, 112, 113, 113, 113, 113, 113,
+ 113, 114, 114, 114, 114, 114, 114, 114, 114, 115,
+ 115, 115, 116, 116, 117, 117, 118, 118, 118, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 120, 120, 120, 120, 120, 120, 120, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 122, 122, 123, 124, 124, 125, 125, 126, 126,
+ 127, 128, 129, 129, 130, 131, 131, 132, 132, 133,
+ 133, 133, 134, 135, 136, 137, 137, 138, 139, 140
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -1157,22 +1150,22 @@ static const yytype_uint8 yyr2[] =
0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
4, 4, 1, 2, 1, 1, 2, 1, 0, 1,
4, 1, 1, 1, 1, 5, 1, 1, 1, 2,
- 1, 1, 6, 0, 3, 1, 1, 0, 2, 2,
- 1, 2, 2, 3, 1, 9, 6, 8, 8, 12,
- 11, 1, 2, 2, 2, 2, 3, 0, 4, 2,
- 0, 4, 0, 4, 4, 1, 0, 1, 0, 2,
- 2, 5, 4, 1, 2, 2, 1, 1, 1, 1,
- 1, 3, 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, 0, 2, 1, 2, 1,
- 3, 1, 2, 2, 1, 2, 1, 3, 1, 1,
- 0, 2, 2, 1, 0, 1, 1, 1, 2
+ 1, 1, 0, 7, 0, 3, 1, 1, 0, 2,
+ 2, 1, 2, 2, 3, 1, 9, 6, 8, 8,
+ 12, 11, 1, 2, 2, 2, 2, 3, 0, 4,
+ 2, 0, 4, 0, 4, 4, 1, 0, 1, 0,
+ 2, 2, 5, 4, 1, 2, 2, 1, 1, 1,
+ 1, 1, 3, 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, 0, 2, 1, 2,
+ 1, 3, 1, 2, 2, 1, 2, 1, 3, 1,
+ 1, 0, 2, 2, 1, 0, 1, 1, 1, 2
};
@@ -1849,24 +1842,24 @@ yyreduce:
switch (yyn)
{
case 3:
-#line 208 "awkgram.y" /* yacc.c:1646 */
+#line 213 "awkgram.y" /* yacc.c:1646 */
{
rule = 0;
yyerrok;
}
-#line 1858 "awkgram.c" /* yacc.c:1646 */
+#line 1851 "awkgram.c" /* yacc.c:1646 */
break;
case 5:
-#line 214 "awkgram.y" /* yacc.c:1646 */
+#line 219 "awkgram.y" /* yacc.c:1646 */
{
next_sourcefile();
}
-#line 1866 "awkgram.c" /* yacc.c:1646 */
+#line 1859 "awkgram.c" /* yacc.c:1646 */
break;
case 6:
-#line 218 "awkgram.y" /* yacc.c:1646 */
+#line 223 "awkgram.y" /* yacc.c:1646 */
{
rule = 0;
/*
@@ -1875,20 +1868,20 @@ yyreduce:
*/
/* yyerrok; */
}
-#line 1879 "awkgram.c" /* yacc.c:1646 */
+#line 1872 "awkgram.c" /* yacc.c:1646 */
break;
case 7:
-#line 230 "awkgram.y" /* yacc.c:1646 */
+#line 235 "awkgram.y" /* yacc.c:1646 */
{
(void) append_rule((yyvsp[-1]), (yyvsp[0]));
first_rule = false;
}
-#line 1888 "awkgram.c" /* yacc.c:1646 */
+#line 1881 "awkgram.c" /* yacc.c:1646 */
break;
case 8:
-#line 235 "awkgram.y" /* yacc.c:1646 */
+#line 240 "awkgram.y" /* yacc.c:1646 */
{
if (rule != Rule) {
msg(_("%s blocks must have an action part"), ruletab[rule]);
@@ -1899,41 +1892,42 @@ yyreduce:
} else /* pattern rule with non-empty pattern */
(void) append_rule((yyvsp[-1]), NULL);
}
-#line 1903 "awkgram.c" /* yacc.c:1646 */
+#line 1896 "awkgram.c" /* yacc.c:1646 */
break;
case 9:
-#line 246 "awkgram.y" /* yacc.c:1646 */
+#line 251 "awkgram.y" /* yacc.c:1646 */
{
in_function = NULL;
(void) mk_function((yyvsp[-1]), (yyvsp[0]));
+ want_param_names = DONT_CHECK;
yyerrok;
}
-#line 1913 "awkgram.c" /* yacc.c:1646 */
+#line 1907 "awkgram.c" /* yacc.c:1646 */
break;
case 10:
-#line 252 "awkgram.y" /* yacc.c:1646 */
+#line 258 "awkgram.y" /* yacc.c:1646 */
{
want_source = false;
at_seen = false;
yyerrok;
}
-#line 1923 "awkgram.c" /* yacc.c:1646 */
+#line 1917 "awkgram.c" /* yacc.c:1646 */
break;
case 11:
-#line 258 "awkgram.y" /* yacc.c:1646 */
+#line 264 "awkgram.y" /* yacc.c:1646 */
{
want_source = false;
at_seen = false;
yyerrok;
}
-#line 1933 "awkgram.c" /* yacc.c:1646 */
+#line 1927 "awkgram.c" /* yacc.c:1646 */
break;
case 12:
-#line 267 "awkgram.y" /* yacc.c:1646 */
+#line 273 "awkgram.y" /* yacc.c:1646 */
{
if (include_source((yyvsp[0])) < 0)
YYABORT;
@@ -1941,23 +1935,23 @@ yyreduce:
bcfree((yyvsp[0]));
(yyval) = NULL;
}
-#line 1945 "awkgram.c" /* yacc.c:1646 */
+#line 1939 "awkgram.c" /* yacc.c:1646 */
break;
case 13:
-#line 275 "awkgram.y" /* yacc.c:1646 */
+#line 281 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 1951 "awkgram.c" /* yacc.c:1646 */
+#line 1945 "awkgram.c" /* yacc.c:1646 */
break;
case 14:
-#line 277 "awkgram.y" /* yacc.c:1646 */
+#line 283 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 1957 "awkgram.c" /* yacc.c:1646 */
+#line 1951 "awkgram.c" /* yacc.c:1646 */
break;
case 15:
-#line 282 "awkgram.y" /* yacc.c:1646 */
+#line 288 "awkgram.y" /* yacc.c:1646 */
{
if (load_library((yyvsp[0])) < 0)
YYABORT;
@@ -1965,23 +1959,23 @@ yyreduce:
bcfree((yyvsp[0]));
(yyval) = NULL;
}
-#line 1969 "awkgram.c" /* yacc.c:1646 */
+#line 1963 "awkgram.c" /* yacc.c:1646 */
break;
case 16:
-#line 290 "awkgram.y" /* yacc.c:1646 */
+#line 296 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 1975 "awkgram.c" /* yacc.c:1646 */
+#line 1969 "awkgram.c" /* yacc.c:1646 */
break;
case 17:
-#line 292 "awkgram.y" /* yacc.c:1646 */
+#line 298 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 1981 "awkgram.c" /* yacc.c:1646 */
+#line 1975 "awkgram.c" /* yacc.c:1646 */
break;
case 18:
-#line 297 "awkgram.y" /* yacc.c:1646 */
+#line 303 "awkgram.y" /* yacc.c:1646 */
{
rule = Rule;
if (comment != NULL) {
@@ -1990,11 +1984,11 @@ yyreduce:
} else
(yyval) = NULL;
}
-#line 1994 "awkgram.c" /* yacc.c:1646 */
+#line 1988 "awkgram.c" /* yacc.c:1646 */
break;
case 19:
-#line 306 "awkgram.y" /* yacc.c:1646 */
+#line 312 "awkgram.y" /* yacc.c:1646 */
{
rule = Rule;
if (comment != NULL) {
@@ -2003,11 +1997,11 @@ yyreduce:
} else
(yyval) = (yyvsp[0]);
}
-#line 2007 "awkgram.c" /* yacc.c:1646 */
+#line 2001 "awkgram.c" /* yacc.c:1646 */
break;
case 20:
-#line 316 "awkgram.y" /* yacc.c:1646 */
+#line 322 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *tp;
@@ -2037,11 +2031,11 @@ yyreduce:
(yyval) = list_append(list_merge((yyvsp[-3]), (yyvsp[0])), tp);
rule = Rule;
}
-#line 2041 "awkgram.c" /* yacc.c:1646 */
+#line 2035 "awkgram.c" /* yacc.c:1646 */
break;
case 21:
-#line 346 "awkgram.y" /* yacc.c:1646 */
+#line 352 "awkgram.y" /* yacc.c:1646 */
{
static int begin_seen = 0;
@@ -2055,11 +2049,11 @@ yyreduce:
check_comment();
(yyval) = (yyvsp[0]);
}
-#line 2059 "awkgram.c" /* yacc.c:1646 */
+#line 2053 "awkgram.c" /* yacc.c:1646 */
break;
case 22:
-#line 360 "awkgram.y" /* yacc.c:1646 */
+#line 366 "awkgram.y" /* yacc.c:1646 */
{
static int end_seen = 0;
@@ -2073,11 +2067,11 @@ yyreduce:
check_comment();
(yyval) = (yyvsp[0]);
}
-#line 2077 "awkgram.c" /* yacc.c:1646 */
+#line 2071 "awkgram.c" /* yacc.c:1646 */
break;
case 23:
-#line 374 "awkgram.y" /* yacc.c:1646 */
+#line 380 "awkgram.y" /* yacc.c:1646 */
{
func_first = false;
(yyvsp[0])->in_rule = rule = BEGINFILE;
@@ -2085,11 +2079,11 @@ yyreduce:
check_comment();
(yyval) = (yyvsp[0]);
}
-#line 2089 "awkgram.c" /* yacc.c:1646 */
+#line 2083 "awkgram.c" /* yacc.c:1646 */
break;
case 24:
-#line 382 "awkgram.y" /* yacc.c:1646 */
+#line 388 "awkgram.y" /* yacc.c:1646 */
{
func_first = false;
(yyvsp[0])->in_rule = rule = ENDFILE;
@@ -2097,11 +2091,11 @@ yyreduce:
check_comment();
(yyval) = (yyvsp[0]);
}
-#line 2101 "awkgram.c" /* yacc.c:1646 */
+#line 2095 "awkgram.c" /* yacc.c:1646 */
break;
case 25:
-#line 393 "awkgram.y" /* yacc.c:1646 */
+#line 399 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip;
if ((yyvsp[-3]) == NULL)
@@ -2110,42 +2104,48 @@ yyreduce:
ip = (yyvsp[-3]);
(yyval) = ip;
}
-#line 2114 "awkgram.c" /* yacc.c:1646 */
+#line 2108 "awkgram.c" /* yacc.c:1646 */
break;
case 26:
-#line 405 "awkgram.y" /* yacc.c:1646 */
+#line 411 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 2120 "awkgram.c" /* yacc.c:1646 */
+#line 2114 "awkgram.c" /* yacc.c:1646 */
break;
case 27:
-#line 407 "awkgram.y" /* yacc.c:1646 */
+#line 413 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 2126 "awkgram.c" /* yacc.c:1646 */
+#line 2120 "awkgram.c" /* yacc.c:1646 */
break;
case 28:
-#line 409 "awkgram.y" /* yacc.c:1646 */
+#line 415 "awkgram.y" /* yacc.c:1646 */
{
yyerror(_("`%s' is a built-in function, it cannot be redefined"),
tokstart);
YYABORT;
}
-#line 2136 "awkgram.c" /* yacc.c:1646 */
+#line 2130 "awkgram.c" /* yacc.c:1646 */
break;
case 29:
-#line 415 "awkgram.y" /* yacc.c:1646 */
+#line 421 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = (yyvsp[0]);
at_seen = false;
}
-#line 2145 "awkgram.c" /* yacc.c:1646 */
+#line 2139 "awkgram.c" /* yacc.c:1646 */
break;
case 32:
-#line 428 "awkgram.y" /* yacc.c:1646 */
+#line 433 "awkgram.y" /* yacc.c:1646 */
+ { want_param_names = FUNC_HEADER; }
+#line 2145 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 33:
+#line 434 "awkgram.y" /* yacc.c:1646 */
{
/*
* treat any comments between BOF and the first function
@@ -2163,26 +2163,27 @@ yyreduce:
comment = NULL;
}
func_first = false;
- (yyvsp[-5])->source_file = source;
- if (install_function((yyvsp[-4])->lextok, (yyvsp[-5]), (yyvsp[-2])) < 0)
+ (yyvsp[-6])->source_file = source;
+ if (install_function((yyvsp[-5])->lextok, (yyvsp[-6]), (yyvsp[-2])) < 0)
YYABORT;
- in_function = (yyvsp[-4])->lextok;
- (yyvsp[-4])->lextok = NULL;
- bcfree((yyvsp[-4]));
- /* $4 already free'd in install_function */
- (yyval) = (yyvsp[-5]);
+ in_function = (yyvsp[-5])->lextok;
+ (yyvsp[-5])->lextok = NULL;
+ bcfree((yyvsp[-5]));
+ /* $5 already free'd in install_function */
+ (yyval) = (yyvsp[-6]);
+ want_param_names = FUNC_BODY;
}
-#line 2176 "awkgram.c" /* yacc.c:1646 */
+#line 2177 "awkgram.c" /* yacc.c:1646 */
break;
- case 33:
-#line 462 "awkgram.y" /* yacc.c:1646 */
+ case 34:
+#line 469 "awkgram.y" /* yacc.c:1646 */
{ want_regexp = true; }
-#line 2182 "awkgram.c" /* yacc.c:1646 */
+#line 2183 "awkgram.c" /* yacc.c:1646 */
break;
- case 34:
-#line 464 "awkgram.y" /* yacc.c:1646 */
+ case 35:
+#line 471 "awkgram.y" /* yacc.c:1646 */
{
NODE *n, *exp;
char *re;
@@ -2211,28 +2212,28 @@ yyreduce:
(yyval)->opcode = Op_match_rec;
(yyval)->memory = n;
}
-#line 2215 "awkgram.c" /* yacc.c:1646 */
+#line 2216 "awkgram.c" /* yacc.c:1646 */
break;
- case 35:
-#line 496 "awkgram.y" /* yacc.c:1646 */
+ case 36:
+#line 503 "awkgram.y" /* yacc.c:1646 */
{ bcfree((yyvsp[0])); }
-#line 2221 "awkgram.c" /* yacc.c:1646 */
+#line 2222 "awkgram.c" /* yacc.c:1646 */
break;
- case 37:
-#line 502 "awkgram.y" /* yacc.c:1646 */
+ case 38:
+#line 509 "awkgram.y" /* yacc.c:1646 */
{
if (comment != NULL) {
(yyval) = list_create(comment);
comment = NULL;
} else (yyval) = NULL;
}
-#line 2232 "awkgram.c" /* yacc.c:1646 */
+#line 2233 "awkgram.c" /* yacc.c:1646 */
break;
- case 38:
-#line 509 "awkgram.y" /* yacc.c:1646 */
+ case 39:
+#line 516 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0]) == NULL) {
if (comment == NULL)
@@ -2260,40 +2261,40 @@ yyreduce:
}
yyerrok;
}
-#line 2264 "awkgram.c" /* yacc.c:1646 */
+#line 2265 "awkgram.c" /* yacc.c:1646 */
break;
- case 39:
-#line 537 "awkgram.y" /* yacc.c:1646 */
+ case 40:
+#line 544 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2270 "awkgram.c" /* yacc.c:1646 */
+#line 2271 "awkgram.c" /* yacc.c:1646 */
break;
- case 42:
-#line 547 "awkgram.y" /* yacc.c:1646 */
+ case 43:
+#line 554 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2276 "awkgram.c" /* yacc.c:1646 */
+#line 2277 "awkgram.c" /* yacc.c:1646 */
break;
- case 43:
-#line 549 "awkgram.y" /* yacc.c:1646 */
+ case 44:
+#line 556 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 2282 "awkgram.c" /* yacc.c:1646 */
+#line 2283 "awkgram.c" /* yacc.c:1646 */
break;
- case 44:
-#line 551 "awkgram.y" /* yacc.c:1646 */
+ case 45:
+#line 558 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
(yyval) = list_prepend((yyvsp[0]), instruction(Op_exec_count));
else
(yyval) = (yyvsp[0]);
}
-#line 2293 "awkgram.c" /* yacc.c:1646 */
+#line 2294 "awkgram.c" /* yacc.c:1646 */
break;
- case 45:
-#line 558 "awkgram.y" /* yacc.c:1646 */
+ case 46:
+#line 565 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
INSTRUCTION *ip, *nextc, *tbreak;
@@ -2383,11 +2384,11 @@ yyreduce:
break_allowed--;
fix_break_continue(ip, tbreak, NULL);
}
-#line 2387 "awkgram.c" /* yacc.c:1646 */
+#line 2388 "awkgram.c" /* yacc.c:1646 */
break;
- case 46:
-#line 648 "awkgram.y" /* yacc.c:1646 */
+ case 47:
+#line 655 "awkgram.y" /* yacc.c:1646 */
{
/*
* -----------------
@@ -2429,11 +2430,11 @@ yyreduce:
continue_allowed--;
fix_break_continue(ip, tbreak, tcont);
}
-#line 2433 "awkgram.c" /* yacc.c:1646 */
+#line 2434 "awkgram.c" /* yacc.c:1646 */
break;
- case 47:
-#line 690 "awkgram.y" /* yacc.c:1646 */
+ case 48:
+#line 697 "awkgram.y" /* yacc.c:1646 */
{
/*
* -----------------
@@ -2475,11 +2476,11 @@ yyreduce:
} /* else
$1 and $4 are NULLs */
}
-#line 2479 "awkgram.c" /* yacc.c:1646 */
+#line 2480 "awkgram.c" /* yacc.c:1646 */
break;
- case 48:
-#line 732 "awkgram.y" /* yacc.c:1646 */
+ case 49:
+#line 739 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip;
char *var_name = (yyvsp[-5])->lextok;
@@ -2592,44 +2593,44 @@ regular_loop:
break_allowed--;
continue_allowed--;
}
-#line 2596 "awkgram.c" /* yacc.c:1646 */
+#line 2597 "awkgram.c" /* yacc.c:1646 */
break;
- case 49:
-#line 845 "awkgram.y" /* yacc.c:1646 */
+ case 50:
+#line 852 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), (yyvsp[-3]), (yyvsp[0]));
break_allowed--;
continue_allowed--;
}
-#line 2607 "awkgram.c" /* yacc.c:1646 */
+#line 2608 "awkgram.c" /* yacc.c:1646 */
break;
- case 50:
-#line 852 "awkgram.y" /* yacc.c:1646 */
+ case 51:
+#line 859 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION *) NULL, (yyvsp[-3]), (yyvsp[0]));
break_allowed--;
continue_allowed--;
}
-#line 2618 "awkgram.c" /* yacc.c:1646 */
+#line 2619 "awkgram.c" /* yacc.c:1646 */
break;
- case 51:
-#line 859 "awkgram.y" /* yacc.c:1646 */
+ case 52:
+#line 866 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
(yyval) = list_prepend((yyvsp[0]), instruction(Op_exec_count));
else
(yyval) = (yyvsp[0]);
}
-#line 2629 "awkgram.c" /* yacc.c:1646 */
+#line 2630 "awkgram.c" /* yacc.c:1646 */
break;
- case 52:
-#line 869 "awkgram.y" /* yacc.c:1646 */
+ case 53:
+#line 876 "awkgram.y" /* yacc.c:1646 */
{
if (! break_allowed)
error_ln((yyvsp[-1])->source_line,
@@ -2638,11 +2639,11 @@ regular_loop:
(yyval) = list_create((yyvsp[-1]));
}
-#line 2642 "awkgram.c" /* yacc.c:1646 */
+#line 2643 "awkgram.c" /* yacc.c:1646 */
break;
- case 53:
-#line 878 "awkgram.y" /* yacc.c:1646 */
+ case 54:
+#line 885 "awkgram.y" /* yacc.c:1646 */
{
if (! continue_allowed)
error_ln((yyvsp[-1])->source_line,
@@ -2651,11 +2652,11 @@ regular_loop:
(yyval) = list_create((yyvsp[-1]));
}
-#line 2655 "awkgram.c" /* yacc.c:1646 */
+#line 2656 "awkgram.c" /* yacc.c:1646 */
break;
- case 54:
-#line 887 "awkgram.y" /* yacc.c:1646 */
+ case 55:
+#line 894 "awkgram.y" /* yacc.c:1646 */
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule && rule != Rule)
@@ -2664,11 +2665,11 @@ regular_loop:
(yyvsp[-1])->target_jmp = ip_rec;
(yyval) = list_create((yyvsp[-1]));
}
-#line 2668 "awkgram.c" /* yacc.c:1646 */
+#line 2669 "awkgram.c" /* yacc.c:1646 */
break;
- case 55:
-#line 896 "awkgram.y" /* yacc.c:1646 */
+ case 56:
+#line 903 "awkgram.y" /* yacc.c:1646 */
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule == BEGIN || rule == END || rule == ENDFILE)
@@ -2679,11 +2680,11 @@ regular_loop:
(yyvsp[-1])->target_endfile = ip_endfile;
(yyval) = list_create((yyvsp[-1]));
}
-#line 2683 "awkgram.c" /* yacc.c:1646 */
+#line 2684 "awkgram.c" /* yacc.c:1646 */
break;
- case 56:
-#line 907 "awkgram.y" /* yacc.c:1646 */
+ case 57:
+#line 914 "awkgram.y" /* yacc.c:1646 */
{
/* Initialize the two possible jump targets, the actual target
* is resolved at run-time.
@@ -2698,20 +2699,20 @@ regular_loop:
} else
(yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
}
-#line 2702 "awkgram.c" /* yacc.c:1646 */
+#line 2703 "awkgram.c" /* yacc.c:1646 */
break;
- case 57:
-#line 922 "awkgram.y" /* yacc.c:1646 */
+ case 58:
+#line 929 "awkgram.y" /* yacc.c:1646 */
{
if (! in_function)
yyerror(_("`return' used outside function context"));
}
-#line 2711 "awkgram.c" /* yacc.c:1646 */
+#line 2712 "awkgram.c" /* yacc.c:1646 */
break;
- case 58:
-#line 925 "awkgram.y" /* yacc.c:1646 */
+ case 59:
+#line 932 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-1]) == NULL) {
(yyval) = list_create((yyvsp[-3]));
@@ -2732,17 +2733,17 @@ regular_loop:
(yyval) = list_append((yyvsp[-1]), (yyvsp[-3]));
}
}
-#line 2736 "awkgram.c" /* yacc.c:1646 */
+#line 2737 "awkgram.c" /* yacc.c:1646 */
break;
- case 60:
-#line 957 "awkgram.y" /* yacc.c:1646 */
+ case 61:
+#line 964 "awkgram.y" /* yacc.c:1646 */
{ in_print = true; in_parens = 0; }
-#line 2742 "awkgram.c" /* yacc.c:1646 */
+#line 2743 "awkgram.c" /* yacc.c:1646 */
break;
- case 61:
-#line 958 "awkgram.y" /* yacc.c:1646 */
+ case 62:
+#line 965 "awkgram.y" /* yacc.c:1646 */
{
/*
* Optimization: plain `print' has no expression list, so $3 is null.
@@ -2839,17 +2840,17 @@ regular_print:
}
}
}
-#line 2843 "awkgram.c" /* yacc.c:1646 */
+#line 2844 "awkgram.c" /* yacc.c:1646 */
break;
- case 62:
-#line 1055 "awkgram.y" /* yacc.c:1646 */
+ case 63:
+#line 1062 "awkgram.y" /* yacc.c:1646 */
{ sub_counter = 0; }
-#line 2849 "awkgram.c" /* yacc.c:1646 */
+#line 2850 "awkgram.c" /* yacc.c:1646 */
break;
- case 63:
-#line 1056 "awkgram.y" /* yacc.c:1646 */
+ case 64:
+#line 1063 "awkgram.y" /* yacc.c:1646 */
{
char *arr = (yyvsp[-2])->lextok;
@@ -2882,11 +2883,11 @@ regular_print:
(yyval) = list_append(list_append((yyvsp[0]), (yyvsp[-2])), (yyvsp[-3]));
}
}
-#line 2886 "awkgram.c" /* yacc.c:1646 */
+#line 2887 "awkgram.c" /* yacc.c:1646 */
break;
- case 64:
-#line 1093 "awkgram.y" /* yacc.c:1646 */
+ case 65:
+#line 1100 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
char *arr = (yyvsp[-1])->lextok;
@@ -2912,52 +2913,52 @@ regular_print:
fatal(_("`delete' is not allowed with FUNCTAB"));
}
}
-#line 2916 "awkgram.c" /* yacc.c:1646 */
+#line 2917 "awkgram.c" /* yacc.c:1646 */
break;
- case 65:
-#line 1119 "awkgram.y" /* yacc.c:1646 */
+ case 66:
+#line 1126 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = optimize_assignment((yyvsp[0])); }
-#line 2922 "awkgram.c" /* yacc.c:1646 */
+#line 2923 "awkgram.c" /* yacc.c:1646 */
break;
- case 66:
-#line 1124 "awkgram.y" /* yacc.c:1646 */
+ case 67:
+#line 1131 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2928 "awkgram.c" /* yacc.c:1646 */
+#line 2929 "awkgram.c" /* yacc.c:1646 */
break;
- case 67:
-#line 1126 "awkgram.y" /* yacc.c:1646 */
+ case 68:
+#line 1133 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 2934 "awkgram.c" /* yacc.c:1646 */
+#line 2935 "awkgram.c" /* yacc.c:1646 */
break;
- case 68:
-#line 1131 "awkgram.y" /* yacc.c:1646 */
+ case 69:
+#line 1138 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2940 "awkgram.c" /* yacc.c:1646 */
+#line 2941 "awkgram.c" /* yacc.c:1646 */
break;
- case 69:
-#line 1133 "awkgram.y" /* yacc.c:1646 */
+ case 70:
+#line 1140 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-1]) == NULL)
(yyval) = list_create((yyvsp[0]));
else
(yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
}
-#line 2951 "awkgram.c" /* yacc.c:1646 */
+#line 2952 "awkgram.c" /* yacc.c:1646 */
break;
- case 70:
-#line 1140 "awkgram.y" /* yacc.c:1646 */
+ case 71:
+#line 1147 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 2957 "awkgram.c" /* yacc.c:1646 */
+#line 2958 "awkgram.c" /* yacc.c:1646 */
break;
- case 71:
-#line 1145 "awkgram.y" /* yacc.c:1646 */
+ case 72:
+#line 1152 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -2969,11 +2970,11 @@ regular_print:
bcfree((yyvsp[-2]));
(yyval) = (yyvsp[-4]);
}
-#line 2973 "awkgram.c" /* yacc.c:1646 */
+#line 2974 "awkgram.c" /* yacc.c:1646 */
break;
- case 72:
-#line 1157 "awkgram.y" /* yacc.c:1646 */
+ case 73:
+#line 1164 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -2984,17 +2985,17 @@ regular_print:
(yyvsp[-3])->case_stmt = casestmt;
(yyval) = (yyvsp[-3]);
}
-#line 2988 "awkgram.c" /* yacc.c:1646 */
+#line 2989 "awkgram.c" /* yacc.c:1646 */
break;
- case 73:
-#line 1171 "awkgram.y" /* yacc.c:1646 */
+ case 74:
+#line 1178 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 2994 "awkgram.c" /* yacc.c:1646 */
+#line 2995 "awkgram.c" /* yacc.c:1646 */
break;
- case 74:
-#line 1173 "awkgram.y" /* yacc.c:1646 */
+ case 75:
+#line 1180 "awkgram.y" /* yacc.c:1646 */
{
NODE *n = (yyvsp[0])->memory;
(void) force_number(n);
@@ -3002,71 +3003,71 @@ regular_print:
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3006 "awkgram.c" /* yacc.c:1646 */
+#line 3007 "awkgram.c" /* yacc.c:1646 */
break;
- case 75:
-#line 1181 "awkgram.y" /* yacc.c:1646 */
+ case 76:
+#line 1188 "awkgram.y" /* yacc.c:1646 */
{
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3015 "awkgram.c" /* yacc.c:1646 */
+#line 3016 "awkgram.c" /* yacc.c:1646 */
break;
- case 76:
-#line 1186 "awkgram.y" /* yacc.c:1646 */
+ case 77:
+#line 1193 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3021 "awkgram.c" /* yacc.c:1646 */
+#line 3022 "awkgram.c" /* yacc.c:1646 */
break;
- case 77:
-#line 1188 "awkgram.y" /* yacc.c:1646 */
+ case 78:
+#line 1195 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_push_re;
(yyval) = (yyvsp[0]);
}
-#line 3030 "awkgram.c" /* yacc.c:1646 */
+#line 3031 "awkgram.c" /* yacc.c:1646 */
break;
- case 78:
-#line 1196 "awkgram.y" /* yacc.c:1646 */
+ case 79:
+#line 1203 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3036 "awkgram.c" /* yacc.c:1646 */
+#line 3037 "awkgram.c" /* yacc.c:1646 */
break;
- case 79:
-#line 1198 "awkgram.y" /* yacc.c:1646 */
+ case 80:
+#line 1205 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3042 "awkgram.c" /* yacc.c:1646 */
+#line 3043 "awkgram.c" /* yacc.c:1646 */
break;
- case 81:
-#line 1208 "awkgram.y" /* yacc.c:1646 */
+ case 82:
+#line 1215 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = (yyvsp[-1]);
}
-#line 3050 "awkgram.c" /* yacc.c:1646 */
+#line 3051 "awkgram.c" /* yacc.c:1646 */
break;
- case 82:
-#line 1215 "awkgram.y" /* yacc.c:1646 */
+ case 83:
+#line 1222 "awkgram.y" /* yacc.c:1646 */
{
in_print = false;
in_parens = 0;
(yyval) = NULL;
}
-#line 3060 "awkgram.c" /* yacc.c:1646 */
+#line 3061 "awkgram.c" /* yacc.c:1646 */
break;
- case 83:
-#line 1220 "awkgram.y" /* yacc.c:1646 */
+ case 84:
+#line 1227 "awkgram.y" /* yacc.c:1646 */
{ in_print = false; in_parens = 0; }
-#line 3066 "awkgram.c" /* yacc.c:1646 */
+#line 3067 "awkgram.c" /* yacc.c:1646 */
break;
- case 84:
-#line 1221 "awkgram.y" /* yacc.c:1646 */
+ case 85:
+#line 1228 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->redir_type == redirect_twoway
&& (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@ -3074,136 +3075,136 @@ regular_print:
yyerror(_("multistage two-way pipelines don't work"));
(yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
}
-#line 3078 "awkgram.c" /* yacc.c:1646 */
+#line 3079 "awkgram.c" /* yacc.c:1646 */
break;
- case 85:
-#line 1232 "awkgram.y" /* yacc.c:1646 */
+ case 86:
+#line 1239 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), NULL, NULL);
}
-#line 3086 "awkgram.c" /* yacc.c:1646 */
+#line 3087 "awkgram.c" /* yacc.c:1646 */
break;
- case 86:
-#line 1237 "awkgram.y" /* yacc.c:1646 */
+ case 87:
+#line 1244 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[0]));
}
-#line 3094 "awkgram.c" /* yacc.c:1646 */
+#line 3095 "awkgram.c" /* yacc.c:1646 */
break;
- case 91:
-#line 1254 "awkgram.y" /* yacc.c:1646 */
+ case 92:
+#line 1261 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3100 "awkgram.c" /* yacc.c:1646 */
+#line 3101 "awkgram.c" /* yacc.c:1646 */
break;
- case 92:
-#line 1256 "awkgram.y" /* yacc.c:1646 */
+ case 93:
+#line 1263 "awkgram.y" /* yacc.c:1646 */
{
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3109 "awkgram.c" /* yacc.c:1646 */
+#line 3110 "awkgram.c" /* yacc.c:1646 */
break;
- case 93:
-#line 1264 "awkgram.y" /* yacc.c:1646 */
+ case 94:
+#line 1271 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3115 "awkgram.c" /* yacc.c:1646 */
+#line 3116 "awkgram.c" /* yacc.c:1646 */
break;
- case 94:
-#line 1266 "awkgram.y" /* yacc.c:1646 */
+ case 95:
+#line 1273 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3121 "awkgram.c" /* yacc.c:1646 */
+#line 3122 "awkgram.c" /* yacc.c:1646 */
break;
- case 95:
-#line 1271 "awkgram.y" /* yacc.c:1646 */
+ case 96:
+#line 1278 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->param_count = 0;
(yyval) = list_create((yyvsp[0]));
}
-#line 3130 "awkgram.c" /* yacc.c:1646 */
+#line 3131 "awkgram.c" /* yacc.c:1646 */
break;
- case 96:
-#line 1276 "awkgram.y" /* yacc.c:1646 */
+ case 97:
+#line 1283 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->param_count = (yyvsp[-2])->lasti->param_count + 1;
(yyval) = list_append((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3140 "awkgram.c" /* yacc.c:1646 */
+#line 3141 "awkgram.c" /* yacc.c:1646 */
break;
- case 97:
-#line 1282 "awkgram.y" /* yacc.c:1646 */
+ case 98:
+#line 1289 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3146 "awkgram.c" /* yacc.c:1646 */
+#line 3147 "awkgram.c" /* yacc.c:1646 */
break;
- case 98:
-#line 1284 "awkgram.y" /* yacc.c:1646 */
+ case 99:
+#line 1291 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3152 "awkgram.c" /* yacc.c:1646 */
+#line 3153 "awkgram.c" /* yacc.c:1646 */
break;
- case 99:
-#line 1286 "awkgram.y" /* yacc.c:1646 */
+ case 100:
+#line 1293 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-2]); }
-#line 3158 "awkgram.c" /* yacc.c:1646 */
+#line 3159 "awkgram.c" /* yacc.c:1646 */
break;
- case 100:
-#line 1292 "awkgram.y" /* yacc.c:1646 */
+ case 101:
+#line 1299 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3164 "awkgram.c" /* yacc.c:1646 */
+#line 3165 "awkgram.c" /* yacc.c:1646 */
break;
- case 101:
-#line 1294 "awkgram.y" /* yacc.c:1646 */
+ case 102:
+#line 1301 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3170 "awkgram.c" /* yacc.c:1646 */
+#line 3171 "awkgram.c" /* yacc.c:1646 */
break;
- case 102:
-#line 1299 "awkgram.y" /* yacc.c:1646 */
+ case 103:
+#line 1306 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3176 "awkgram.c" /* yacc.c:1646 */
+#line 3177 "awkgram.c" /* yacc.c:1646 */
break;
- case 103:
-#line 1301 "awkgram.y" /* yacc.c:1646 */
+ case 104:
+#line 1308 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3182 "awkgram.c" /* yacc.c:1646 */
+#line 3183 "awkgram.c" /* yacc.c:1646 */
break;
- case 104:
-#line 1306 "awkgram.y" /* yacc.c:1646 */
+ case 105:
+#line 1313 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3188 "awkgram.c" /* yacc.c:1646 */
+#line 3189 "awkgram.c" /* yacc.c:1646 */
break;
- case 105:
-#line 1308 "awkgram.y" /* yacc.c:1646 */
+ case 106:
+#line 1315 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3197 "awkgram.c" /* yacc.c:1646 */
+#line 3198 "awkgram.c" /* yacc.c:1646 */
break;
- case 106:
-#line 1313 "awkgram.y" /* yacc.c:1646 */
+ case 107:
+#line 1320 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3203 "awkgram.c" /* yacc.c:1646 */
+#line 3204 "awkgram.c" /* yacc.c:1646 */
break;
- case 107:
-#line 1315 "awkgram.y" /* yacc.c:1646 */
+ case 108:
+#line 1322 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
@@ -3211,52 +3212,52 @@ regular_print:
*/
(yyval) = (yyvsp[-1]);
}
-#line 3215 "awkgram.c" /* yacc.c:1646 */
+#line 3216 "awkgram.c" /* yacc.c:1646 */
break;
- case 108:
-#line 1323 "awkgram.y" /* yacc.c:1646 */
+ case 109:
+#line 1330 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
-#line 3224 "awkgram.c" /* yacc.c:1646 */
+#line 3225 "awkgram.c" /* yacc.c:1646 */
break;
- case 109:
-#line 1328 "awkgram.y" /* yacc.c:1646 */
+ case 110:
+#line 1335 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = (yyvsp[-2]);
}
-#line 3233 "awkgram.c" /* yacc.c:1646 */
+#line 3234 "awkgram.c" /* yacc.c:1646 */
break;
- case 110:
-#line 1337 "awkgram.y" /* yacc.c:1646 */
+ case 111:
+#line 1344 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[-1])->source_line,
_("regular expression on right of assignment"));
(yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
}
-#line 3244 "awkgram.c" /* yacc.c:1646 */
+#line 3245 "awkgram.c" /* yacc.c:1646 */
break;
- case 111:
-#line 1344 "awkgram.y" /* yacc.c:1646 */
+ case 112:
+#line 1351 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3250 "awkgram.c" /* yacc.c:1646 */
+#line 3251 "awkgram.c" /* yacc.c:1646 */
break;
- case 112:
-#line 1346 "awkgram.y" /* yacc.c:1646 */
+ case 113:
+#line 1353 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3256 "awkgram.c" /* yacc.c:1646 */
+#line 3257 "awkgram.c" /* yacc.c:1646 */
break;
- case 113:
-#line 1348 "awkgram.y" /* yacc.c:1646 */
+ case 114:
+#line 1355 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[-1])->source_line,
@@ -3272,11 +3273,11 @@ regular_print:
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3276 "awkgram.c" /* yacc.c:1646 */
+#line 3277 "awkgram.c" /* yacc.c:1646 */
break;
- case 114:
-#line 1364 "awkgram.y" /* yacc.c:1646 */
+ case 115:
+#line 1371 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old)
warning_ln((yyvsp[-1])->source_line,
@@ -3286,91 +3287,91 @@ regular_print:
(yyvsp[-1])->expr_count = 1;
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
-#line 3290 "awkgram.c" /* yacc.c:1646 */
+#line 3291 "awkgram.c" /* yacc.c:1646 */
break;
- case 115:
-#line 1374 "awkgram.y" /* yacc.c:1646 */
+ case 116:
+#line 1381 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[-1])->source_line,
_("regular expression on right of comparison"));
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
-#line 3301 "awkgram.c" /* yacc.c:1646 */
- break;
-
- case 116:
-#line 1381 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); }
-#line 3307 "awkgram.c" /* yacc.c:1646 */
+#line 3302 "awkgram.c" /* yacc.c:1646 */
break;
case 117:
-#line 1383 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = (yyvsp[0]); }
-#line 3313 "awkgram.c" /* yacc.c:1646 */
+#line 1388 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); }
+#line 3308 "awkgram.c" /* yacc.c:1646 */
break;
case 118:
-#line 1388 "awkgram.y" /* yacc.c:1646 */
+#line 1390 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3319 "awkgram.c" /* yacc.c:1646 */
+#line 3314 "awkgram.c" /* yacc.c:1646 */
break;
case 119:
-#line 1390 "awkgram.y" /* yacc.c:1646 */
+#line 1395 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3325 "awkgram.c" /* yacc.c:1646 */
+#line 3320 "awkgram.c" /* yacc.c:1646 */
break;
case 120:
-#line 1392 "awkgram.y" /* yacc.c:1646 */
+#line 1397 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3326 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 121:
+#line 1399 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_assign_quotient;
(yyval) = (yyvsp[0]);
}
-#line 3334 "awkgram.c" /* yacc.c:1646 */
- break;
-
- case 121:
-#line 1400 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = (yyvsp[0]); }
-#line 3340 "awkgram.c" /* yacc.c:1646 */
+#line 3335 "awkgram.c" /* yacc.c:1646 */
break;
case 122:
-#line 1402 "awkgram.y" /* yacc.c:1646 */
+#line 1407 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3346 "awkgram.c" /* yacc.c:1646 */
+#line 3341 "awkgram.c" /* yacc.c:1646 */
break;
case 123:
-#line 1407 "awkgram.y" /* yacc.c:1646 */
+#line 1409 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3352 "awkgram.c" /* yacc.c:1646 */
+#line 3347 "awkgram.c" /* yacc.c:1646 */
break;
case 124:
-#line 1409 "awkgram.y" /* yacc.c:1646 */
+#line 1414 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3358 "awkgram.c" /* yacc.c:1646 */
+#line 3353 "awkgram.c" /* yacc.c:1646 */
break;
case 125:
-#line 1414 "awkgram.y" /* yacc.c:1646 */
+#line 1416 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3364 "awkgram.c" /* yacc.c:1646 */
+#line 3359 "awkgram.c" /* yacc.c:1646 */
break;
case 126:
-#line 1416 "awkgram.y" /* yacc.c:1646 */
+#line 1421 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3370 "awkgram.c" /* yacc.c:1646 */
+#line 3365 "awkgram.c" /* yacc.c:1646 */
break;
case 127:
-#line 1418 "awkgram.y" /* yacc.c:1646 */
+#line 1423 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3371 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 128:
+#line 1425 "awkgram.y" /* yacc.c:1646 */
{
int count = 2;
bool is_simple_var = false;
@@ -3399,7 +3400,7 @@ regular_print:
n1 = force_string(n1);
n2 = force_string(n2);
nlen = n1->stlen + n2->stlen;
- erealloc(n1->stptr, char *, nlen + 2, "constant fold");
+ erealloc(n1->stptr, char *, nlen + 1, "constant fold");
memcpy(n1->stptr + n1->stlen, n2->stptr, n2->stlen);
n1->stlen = nlen;
n1->stptr[nlen] = '\0';
@@ -3417,47 +3418,47 @@ regular_print:
max_args = count;
}
}
-#line 3421 "awkgram.c" /* yacc.c:1646 */
- break;
-
- case 129:
-#line 1470 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3427 "awkgram.c" /* yacc.c:1646 */
+#line 3422 "awkgram.c" /* yacc.c:1646 */
break;
case 130:
-#line 1472 "awkgram.y" /* yacc.c:1646 */
+#line 1477 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3433 "awkgram.c" /* yacc.c:1646 */
+#line 3428 "awkgram.c" /* yacc.c:1646 */
break;
case 131:
-#line 1474 "awkgram.y" /* yacc.c:1646 */
+#line 1479 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3439 "awkgram.c" /* yacc.c:1646 */
+#line 3434 "awkgram.c" /* yacc.c:1646 */
break;
case 132:
-#line 1476 "awkgram.y" /* yacc.c:1646 */
+#line 1481 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3445 "awkgram.c" /* yacc.c:1646 */
+#line 3440 "awkgram.c" /* yacc.c:1646 */
break;
case 133:
-#line 1478 "awkgram.y" /* yacc.c:1646 */
+#line 1483 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3451 "awkgram.c" /* yacc.c:1646 */
+#line 3446 "awkgram.c" /* yacc.c:1646 */
break;
case 134:
-#line 1480 "awkgram.y" /* yacc.c:1646 */
+#line 1485 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3457 "awkgram.c" /* yacc.c:1646 */
+#line 3452 "awkgram.c" /* yacc.c:1646 */
break;
case 135:
-#line 1482 "awkgram.y" /* yacc.c:1646 */
+#line 1487 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3458 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 136:
+#line 1489 "awkgram.y" /* yacc.c:1646 */
{
/*
* In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@ -3471,29 +3472,29 @@ regular_print:
_("non-redirected `getline' undefined inside END action"));
(yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), redirect_input);
}
-#line 3475 "awkgram.c" /* yacc.c:1646 */
+#line 3476 "awkgram.c" /* yacc.c:1646 */
break;
- case 136:
-#line 1496 "awkgram.y" /* yacc.c:1646 */
+ case 137:
+#line 1503 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3484 "awkgram.c" /* yacc.c:1646 */
+#line 3485 "awkgram.c" /* yacc.c:1646 */
break;
- case 137:
-#line 1501 "awkgram.y" /* yacc.c:1646 */
+ case 138:
+#line 1508 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3493 "awkgram.c" /* yacc.c:1646 */
+#line 3494 "awkgram.c" /* yacc.c:1646 */
break;
- case 138:
-#line 1506 "awkgram.y" /* yacc.c:1646 */
+ case 139:
+#line 1513 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old) {
warning_ln((yyvsp[-1])->source_line,
@@ -3513,64 +3514,64 @@ regular_print:
(yyval) = list_append(list_merge(t, (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3517 "awkgram.c" /* yacc.c:1646 */
+#line 3518 "awkgram.c" /* yacc.c:1646 */
break;
- case 139:
-#line 1531 "awkgram.y" /* yacc.c:1646 */
+ case 140:
+#line 1538 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), (yyvsp[-2])->redir_type);
bcfree((yyvsp[-2]));
}
-#line 3526 "awkgram.c" /* yacc.c:1646 */
- break;
-
- case 140:
-#line 1537 "awkgram.y" /* yacc.c:1646 */
- { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3532 "awkgram.c" /* yacc.c:1646 */
+#line 3527 "awkgram.c" /* yacc.c:1646 */
break;
case 141:
-#line 1539 "awkgram.y" /* yacc.c:1646 */
+#line 1544 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3538 "awkgram.c" /* yacc.c:1646 */
+#line 3533 "awkgram.c" /* yacc.c:1646 */
break;
case 142:
-#line 1541 "awkgram.y" /* yacc.c:1646 */
+#line 1546 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3544 "awkgram.c" /* yacc.c:1646 */
+#line 3539 "awkgram.c" /* yacc.c:1646 */
break;
case 143:
-#line 1543 "awkgram.y" /* yacc.c:1646 */
+#line 1548 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3550 "awkgram.c" /* yacc.c:1646 */
+#line 3545 "awkgram.c" /* yacc.c:1646 */
break;
case 144:
-#line 1545 "awkgram.y" /* yacc.c:1646 */
+#line 1550 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3556 "awkgram.c" /* yacc.c:1646 */
+#line 3551 "awkgram.c" /* yacc.c:1646 */
break;
case 145:
-#line 1547 "awkgram.y" /* yacc.c:1646 */
+#line 1552 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3562 "awkgram.c" /* yacc.c:1646 */
+#line 3557 "awkgram.c" /* yacc.c:1646 */
break;
case 146:
-#line 1552 "awkgram.y" /* yacc.c:1646 */
+#line 1554 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3563 "awkgram.c" /* yacc.c:1646 */
+ break;
+
+ case 147:
+#line 1559 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3570 "awkgram.c" /* yacc.c:1646 */
+#line 3571 "awkgram.c" /* yacc.c:1646 */
break;
- case 147:
-#line 1556 "awkgram.y" /* yacc.c:1646 */
+ case 148:
+#line 1563 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->opcode == Op_match_rec) {
(yyvsp[0])->opcode = Op_nomatch;
@@ -3602,37 +3603,37 @@ regular_print:
}
}
}
-#line 3606 "awkgram.c" /* yacc.c:1646 */
+#line 3607 "awkgram.c" /* yacc.c:1646 */
break;
- case 148:
-#line 1588 "awkgram.y" /* yacc.c:1646 */
+ case 149:
+#line 1595 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3612 "awkgram.c" /* yacc.c:1646 */
+#line 3613 "awkgram.c" /* yacc.c:1646 */
break;
- case 149:
-#line 1590 "awkgram.y" /* yacc.c:1646 */
+ case 150:
+#line 1597 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3622 "awkgram.c" /* yacc.c:1646 */
+#line 3623 "awkgram.c" /* yacc.c:1646 */
break;
- case 150:
-#line 1596 "awkgram.y" /* yacc.c:1646 */
+ case 151:
+#line 1603 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3632 "awkgram.c" /* yacc.c:1646 */
+#line 3633 "awkgram.c" /* yacc.c:1646 */
break;
- case 151:
-#line 1602 "awkgram.y" /* yacc.c:1646 */
+ case 152:
+#line 1609 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
@@ -3645,45 +3646,45 @@ regular_print:
if ((yyval) == NULL)
YYABORT;
}
-#line 3649 "awkgram.c" /* yacc.c:1646 */
+#line 3650 "awkgram.c" /* yacc.c:1646 */
break;
- case 154:
-#line 1617 "awkgram.y" /* yacc.c:1646 */
+ case 155:
+#line 1624 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_preincrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3658 "awkgram.c" /* yacc.c:1646 */
+#line 3659 "awkgram.c" /* yacc.c:1646 */
break;
- case 155:
-#line 1622 "awkgram.y" /* yacc.c:1646 */
+ case 156:
+#line 1629 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_predecrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3667 "awkgram.c" /* yacc.c:1646 */
+#line 3668 "awkgram.c" /* yacc.c:1646 */
break;
- case 156:
-#line 1627 "awkgram.y" /* yacc.c:1646 */
+ case 157:
+#line 1634 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3675 "awkgram.c" /* yacc.c:1646 */
+#line 3676 "awkgram.c" /* yacc.c:1646 */
break;
- case 157:
-#line 1631 "awkgram.y" /* yacc.c:1646 */
+ case 158:
+#line 1638 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3683 "awkgram.c" /* yacc.c:1646 */
+#line 3684 "awkgram.c" /* yacc.c:1646 */
break;
- case 158:
-#line 1635 "awkgram.y" /* yacc.c:1646 */
+ case 159:
+#line 1642 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->lasti->opcode == Op_push_i
&& ((yyvsp[0])->lasti->memory->flags & (STRCUR|STRING)) == 0
@@ -3698,11 +3699,11 @@ regular_print:
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
-#line 3702 "awkgram.c" /* yacc.c:1646 */
+#line 3703 "awkgram.c" /* yacc.c:1646 */
break;
- case 159:
-#line 1650 "awkgram.y" /* yacc.c:1646 */
+ case 160:
+#line 1657 "awkgram.y" /* yacc.c:1646 */
{
/*
* was: $$ = $2
@@ -3712,20 +3713,20 @@ regular_print:
(yyvsp[-1])->memory = make_number(0.0);
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
-#line 3716 "awkgram.c" /* yacc.c:1646 */
+#line 3717 "awkgram.c" /* yacc.c:1646 */
break;
- case 160:
-#line 1663 "awkgram.y" /* yacc.c:1646 */
+ case 161:
+#line 1670 "awkgram.y" /* yacc.c:1646 */
{
func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
(yyval) = (yyvsp[0]);
}
-#line 3725 "awkgram.c" /* yacc.c:1646 */
+#line 3726 "awkgram.c" /* yacc.c:1646 */
break;
- case 161:
-#line 1668 "awkgram.y" /* yacc.c:1646 */
+ case 162:
+#line 1675 "awkgram.y" /* yacc.c:1646 */
{
/* indirect function call */
INSTRUCTION *f, *t;
@@ -3759,11 +3760,11 @@ regular_print:
(yyval) = list_prepend((yyvsp[0]), t);
at_seen = false;
}
-#line 3763 "awkgram.c" /* yacc.c:1646 */
+#line 3764 "awkgram.c" /* yacc.c:1646 */
break;
- case 162:
-#line 1705 "awkgram.y" /* yacc.c:1646 */
+ case 163:
+#line 1712 "awkgram.y" /* yacc.c:1646 */
{
NODE *n;
@@ -3788,49 +3789,49 @@ regular_print:
(yyval) = list_append(t, (yyvsp[-3]));
}
}
-#line 3792 "awkgram.c" /* yacc.c:1646 */
+#line 3793 "awkgram.c" /* yacc.c:1646 */
break;
- case 163:
-#line 1733 "awkgram.y" /* yacc.c:1646 */
+ case 164:
+#line 1740 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3798 "awkgram.c" /* yacc.c:1646 */
+#line 3799 "awkgram.c" /* yacc.c:1646 */
break;
- case 164:
-#line 1735 "awkgram.y" /* yacc.c:1646 */
+ case 165:
+#line 1742 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3804 "awkgram.c" /* yacc.c:1646 */
+#line 3805 "awkgram.c" /* yacc.c:1646 */
break;
- case 165:
-#line 1740 "awkgram.y" /* yacc.c:1646 */
+ case 166:
+#line 1747 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3810 "awkgram.c" /* yacc.c:1646 */
+#line 3811 "awkgram.c" /* yacc.c:1646 */
break;
- case 166:
-#line 1742 "awkgram.y" /* yacc.c:1646 */
+ case 167:
+#line 1749 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3816 "awkgram.c" /* yacc.c:1646 */
+#line 3817 "awkgram.c" /* yacc.c:1646 */
break;
- case 167:
-#line 1747 "awkgram.y" /* yacc.c:1646 */
+ case 168:
+#line 1754 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3822 "awkgram.c" /* yacc.c:1646 */
+#line 3823 "awkgram.c" /* yacc.c:1646 */
break;
- case 168:
-#line 1749 "awkgram.y" /* yacc.c:1646 */
+ case 169:
+#line 1756 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 3830 "awkgram.c" /* yacc.c:1646 */
+#line 3831 "awkgram.c" /* yacc.c:1646 */
break;
- case 169:
-#line 1756 "awkgram.y" /* yacc.c:1646 */
+ case 170:
+#line 1763 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->lasti;
int count = ip->sub_count; /* # of SUBSEP-seperated expressions */
@@ -3844,11 +3845,11 @@ regular_print:
sub_counter++; /* count # of dimensions */
(yyval) = (yyvsp[0]);
}
-#line 3848 "awkgram.c" /* yacc.c:1646 */
+#line 3849 "awkgram.c" /* yacc.c:1646 */
break;
- case 170:
-#line 1773 "awkgram.y" /* yacc.c:1646 */
+ case 171:
+#line 1780 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *t = (yyvsp[-1]);
if ((yyvsp[-1]) == NULL) {
@@ -3862,31 +3863,31 @@ regular_print:
(yyvsp[0])->sub_count = count_expressions(&t, false);
(yyval) = list_append(t, (yyvsp[0]));
}
-#line 3866 "awkgram.c" /* yacc.c:1646 */
+#line 3867 "awkgram.c" /* yacc.c:1646 */
break;
- case 171:
-#line 1790 "awkgram.y" /* yacc.c:1646 */
+ case 172:
+#line 1797 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3872 "awkgram.c" /* yacc.c:1646 */
+#line 3873 "awkgram.c" /* yacc.c:1646 */
break;
- case 172:
-#line 1792 "awkgram.y" /* yacc.c:1646 */
+ case 173:
+#line 1799 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 3880 "awkgram.c" /* yacc.c:1646 */
+#line 3881 "awkgram.c" /* yacc.c:1646 */
break;
- case 173:
-#line 1799 "awkgram.y" /* yacc.c:1646 */
+ case 174:
+#line 1806 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3886 "awkgram.c" /* yacc.c:1646 */
+#line 3887 "awkgram.c" /* yacc.c:1646 */
break;
- case 174:
-#line 1804 "awkgram.y" /* yacc.c:1646 */
+ case 175:
+#line 1811 "awkgram.y" /* yacc.c:1646 */
{
char *var_name = (yyvsp[0])->lextok;
@@ -3894,22 +3895,22 @@ regular_print:
(yyvsp[0])->memory = variable((yyvsp[0])->source_line, var_name, Node_var_new);
(yyval) = list_create((yyvsp[0]));
}
-#line 3898 "awkgram.c" /* yacc.c:1646 */
+#line 3899 "awkgram.c" /* yacc.c:1646 */
break;
- case 175:
-#line 1812 "awkgram.y" /* yacc.c:1646 */
+ case 176:
+#line 1819 "awkgram.y" /* yacc.c:1646 */
{
char *arr = (yyvsp[-1])->lextok;
(yyvsp[-1])->memory = variable((yyvsp[-1])->source_line, arr, Node_var_new);
(yyvsp[-1])->opcode = Op_push_array;
(yyval) = list_prepend((yyvsp[0]), (yyvsp[-1]));
}
-#line 3909 "awkgram.c" /* yacc.c:1646 */
+#line 3910 "awkgram.c" /* yacc.c:1646 */
break;
- case 176:
-#line 1822 "awkgram.y" /* yacc.c:1646 */
+ case 177:
+#line 1829 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->nexti;
if (ip->opcode == Op_push
@@ -3921,73 +3922,73 @@ regular_print:
} else
(yyval) = (yyvsp[0]);
}
-#line 3925 "awkgram.c" /* yacc.c:1646 */
+#line 3926 "awkgram.c" /* yacc.c:1646 */
break;
- case 177:
-#line 1834 "awkgram.y" /* yacc.c:1646 */
+ case 178:
+#line 1841 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
if ((yyvsp[0]) != NULL)
mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3935 "awkgram.c" /* yacc.c:1646 */
+#line 3936 "awkgram.c" /* yacc.c:1646 */
break;
- case 178:
-#line 1843 "awkgram.y" /* yacc.c:1646 */
+ case 179:
+#line 1850 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
}
-#line 3943 "awkgram.c" /* yacc.c:1646 */
+#line 3944 "awkgram.c" /* yacc.c:1646 */
break;
- case 179:
-#line 1847 "awkgram.y" /* yacc.c:1646 */
+ case 180:
+#line 1854 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
}
-#line 3951 "awkgram.c" /* yacc.c:1646 */
+#line 3952 "awkgram.c" /* yacc.c:1646 */
break;
- case 180:
-#line 1850 "awkgram.y" /* yacc.c:1646 */
+ case 181:
+#line 1857 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3957 "awkgram.c" /* yacc.c:1646 */
+#line 3958 "awkgram.c" /* yacc.c:1646 */
break;
- case 182:
-#line 1858 "awkgram.y" /* yacc.c:1646 */
+ case 183:
+#line 1865 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 3963 "awkgram.c" /* yacc.c:1646 */
+#line 3964 "awkgram.c" /* yacc.c:1646 */
break;
- case 183:
-#line 1862 "awkgram.y" /* yacc.c:1646 */
+ case 184:
+#line 1869 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 3969 "awkgram.c" /* yacc.c:1646 */
+#line 3970 "awkgram.c" /* yacc.c:1646 */
break;
- case 186:
-#line 1871 "awkgram.y" /* yacc.c:1646 */
+ case 187:
+#line 1878 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 3975 "awkgram.c" /* yacc.c:1646 */
+#line 3976 "awkgram.c" /* yacc.c:1646 */
break;
- case 187:
-#line 1875 "awkgram.y" /* yacc.c:1646 */
+ case 188:
+#line 1882 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); yyerrok; }
-#line 3981 "awkgram.c" /* yacc.c:1646 */
+#line 3982 "awkgram.c" /* yacc.c:1646 */
break;
- case 188:
-#line 1879 "awkgram.y" /* yacc.c:1646 */
+ case 189:
+#line 1886 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 3987 "awkgram.c" /* yacc.c:1646 */
+#line 3988 "awkgram.c" /* yacc.c:1646 */
break;
-#line 3991 "awkgram.c" /* yacc.c:1646 */
+#line 3992 "awkgram.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4215,7 +4216,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 1881 "awkgram.y" /* yacc.c:1906 */
+#line 1888 "awkgram.y" /* yacc.c:1906 */
struct token {
@@ -4516,7 +4517,6 @@ yyerror(const char *m, ...)
char *buf;
int count;
static char end_of_file_line[] = "(END OF FILE)";
- char save;
print_included_from();
@@ -4544,24 +4544,15 @@ yyerror(const char *m, ...)
bp = thisline + strlen(thisline);
}
- /*
- * Saving and restoring *bp keeps valgrind happy,
- * since the guts of glibc uses strlen, even though
- * we're passing an explict precision. Sigh.
- *
- * 8/2003: We may not need this anymore.
- */
- save = *bp;
- *bp = '\0';
-
msg("%.*s", (int) (bp - thisline), thisline);
- *bp = save;
va_start(args, m);
if (mesg == NULL)
mesg = m;
- count = (bp - thisline) + strlen(mesg) + 2 + 1;
+ count = strlen(mesg) + 1;
+ if (lexptr != NULL)
+ count += (lexeme - thisline) + 2;
emalloc(buf, char *, count, "yyerror");
bp = buf;
@@ -6228,6 +6219,27 @@ retry:
&& lasttok != '@')
goto out;
+ /* allow parameter names to shadow the names of gawk extension built-ins */
+ if ((tokentab[mid].flags & GAWKX) != 0) {
+ switch (want_param_names) {
+ case FUNC_HEADER:
+ /* in header, defining parameter names */
+ goto out;
+ case FUNC_BODY:
+ /* in body, name must be in symbol table for it to be a parameter */
+ if (lookup(tokstart) != NULL)
+ goto out;
+ /* else
+ fall through */
+ case DONT_CHECK:
+ /* regular code */
+ break;
+ default:
+ cant_happen();
+ break;
+ }
+ }
+
if (do_lint) {
if ((tokentab[mid].flags & GAWKX) != 0 && (warntab[mid] & GAWKX) == 0) {
lintwarn(_("`%s' is a gawk extension"),
diff --git a/awkgram.y b/awkgram.y
index db0cf8cd..d14cf68e 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -89,6 +89,11 @@ static void check_comment(void);
static bool at_seen = false;
static bool want_source = false;
static bool want_regexp = false; /* lexical scanning kludge */
+static enum {
+ FUNC_HEADER,
+ FUNC_BODY,
+ DONT_CHECK
+} want_param_names = DONT_CHECK; /* ditto */
static char *in_function; /* parsing kludge */
static int rule = 0;
@@ -246,6 +251,7 @@ rule
{
in_function = NULL;
(void) mk_function($1, $2);
+ want_param_names = DONT_CHECK;
yyerrok;
}
| '@' LEX_INCLUDE source statement_term
@@ -424,7 +430,7 @@ lex_builtin
;
function_prologue
- : LEX_FUNCTION func_name '(' opt_param_list r_paren opt_nls
+ : LEX_FUNCTION func_name '(' { want_param_names = FUNC_HEADER; } opt_param_list r_paren opt_nls
{
/*
* treat any comments between BOF and the first function
@@ -443,13 +449,14 @@ function_prologue
}
func_first = false;
$1->source_file = source;
- if (install_function($2->lextok, $1, $4) < 0)
+ if (install_function($2->lextok, $1, $5) < 0)
YYABORT;
in_function = $2->lextok;
$2->lextok = NULL;
bcfree($2);
- /* $4 already free'd in install_function */
+ /* $5 already free'd in install_function */
$$ = $1;
+ want_param_names = FUNC_BODY;
}
;
@@ -1443,7 +1450,7 @@ common_exp
n1 = force_string(n1);
n2 = force_string(n2);
nlen = n1->stlen + n2->stlen;
- erealloc(n1->stptr, char *, nlen + 2, "constant fold");
+ erealloc(n1->stptr, char *, nlen + 1, "constant fold");
memcpy(n1->stptr + n1->stlen, n2->stptr, n2->stlen);
n1->stlen = nlen;
n1->stptr[nlen] = '\0';
@@ -2178,7 +2185,6 @@ yyerror(const char *m, ...)
char *buf;
int count;
static char end_of_file_line[] = "(END OF FILE)";
- char save;
print_included_from();
@@ -2206,24 +2212,15 @@ yyerror(const char *m, ...)
bp = thisline + strlen(thisline);
}
- /*
- * Saving and restoring *bp keeps valgrind happy,
- * since the guts of glibc uses strlen, even though
- * we're passing an explict precision. Sigh.
- *
- * 8/2003: We may not need this anymore.
- */
- save = *bp;
- *bp = '\0';
-
msg("%.*s", (int) (bp - thisline), thisline);
- *bp = save;
va_start(args, m);
if (mesg == NULL)
mesg = m;
- count = (bp - thisline) + strlen(mesg) + 2 + 1;
+ count = strlen(mesg) + 1;
+ if (lexptr != NULL)
+ count += (lexeme - thisline) + 2;
emalloc(buf, char *, count, "yyerror");
bp = buf;
@@ -3890,6 +3887,27 @@ retry:
&& lasttok != '@')
goto out;
+ /* allow parameter names to shadow the names of gawk extension built-ins */
+ if ((tokentab[mid].flags & GAWKX) != 0) {
+ switch (want_param_names) {
+ case FUNC_HEADER:
+ /* in header, defining parameter names */
+ goto out;
+ case FUNC_BODY:
+ /* in body, name must be in symbol table for it to be a parameter */
+ if (lookup(tokstart) != NULL)
+ goto out;
+ /* else
+ fall through */
+ case DONT_CHECK:
+ /* regular code */
+ break;
+ default:
+ cant_happen();
+ break;
+ }
+ }
+
if (do_lint) {
if ((tokentab[mid].flags & GAWKX) != 0 && (warntab[mid] & GAWKX) == 0) {
lintwarn(_("`%s' is a gawk extension"),
diff --git a/builtin.c b/builtin.c
index 500b35d9..a9733597 100644
--- a/builtin.c
+++ b/builtin.c
@@ -1847,7 +1847,7 @@ do_substr(int nargs)
* way to do things.
*/
memset(& mbs, 0, sizeof(mbs));
- emalloc(substr, char *, (length * gawk_mb_cur_max) + 2, "do_substr");
+ emalloc(substr, char *, (length * gawk_mb_cur_max) + 1, "do_substr");
wp = t1->wstptr + indx;
for (cp = substr; length > 0; length--) {
result = wcrtomb(cp, *wp, & mbs);
@@ -1925,15 +1925,21 @@ do_strftime(int nargs)
clock_val = get_number_d(t2);
fclock = (time_t) clock_val;
/*
- * 4/2015: Protect against negative value being assigned
+ * Protect against negative value being assigned
* to unsigned time_t.
*/
- if (clock_val < 0 && fclock > 0)
- fatal(_("strftime: second argument less than 0 or too big for time_t"));
+ if (clock_val < 0 && fclock > 0) {
+ if (do_lint)
+ lintwarn(_("strftime: second argument less than 0 or too big for time_t"));
+ return make_string("", 0);
+ }
/* And check that the value is in range */
- if (clock_val < time_t_min || clock_val > time_t_max)
- fatal(_("strftime: second argument out of range for time_t"));
+ if (clock_val < time_t_min || clock_val > time_t_max) {
+ if (do_lint)
+ lintwarn(_("strftime: second argument out of range for time_t"));
+ return make_string("", 0);
+ }
DEREF(t2);
}
@@ -2591,7 +2597,7 @@ do_match(int nargs)
sprintf(buff, "%d", ii);
ilen = strlen(buff);
- amt = ilen + subseplen + strlen("length") + 2;
+ amt = ilen + subseplen + strlen("length") + 1;
if (oldamt == 0) {
emalloc(buf, char *, amt, "do_match");
@@ -2765,42 +2771,42 @@ do_sub(int nargs, unsigned int flags)
int ampersands;
int matches = 0;
Regexp *rp;
- NODE *s; /* subst. pattern */
- NODE *t; /* string to make sub. in; $0 if none given */
+ NODE *rep_node; /* replacement text */
+ NODE *target; /* string to make sub. in; $0 if none given */
NODE *tmp;
NODE **lhs = NULL;
long how_many = 1; /* one substitution for sub, also gensub default */
- int global;
+ bool global;
long current;
bool lastmatchnonzero;
char *mb_indices = NULL;
if ((flags & GENSUB) != 0) {
double d;
- NODE *t1;
+ NODE *glob_flag;
tmp = PEEK(3);
rp = re_update(tmp);
- t = POP_STRING(); /* original string */
+ target = POP_STRING(); /* original string */
- t1 = POP_SCALAR(); /* value of global flag */
- if ((t1->flags & (STRCUR|STRING)) != 0) {
- if (t1->stlen > 0 && (t1->stptr[0] == 'g' || t1->stptr[0] == 'G'))
+ glob_flag = POP_SCALAR(); /* value of global flag */
+ if ((glob_flag->flags & (STRCUR|STRING)) != 0) {
+ if (glob_flag->stlen > 0 && (glob_flag->stptr[0] == 'g' || glob_flag->stptr[0] == 'G'))
how_many = -1;
else {
- (void) force_number(t1);
- d = get_number_d(t1);
- if ((t1->flags & NUMCUR) != 0)
+ (void) force_number(glob_flag);
+ d = get_number_d(glob_flag);
+ if ((glob_flag->flags & NUMCUR) != 0)
goto set_how_many;
warning(_("gensub: third argument `%.*s' treated as 1"),
- (int) t1->stlen, t1->stptr);
+ (int) glob_flag->stlen, glob_flag->stptr);
how_many = 1;
}
} else {
- (void) force_number(t1);
- d = get_number_d(t1);
+ (void) force_number(glob_flag);
+ d = get_number_d(glob_flag);
set_how_many:
if (d < 1)
how_many = 1;
@@ -2811,10 +2817,8 @@ set_how_many:
if (d <= 0)
warning(_("gensub: third argument %g treated as 1"), d);
}
- DEREF(t1);
-
+ DEREF(glob_flag);
} else {
-
/* take care of regexp early, in case re_update is fatal */
tmp = PEEK(2);
@@ -2826,30 +2830,30 @@ set_how_many:
/* original string */
if ((flags & LITERAL) != 0)
- t = POP_STRING();
+ target = POP_STRING();
else {
lhs = POP_ADDRESS();
- t = force_string(*lhs);
+ target = force_string(*lhs);
}
}
global = (how_many == -1);
- s = POP_STRING(); /* replacement text */
+ rep_node = POP_STRING(); /* replacement text */
decr_sp(); /* regexp, already updated above */
/* do the search early to avoid work on non-match */
- if (research(rp, t->stptr, 0, t->stlen, RE_NEED_START) == -1 ||
- RESTART(rp, t->stptr) > t->stlen)
+ if (research(rp, target->stptr, 0, target->stlen, RE_NEED_START) == -1 ||
+ RESTART(rp, target->stptr) > target->stlen)
goto done;
- t->flags |= STRING;
+ target->flags |= STRING;
- text = t->stptr;
- textlen = t->stlen;
+ text = target->stptr;
+ textlen = target->stlen;
- repl = s->stptr;
- replend = repl + s->stlen;
+ repl = rep_node->stptr;
+ replend = repl + rep_node->stlen;
repllen = replend - repl;
ampersands = 0;
@@ -2867,6 +2871,7 @@ set_how_many:
index_multibyte_buffer(repl, mb_indices, repllen);
}
+ /* compute length of replacement string, number of ampersands */
for (scan = repl; scan < replend; scan++) {
if ((gawk_mb_cur_max == 1 || (repllen > 0 && mb_indices[scan - repl] == 1))
&& (*scan == '&')) {
@@ -2911,24 +2916,32 @@ set_how_many:
lastmatchnonzero = false;
- /* guesstimate how much room to allocate; +2 forces > 0 */
- buflen = textlen + (ampersands + 1) * repllen + 2;
- emalloc(buf, char *, buflen + 2, "do_sub");
+ /* guesstimate how much room to allocate; +1 forces > 0 */
+ buflen = textlen + (ampersands + 1) * repllen + 1;
+ emalloc(buf, char *, buflen + 1, "do_sub");
buf[buflen] = '\0';
- buf[buflen + 1] = '\0';
bp = buf;
for (current = 1;; current++) {
matches++;
- matchstart = t->stptr + RESTART(rp, t->stptr);
- matchend = t->stptr + REEND(rp, t->stptr);
+ matchstart = target->stptr + RESTART(rp, target->stptr);
+ matchend = target->stptr + REEND(rp, target->stptr);
/*
* create the result, copying in parts of the original
- * string
+ * string. note that length of replacement string can
+ * vary since ampersand is actual text of regexp match.
+ */
+
+ /*
+ * add 1 to len to handle "empty" case where
+ * matchend == matchstart and we force a match on a single
+ * char. Use 'matchend - text' instead of 'matchstart - text'
+ * because we may not actually make any substitution depending
+ * on the 'global' and 'how_many' values.
*/
- len = matchstart - text + repllen
- + ampersands * (matchend - matchstart);
+ len = matchend - text + repllen
+ + ampersands * (matchend - matchstart) + 1;
sofar = bp - buf;
while (buflen < (sofar + len + 1)) {
buflen *= 2;
@@ -2975,13 +2988,13 @@ set_how_many:
if (flags & GENSUB) { /* gensub, behave sanely */
if (isdigit((unsigned char) scan[1])) {
int dig = scan[1] - '0';
- if (dig < NUMSUBPATS(rp, t->stptr) && SUBPATSTART(rp, tp->stptr, dig) != -1) {
+ if (dig < NUMSUBPATS(rp, target->stptr) && SUBPATSTART(rp, tp->stptr, dig) != -1) {
char *start, *end;
- start = t->stptr
- + SUBPATSTART(rp, t->stptr, dig);
- end = t->stptr
- + SUBPATEND(rp, t->stptr, dig);
+ start = target->stptr
+ + SUBPATSTART(rp, target->stptr, dig);
+ end = target->stptr
+ + SUBPATEND(rp, target->stptr, dig);
for (cp = start; cp < end; cp++)
*bp++ = *cp;
@@ -3035,19 +3048,29 @@ set_how_many:
textlen = text + textlen - matchend;
text = matchend;
+#if 0
+ if (bp - buf > sofar + len)
+ fprintf(stderr, "debug: len = %zu, but used %ld\n", len, (long)((bp - buf) - (long)sofar));
+#endif
+
if ((current >= how_many && ! global)
|| ((long) textlen <= 0 && matchstart == matchend)
- || research(rp, t->stptr, text - t->stptr, textlen, RE_NEED_START) == -1)
+ || research(rp, target->stptr, text - target->stptr, textlen, RE_NEED_START) == -1)
break;
}
sofar = bp - buf;
- if (buflen - sofar - textlen - 1) {
- buflen = sofar + textlen + 2;
+ if (buflen < (sofar + textlen + 1)) {
+ buflen = sofar + textlen + 1;
erealloc(buf, char *, buflen, "do_sub");
bp = buf + sofar;
}
- for (scan = matchend; scan < text + textlen; scan++)
+ /*
+ * Note that text == matchend, since that assignment is made before
+ * exiting the 'for' loop above. Thus we copy in the rest of the
+ * original string.
+ */
+ for (scan = text; scan < text + textlen; scan++)
*bp++ = *scan;
*bp = '\0';
textlen = bp - buf;
@@ -3056,7 +3079,7 @@ set_how_many:
efree(mb_indices);
done:
- DEREF(s);
+ DEREF(rep_node);
if ((matches == 0 || (flags & LITERAL) != 0) && buf != NULL) {
efree(buf);
@@ -3066,18 +3089,18 @@ done:
if (flags & GENSUB) {
if (matches > 0) {
/* return the result string */
- DEREF(t);
+ DEREF(target);
assert(buf != NULL);
return make_str_node(buf, textlen, ALREADY_MALLOCED);
}
/* return the original string */
- return t;
+ return target;
}
/* For a string literal, must not change the original string. */
if ((flags & LITERAL) != 0)
- DEREF(t);
+ DEREF(target);
else if (matches > 0) {
unref(*lhs);
*lhs = make_str_node(buf, textlen, ALREADY_MALLOCED);
diff --git a/command.c b/command.c
index 04d5e5f3..b23b21c5 100644
--- a/command.c
+++ b/command.c
@@ -2515,7 +2515,7 @@ append_statement(CMDARG *stmt_list, char *stmt)
len += strlen(a->a_string) + 1; /* 1 for ',' */
len += EVALSIZE;
- emalloc(s, char *, (len + 2) * sizeof(char), "append_statement");
+ emalloc(s, char *, (len + 1) * sizeof(char), "append_statement");
arg = mk_cmdarg(D_string);
arg->a_string = s;
arg->a_count = len; /* kludge */
@@ -2542,7 +2542,7 @@ append_statement(CMDARG *stmt_list, char *stmt)
ssize = stmt_list->a_count;
if (len > ssize - slen) {
ssize = slen + len + EVALSIZE;
- erealloc(s, char *, (ssize + 2) * sizeof(char), "append_statement");
+ erealloc(s, char *, (ssize + 1) * sizeof(char), "append_statement");
stmt_list->a_string = s;
stmt_list->a_count = ssize;
}
@@ -2554,7 +2554,7 @@ append_statement(CMDARG *stmt_list, char *stmt)
}
if (stmt == end_EVAL)
- erealloc(stmt_list->a_string, char *, slen + 2, "append_statement");
+ erealloc(stmt_list->a_string, char *, slen + 1, "append_statement");
return stmt_list;
#undef EVALSIZE
@@ -2921,7 +2921,7 @@ again:
bool esc_seen = false;
toklen = lexend - lexptr;
- emalloc(str, char *, toklen + 2, "yylex");
+ emalloc(str, char *, toklen + 1, "yylex");
p = str;
while ((c = *++lexptr) != '"') {
@@ -3100,7 +3100,7 @@ concat_args(CMDARG *arg, int count)
arg = arg->next;
}
- emalloc(str, char *, len + 2, "concat_args");
+ emalloc(str, char *, len + 1, "concat_args");
n = tmp[0];
memcpy(str, n->stptr, n->stlen);
p = str + n->stlen;
diff --git a/command.y b/command.y
index 08893743..bd5b4870 100644
--- a/command.y
+++ b/command.y
@@ -764,7 +764,7 @@ append_statement(CMDARG *stmt_list, char *stmt)
len += strlen(a->a_string) + 1; /* 1 for ',' */
len += EVALSIZE;
- emalloc(s, char *, (len + 2) * sizeof(char), "append_statement");
+ emalloc(s, char *, (len + 1) * sizeof(char), "append_statement");
arg = mk_cmdarg(D_string);
arg->a_string = s;
arg->a_count = len; /* kludge */
@@ -791,7 +791,7 @@ append_statement(CMDARG *stmt_list, char *stmt)
ssize = stmt_list->a_count;
if (len > ssize - slen) {
ssize = slen + len + EVALSIZE;
- erealloc(s, char *, (ssize + 2) * sizeof(char), "append_statement");
+ erealloc(s, char *, (ssize + 1) * sizeof(char), "append_statement");
stmt_list->a_string = s;
stmt_list->a_count = ssize;
}
@@ -803,7 +803,7 @@ append_statement(CMDARG *stmt_list, char *stmt)
}
if (stmt == end_EVAL)
- erealloc(stmt_list->a_string, char *, slen + 2, "append_statement");
+ erealloc(stmt_list->a_string, char *, slen + 1, "append_statement");
return stmt_list;
#undef EVALSIZE
@@ -1170,7 +1170,7 @@ again:
bool esc_seen = false;
toklen = lexend - lexptr;
- emalloc(str, char *, toklen + 2, "yylex");
+ emalloc(str, char *, toklen + 1, "yylex");
p = str;
while ((c = *++lexptr) != '"') {
@@ -1349,7 +1349,7 @@ concat_args(CMDARG *arg, int count)
arg = arg->next;
}
- emalloc(str, char *, len + 2, "concat_args");
+ emalloc(str, char *, len + 1, "concat_args");
n = tmp[0];
memcpy(str, n->stptr, n->stlen);
p = str + n->stlen;
diff --git a/debug.c b/debug.c
index 58012b72..6aaba099 100644
--- a/debug.c
+++ b/debug.c
@@ -4205,10 +4205,10 @@ gprintf(FILE *fp, const char *format, ...)
#define GPRINTF_BUFSIZ 512
if (buf == NULL) {
buflen = GPRINTF_BUFSIZ;
- emalloc(buf, char *, (buflen + 2) * sizeof(char), "gprintf");
+ emalloc(buf, char *, buflen * sizeof(char), "gprintf");
} else if (buflen - bl < GPRINTF_BUFSIZ/2) {
buflen += GPRINTF_BUFSIZ;
- erealloc(buf, char *, (buflen + 2) * sizeof(char), "gprintf");
+ erealloc(buf, char *, buflen * sizeof(char), "gprintf");
}
#undef GPRINTF_BUFSIZ
@@ -4227,7 +4227,7 @@ gprintf(FILE *fp, const char *format, ...)
/* enlarge buffer, and try again */
buflen *= 2;
- erealloc(buf, char *, (buflen + 2) * sizeof(char), "gprintf");
+ erealloc(buf, char *, buflen * sizeof(char), "gprintf");
}
bl = 0;
@@ -4267,7 +4267,7 @@ gprintf(FILE *fp, const char *format, ...)
static int
serialize_subscript(char *buf, int buflen, struct list_item *item)
{
- int bl = 0, nchar, i;
+ int bl, nchar, i;
NODE *sub;
nchar = snprintf(buf, buflen, "%d%c%d%c%s%c%d%c",
@@ -4277,7 +4277,7 @@ serialize_subscript(char *buf, int buflen, struct list_item *item)
return 0;
else if (nchar >= buflen) /* need larger buffer */
return nchar;
- bl += nchar;
+ bl = nchar;
for (i = 0; i < item->num_subs; i++) {
sub = item->subs[i];
nchar = snprintf(buf + bl, buflen - bl, "%lu%c%s%c",
@@ -4356,7 +4356,7 @@ serialize(int type)
if (buf == NULL) { /* first time */
buflen = SERIALIZE_BUFSIZ;
- emalloc(buf, char *, buflen + 2, "serialize");
+ emalloc(buf, char *, buflen + 1, "serialize");
}
bl = 0;
@@ -4365,7 +4365,7 @@ serialize(int type)
if (buflen - bl < SERIALIZE_BUFSIZ/2) {
enlarge_buffer:
buflen *= 2;
- erealloc(buf, char *, buflen + 2, "serialize");
+ erealloc(buf, char *, buflen + 1, "serialize");
}
#undef SERIALIZE_BUFSIZ
@@ -4466,7 +4466,7 @@ enlarge_buffer:
}
if (nchar > 0) { /* non-empty commands list */
- nchar += (strlen("commands ") + 20 + strlen("end") + 2); /* 20 for cnum (an int) */
+ nchar += (strlen("commands ") + 20 + strlen("end") + 1); /* 20 for cnum (an int) */
if (nchar > buflen - bl) {
buflen = bl + nchar;
erealloc(buf, char *, buflen + 3, "serialize");
diff --git a/dfa.c b/dfa.c
index 2cfd30b6..69c30804 100644
--- a/dfa.c
+++ b/dfa.c
@@ -996,9 +996,8 @@ find_pred (const char *str)
unsigned int i;
for (i = 0; prednames[i].name; ++i)
if (STREQ (str, prednames[i].name))
- break;
-
- return &prednames[i];
+ return &prednames[i];
+ return NULL;
}
/* Multibyte character handling sub-routine for lex.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index c91b9bf1..c436758f 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2015-04-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Undocumented): More info added.
+
2015-04-08 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Update feature history section.
diff --git a/doc/gawk.texi b/doc/gawk.texi
index e86e8bba..501aacde 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -4900,6 +4900,13 @@ Similarly, you may use @code{print} or @code{printf} statements in the
@var{init} and @var{increment} parts of a @code{for} loop. This is another
long-undocumented ``feature'' of Unix @command{awk}.
+@command{gawk} lets you use the names of built-in functions that are
+@command{gawk} extensions as the names of parameters in user-defined functions.
+This is intended to ``future-proof'' old code that happens to use
+function names added by @command{gawk} after the code was written.
+Standard @command{awk} built-in functions, such as @code{sin()} or
+@code{substr()} are @emph{not} shadowed in this way.
+
@end ignore
@node Invoking Summary
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index aa2a78f3..663353d4 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -4811,6 +4811,13 @@ Similarly, you may use @code{print} or @code{printf} statements in the
@var{init} and @var{increment} parts of a @code{for} loop. This is another
long-undocumented ``feature'' of Unix @command{awk}.
+@command{gawk} lets you use the names of built-in functions that are
+@command{gawk} extensions as the names of parameters in user-defined functions.
+This is intended to ``future-proof'' old code that happens to use
+function names added by @command{gawk} after the code was written.
+Standard @command{awk} built-in functions, such as @code{sin()} or
+@code{substr()} are @emph{not} shadowed in this way.
+
@end ignore
@node Invoking Summary
diff --git a/eval.c b/eval.c
index a3a6b2b6..2d820580 100644
--- a/eval.c
+++ b/eval.c
@@ -827,9 +827,9 @@ set_OFS()
new_ofs_len = OFS_node->var_value->stlen;
if (OFS == NULL)
- emalloc(OFS, char *, new_ofs_len + 2, "set_OFS");
+ emalloc(OFS, char *, new_ofs_len + 1, "set_OFS");
else if (OFSlen < new_ofs_len)
- erealloc(OFS, char *, new_ofs_len + 2, "set_OFS");
+ erealloc(OFS, char *, new_ofs_len + 1, "set_OFS");
memcpy(OFS, OFS_node->var_value->stptr, OFS_node->var_value->stlen);
OFSlen = new_ofs_len;
diff --git a/extension/ChangeLog b/extension/ChangeLog
index 2769a350..9df8ae00 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -86,6 +86,13 @@
(errno_la_SOURCES, errno_la_LDFLAGS, errno_la_LIBADD): Remove.
(EXTRA_DIST): Remove errlist.h.
+2014-12-14 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * readfile.c (read_file_to_buffer): Do not waste a byte at the end of
+ a string.
+ * rwarray.c (read_value): Ditto.
+ * rwarray0.c (read_value): Ditto.
+
2014-11-23 Arnold D. Robbins <arnold@skeeve.com>
* inplace.c (do_inplace_begin): Jump through hoops to silence
diff --git a/extension/readfile.c b/extension/readfile.c
index d4b4aef9..7673589f 100644
--- a/extension/readfile.c
+++ b/extension/readfile.c
@@ -82,8 +82,8 @@ read_file_to_buffer(int fd, const struct stat *sbuf)
goto done;
}
- emalloc(text, char *, sbuf->st_size + 2, "do_readfile");
- memset(text, '\0', sbuf->st_size + 2);
+ emalloc(text, char *, sbuf->st_size + 1, "do_readfile");
+ memset(text, '\0', sbuf->st_size + 1);
if ((ret = read(fd, text, sbuf->st_size)) != sbuf->st_size) {
update_ERRNO_int(errno);
diff --git a/extension/rwarray.c b/extension/rwarray.c
index aa05a0d5..5bead973 100644
--- a/extension/rwarray.c
+++ b/extension/rwarray.c
@@ -468,8 +468,8 @@ read_value(FILE *fp, awk_value_t *value)
len = ntohl(len);
value->val_type = AWK_STRING;
value->str_value.len = len;
- value->str_value.str = gawk_malloc(len + 2);
- memset(value->str_value.str, '\0', len + 2);
+ value->str_value.str = gawk_malloc(len + 1);
+ memset(value->str_value.str, '\0', len + 1);
if (fread(value->str_value.str, 1, len, fp) != (ssize_t) len) {
gawk_free(value->str_value.str);
diff --git a/extension/rwarray0.c b/extension/rwarray0.c
index e2de3cf5..ec3663cc 100644
--- a/extension/rwarray0.c
+++ b/extension/rwarray0.c
@@ -452,8 +452,8 @@ read_value(int fd, awk_value_t *value)
len = ntohl(len);
value->val_type = AWK_STRING;
value->str_value.len = len;
- value->str_value.str = malloc(len + 2);
- memset(value->str_value.str, '\0', len + 2);
+ value->str_value.str = malloc(len + 1);
+ memset(value->str_value.str, '\0', len + 1);
if (read(fd, value->str_value.str, len) != (ssize_t) len) {
free(value->str_value.str);
diff --git a/field.c b/field.c
index 6a7c6b1d..13a5db6f 100644
--- a/field.c
+++ b/field.c
@@ -163,7 +163,7 @@ rebuild_record()
tlen += (NF - 1) * OFSlen;
if ((long) tlen < 0)
tlen = 0;
- emalloc(ops, char *, tlen + 2, "rebuild_record");
+ emalloc(ops, char *, tlen + 1, "rebuild_record");
cops = ops;
ops[0] = '\0';
for (i = 1; i <= NF; i++) {
@@ -1138,7 +1138,7 @@ set_FIELDWIDTHS()
FIELDWIDTHS[0] = 0;
for (i = 1; ; i++) {
unsigned long int tmp;
- if (i + 2 >= fw_alloc) {
+ if (i + 1 >= fw_alloc) {
fw_alloc *= 2;
erealloc(FIELDWIDTHS, int *, fw_alloc * sizeof(int), "set_FIELDWIDTHS");
}
diff --git a/gawkapi.h b/gawkapi.h
index 8bf3a08d..c708db67 100644
--- a/gawkapi.h
+++ b/gawkapi.h
@@ -827,7 +827,7 @@ r_make_string(const gawk_api_t *api, /* needed for emalloc */
result->str_value.len = length;
if (duplicate) {
- emalloc(cp, char *, length + 2, "r_make_string");
+ emalloc(cp, char *, length + 1, "r_make_string");
memcpy(cp, string, length);
cp[length] = '\0';
result->str_value.str = cp;
diff --git a/helpers/ChangeLog b/helpers/ChangeLog
index a5bbafb1..5a3f2fe3 100644
--- a/helpers/ChangeLog
+++ b/helpers/ChangeLog
@@ -1,3 +1,11 @@
+2015-04-09 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * testdfa.c (setup_pattern): Rationalize buffer size computations.
+
+2014-12-18 Arnold D. Robbins <arnold@skeeve.com>
+
+ * testdfa.c (setup_pattern): Do not waste a byte at the end of a string.
+
2014-09-04 Arnold D. Robbins <arnold@skeeve.com>
* chlistref.awk: New file. Finds @ref{} to non-chapters.
diff --git a/helpers/testdfa.c b/helpers/testdfa.c
index 25a229a2..2b773467 100644
--- a/helpers/testdfa.c
+++ b/helpers/testdfa.c
@@ -372,10 +372,10 @@ setup_pattern(const char *pattern, size_t *len)
{
size_t is_multibyte = 0;
int c, c2;
- size_t buflen = 0;
+ size_t buflen;
mbstate_t mbs;
bool has_anchor = false;
- char *buf = NULL;
+ char *buf;
char *dest;
const char *src, *end;
@@ -391,21 +391,12 @@ setup_pattern(const char *pattern, size_t *len)
* escaped characters translated, and generate the regex
* from that.
*/
+ buf = (char *) malloc(*len + 1);
if (buf == NULL) {
- buf = (char *) malloc(*len + 2);
- if (buf == NULL) {
- fprintf(stderr, "%s: malloc failed\n", __func__);
- exit(EXIT_FAILURE);
- }
- buflen = *len;
- } else if (*len > buflen) {
- buf = (char *) realloc(buf, *len + 2);
- if (buf == NULL) {
- fprintf(stderr, "%s: realloc failed\n", __func__);
- exit(EXIT_FAILURE);
- }
- buflen = *len;
+ fprintf(stderr, "%s: malloc failed\n", __func__);
+ exit(EXIT_FAILURE);
}
+ buflen = *len;
dest = buf;
while (src < end) {
diff --git a/interpret.h b/interpret.h
index b76952f1..03532f43 100644
--- a/interpret.h
+++ b/interpret.h
@@ -709,7 +709,7 @@ mod:
if (t1 != t2 && t1->valref == 1 && (t1->flags & MPFN) == 0) {
size_t nlen = t1->stlen + t2->stlen;
- erealloc(t1->stptr, char *, nlen + 2, "r_interpret");
+ erealloc(t1->stptr, char *, nlen + 1, "r_interpret");
memcpy(t1->stptr + t1->stlen, t2->stptr, t2->stlen);
t1->stlen = nlen;
t1->stptr[nlen] = '\0';
@@ -719,7 +719,7 @@ mod:
size_t wlen = t1->wstlen + t2->wstlen;
erealloc(t1->wstptr, wchar_t *,
- sizeof(wchar_t) * (wlen + 2), "r_interpret");
+ sizeof(wchar_t) * (wlen + 1), "r_interpret");
memcpy(t1->wstptr + t1->wstlen, t2->wstptr, t2->wstlen);
t1->wstlen = wlen;
t1->wstptr[wlen] = L'\0';
@@ -730,9 +730,10 @@ mod:
size_t nlen = t1->stlen + t2->stlen;
char *p;
- emalloc(p, char *, nlen + 2, "r_interpret");
+ emalloc(p, char *, nlen + 1, "r_interpret");
memcpy(p, t1->stptr, t1->stlen);
memcpy(p + t1->stlen, t2->stptr, t2->stlen);
+ /* N.B. No NUL-termination required, since make_str_node will do it. */
unref(*lhs);
t1 = *lhs = make_str_node(p, nlen, ALREADY_MALLOCED);
}
diff --git a/io.c b/io.c
index 50310ed2..50f0989b 100644
--- a/io.c
+++ b/io.c
@@ -2709,6 +2709,7 @@ init_awkpath(path_info *pi)
end++;
len = end - start;
if (len > 0) {
+ /* +2 is correct here; leave room for / */
emalloc(p, char *, len + 2, "init_awkpath");
memcpy(p, start, len);
@@ -3163,7 +3164,7 @@ iop_finish(IOBUF *iop)
lintwarn(_("data file `%s' is empty"), iop->public.name);
iop->errcode = errno = 0;
iop->count = iop->scanoff = 0;
- emalloc(iop->buf, char *, iop->size += 2, "iop_finish");
+ emalloc(iop->buf, char *, iop->size += 1, "iop_finish");
iop->off = iop->buf;
iop->dataend = NULL;
iop->end = iop->buf + iop->size;
@@ -3195,10 +3196,10 @@ grow_iop_buffer(IOBUF *iop)
size_t newsize;
/*
- * Lop off original extra two bytes, double the size,
- * add them back.
+ * Lop off original extra byte, double the size,
+ * add it back.
*/
- newsize = ((iop->size - 2) * 2) + 2;
+ newsize = ((iop->size - 1) * 2) + 1;
/* Check for overflow */
if (newsize <= iop->size)
@@ -3206,7 +3207,7 @@ grow_iop_buffer(IOBUF *iop)
/* Make sure there's room for a disk block */
if (newsize - valid < iop->readsize)
- newsize += iop->readsize + 2;
+ newsize += iop->readsize + 1;
/* Check for overflow, again */
if (newsize <= iop->size)
diff --git a/node.c b/node.c
index a5e06cd3..b15159f0 100644
--- a/node.c
+++ b/node.c
@@ -138,11 +138,20 @@ r_force_number(NODE *n)
ptr++;
*cpend = save;
finish:
- if (errno == 0 && ptr == cpend) {
- n->flags |= newflags;
- n->flags |= NUMCUR;
+ if (errno == 0) {
+ if (ptr == cpend) {
+ n->flags |= newflags;
+ n->flags |= NUMCUR;
+ }
+ /* else keep the leading numeric value without updating flags */
} else {
errno = 0;
+ /*
+ * N.B. For subnormal values, strtod may return the
+ * floating-point representation while setting errno to ERANGE.
+ * We force the numeric value to 0 in such cases.
+ */
+ n->numbr = 0;
}
return n;
@@ -252,7 +261,7 @@ r_format_val(const char *format, int index, NODE *s)
}
if (s->stptr != NULL)
efree(s->stptr);
- emalloc(s->stptr, char *, s->stlen + 2, "format_val");
+ emalloc(s->stptr, char *, s->stlen + 1, "format_val");
memcpy(s->stptr, sp, s->stlen + 1);
no_malloc:
s->flags |= STRCUR;
@@ -290,12 +299,12 @@ r_dupnode(NODE *n)
r->wstlen = 0;
if ((n->flags & STRCUR) != 0) {
- emalloc(r->stptr, char *, n->stlen + 2, "r_dupnode");
+ emalloc(r->stptr, char *, n->stlen + 1, "r_dupnode");
memcpy(r->stptr, n->stptr, n->stlen);
r->stptr[n->stlen] = '\0';
if ((n->flags & WSTRCUR) != 0) {
r->wstlen = n->wstlen;
- emalloc(r->wstptr, wchar_t *, sizeof(wchar_t) * (n->wstlen + 2), "r_dupnode");
+ emalloc(r->wstptr, wchar_t *, sizeof(wchar_t) * (n->wstlen + 1), "r_dupnode");
memcpy(r->wstptr, n->wstptr, n->wstlen * sizeof(wchar_t));
r->wstptr[n->wstlen] = L'\0';
r->flags |= WSTRCUR;
@@ -368,7 +377,7 @@ make_str_node(const char *s, size_t len, int flags)
if ((flags & ALREADY_MALLOCED) != 0)
r->stptr = (char *) s;
else {
- emalloc(r->stptr, char *, len + 2, "make_str_node");
+ emalloc(r->stptr, char *, len + 1, "make_str_node");
memcpy(r->stptr, s, len);
}
r->stptr[len] = '\0';
@@ -672,7 +681,7 @@ str2wstr(NODE *n, size_t **ptr)
* realloc the wide string down in size.
*/
- emalloc(n->wstptr, wchar_t *, sizeof(wchar_t) * (n->stlen + 2), "str2wstr");
+ emalloc(n->wstptr, wchar_t *, sizeof(wchar_t) * (n->stlen + 1), "str2wstr");
wsp = n->wstptr;
/*
@@ -746,7 +755,7 @@ str2wstr(NODE *n, size_t **ptr)
n->flags |= WSTRCUR;
#define ARBITRARY_AMOUNT_TO_GIVE_BACK 100
if (n->stlen - n->wstlen > ARBITRARY_AMOUNT_TO_GIVE_BACK)
- erealloc(n->wstptr, wchar_t *, sizeof(wchar_t) * (n->wstlen + 2), "str2wstr");
+ erealloc(n->wstptr, wchar_t *, sizeof(wchar_t) * (n->wstlen + 1), "str2wstr");
return n;
}
@@ -773,7 +782,7 @@ wstr2str(NODE *n)
memset(& mbs, 0, sizeof(mbs));
length = n->wstlen;
- emalloc(newval, char *, (length * gawk_mb_cur_max) + 2, "wstr2str");
+ emalloc(newval, char *, (length * gawk_mb_cur_max) + 1, "wstr2str");
wp = n->wstptr;
for (cp = newval; length > 0; length--) {
diff --git a/old-extension/ChangeLog b/old-extension/ChangeLog
index 55c8d31d..dad5c794 100644
--- a/old-extension/ChangeLog
+++ b/old-extension/ChangeLog
@@ -1,3 +1,12 @@
+2015-04-09 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * bindarr.c (do_bind_array): Undo Arnold's change of 2014-12-18.
+
+2014-12-18 Arnold D. Robbins <arnold@skeeve.com>
+
+ * bindarr.c (do_bind_array): Do not waste a byte at the end of a string.
+ * fileop.c (do_fread): Ditto.
+
2014-01-07 Arnold D. Robbins <arnold@skeeve.com>
* dbarray.awk: Use full name for lib to load in extenstion() call.
diff --git a/old-extension/bindarr.c b/old-extension/bindarr.c
index 60959903..41467425 100644
--- a/old-extension/bindarr.c
+++ b/old-extension/bindarr.c
@@ -235,7 +235,7 @@ do_bind_array(int nargs)
}
/* copy the array -- this is passed as the second argument to the functions */
- emalloc(aname, char *, strlen(t->vname) + 2, "do_bind_array");
+ emalloc(aname, char *, 1 + strlen(symbol->vname) + 1, "do_bind_array");
aname[0] = '~'; /* any illegal character */
strcpy(& aname[1], symbol->vname);
td = make_array();
diff --git a/old-extension/fileop.c b/old-extension/fileop.c
index 86f62576..d76a7ded 100644
--- a/old-extension/fileop.c
+++ b/old-extension/fileop.c
@@ -55,7 +55,7 @@ do_fread(int nargs)
force_number(arg);
rlen = get_number_ui(arg);
- emalloc(rbuf, char *, rlen + 2, "do_fread");
+ emalloc(rbuf, char *, rlen + 1, "do_fread");
if ((count = fread(rbuf, 1, rlen, f->fp)) < rlen) {
if (! feof(f->fp))
update_ERRNO_int(errno);
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 3e65499d..d5516964 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,26 @@
+2015-04-22 Scott Deifik <scottd.mail@sbcglobal.net>
+
+ * Makefile.tst: Don't do 'make diffout' after pass-fail.
+ * negtime: Add expect failure for DJGPP.
+
+2015-04-17 Eli Zaretskii <eliz@gnu.org>
+
+ * testoutcmp.awk (END): Attempt a series of massages on the actual
+ output to match it to the expected result, when the number of
+ exponent digits is different. Also, edit "nul" into "null", to
+ account for the difference in the null device name. This removes
+ "failures" due to Windows-specific issues that do not indicate
+ real problems in Gawk, just some non-portable assumptions about
+ the expected results.
+
+ * Makefile.tst (abs_top_builddir): Define.
+ (negtime): Mark this test as an expected failure with MinGW.
+ (profile5, exit, hsprint, posix, double2, fmttest): Remove the
+ "expect to fail" message for MinGW, and use the testoutcmp.awk
+ script to loosely compare actual output to expected one.
+
+ * Makefile.ext ($(SIMPLE_EXTENSIONS)): Really use -static-libgcc.
+
2015-04-16 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.tst: Sync with mainline.
diff --git a/pc/Makefile.ext b/pc/Makefile.ext
index 12723436..6cd4d0f3 100644
--- a/pc/Makefile.ext
+++ b/pc/Makefile.ext
@@ -47,7 +47,7 @@ time.$(SOEXT): time.c
gcc -DHAVE_GETSYSTEMTIMEASFILETIME -I.. -shared -gdwarf-2 -g3 -static-libgcc -o $@ time.c
$(SIMPLE_EXTENSIONS):
- gcc -I.. -shared -gdwarf-2 -g3 -o $@ $(@:.$(SOEXT)=.c)
+ gcc -I.. -shared -gdwarf-2 -g3 -static-libgcc -o $@ $(@:.$(SOEXT)=.c)
$(ALL_EXTENSIONS): ../gawkapi.h ../gettext.h
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index bb8d437e..7f579738 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -131,6 +131,7 @@ srcdir = .
abs_srcdir = .
abs_builddir = .
top_srcdir = "$(srcdir)"/..
+abs_top_builddir = "$(top_srcdir)"
# Get rid of core files when cleaning and generated .ok file
CLEANFILES = core core.* fmtspcl.ok
@@ -249,8 +250,8 @@ check: msg \
machine-msg-start machine-tests machine-msg-end \
charset-tests-all \
shlib-msg-start shlib-tests shlib-msg-end \
- mpfr-msg-start mpfr-tests mpfr-msg-end
- @$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
+ mpfr-msg-start mpfr-tests mpfr-msg-end \
+ pass-fail
basic: $(BASIC_TESTS)
@@ -903,10 +904,10 @@ profile4:
profile5:
@echo $@
- @echo Expect profile5 to fail with MinGW due to 3 digits in %e output
@GAWK_NO_PP_RUN=1 $(AWK) --profile=ap-$@.out -f "$(srcdir)"/$@.awk > /dev/null
@sed 1,2d < ap-$@.out > _$@; rm ap-$@.out
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+# @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ @-$(TESTOUTCMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
profile6:
@echo $@
@@ -934,7 +935,8 @@ exit:
@echo $@
@echo Expect exit to fail with MinGW due to null vs nul difference
@-AWK="$(AWKPROG)" "$(srcdir)"/$@.sh > _$@ 2>&1
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+# @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ @-$(TESTOUTCMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
rri1::
@echo $@
@@ -1229,6 +1231,7 @@ paramasfunc2::
negtime::
@echo $@
+ @echo Expect negtime to fail with MinGW and DJGPP
@TZ=GMT AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
Gt-dummy:
@@ -1636,9 +1639,9 @@ hex:
hsprint:
@echo $@
- @echo Expect hsprint to fail with MinGW due to 3 digits in %e output
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+# @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ @-$(TESTOUTCMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
inputred:
@echo $@
@@ -2416,9 +2419,9 @@ patsplit:
posix:
@echo $@
- @echo Expect posix to fail with MinGW due to 3 digits in e+NNN exponent
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+# @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ @-$(TESTOUTCMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
printfbad1:
@echo $@
@@ -2543,9 +2546,9 @@ double1:
double2:
@echo $@
- @echo Expect double2 to fail with MinGW due to 3 digits in e+NNN exponents
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+# @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ @-$(TESTOUTCMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
intformat:
@echo $@
@@ -2564,9 +2567,9 @@ asorti:
fmttest:
@echo $@
- @echo Expect fmttest to fail with MinGW due to 3 digits in e+NNN exponents
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+# @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ @-$(TESTOUTCMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
fnarydel:
@echo $@
@@ -2679,7 +2682,7 @@ diffout:
diff -c "$(srcdir)"/$${base}.ok $$i ; \
fi ; \
fi ; \
- done | more
+ done | less
# convenient way to scan valgrind results for errors
valgrind-scan:
diff --git a/pc/testoutcmp.awk b/pc/testoutcmp.awk
index 33dcaa3f..d4bbadd0 100644
--- a/pc/testoutcmp.awk
+++ b/pc/testoutcmp.awk
@@ -1,7 +1,8 @@
# cmp replacement program for PC where the error messages aren't
-# exactly the same. should run even on old awk
+# exactly the same, and neither are e+NNN exponents.
+# should run even on old awk
#
-# Copyright (C) 2011 the Free Software Foundation, Inc.
+# Copyright (C) 2011-2015 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -35,6 +36,7 @@ END {
exit 1
}
+ status = 0;
for (i = 1; i <= FNR; i++) {
good = lines[0, i]
actual = lines[1, i]
@@ -46,12 +48,33 @@ END {
l--
if (substr(good, 1, l) == substr(actual, 1, l))
continue
+
+ # For exponents
+ actual1 = gensub(/( ?)([-+]?[0-9.][0-9.]?+e[-+])0([0-9][0-9])/, " \\1\\2\\3", "g", actual)
+ if (good == actual1)
+ continue
+ actual1 = gensub(/([-+]?0)([0-9.]+e[-+])0([0-9][0-9])/, "\\10\\2\\3", "g", actual)
+ if (good == actual1)
+ continue
+ actual1 = gensub(/( ?)([-+]?)([1-9.][0-9.]?+e[-+])0([0-9][0-9])/, "\\1\\20\\3\\4", "g", actual)
+ if (good == actual1)
+ continue
+ actual1 = gensub(/([-+]?[0-9.]+e[-+])0([0-9][0-9])/, "\\1\\2 ", "g", actual)
+ if (good == actual1)
+ continue
+ actual1 = gensub(/([-+]?[0-9.]+e[-+])0([0-9][0-9])/, "\\1\\2", "g", actual)
+ if (good == actual1)
+ continue
+ # For exit test
+ actual1 = gensub(/([01]) nul/, "\\1 null", "g", actual)
+ if (good == actual1)
+ continue
else {
- printf("%s and %s are not equal\n", ARGV[1],
- ARGV[2]) > "/dev/stderr"
- exit 1
+ printf("-%s\n", good) > "/dev/stderr"
+ printf("+%s\n", actual) > "/dev/stderr"
+ status = 1
}
}
- exit 0
+ exit status
}
diff --git a/po/da.po b/po/da.po
index 8dfedbea..d87ebb42 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,10 +8,10 @@
# Review by Ask Hjorth Larsen <asklarsen@gmail.com>, 2011.
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0h\n"
+"Project-Id-Version: gawk 4.1.1d\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
-"POT-Creation-Date: 2015-02-26 20:05+0200\n"
-"PO-Revision-Date: 2012-02-06 10:37+0100\n"
+"POT-Creation-Date: 2015-04-16 17:16+0300\n"
+"PO-Revision-Date: 2015-04-26 12:37+0200\n"
"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
@@ -41,7 +41,7 @@ msgid "attempt to use scalar `%s' as an array"
msgstr "forsg p at bruge skalar '%s' som et array"
#: array.c:409 array.c:576 builtin.c:85 builtin.c:1606 builtin.c:1652
-#: builtin.c:1665 builtin.c:2092 builtin.c:2106 eval.c:1149 eval.c:1153
+#: builtin.c:1665 builtin.c:2106 builtin.c:2120 eval.c:1149 eval.c:1153
#: eval.c:1558
#, c-format
msgid "attempt to use array `%s' in a scalar context"
@@ -58,9 +58,8 @@ msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "forsg p at bruge skalaren '%s[\"%.*s\"]' som array"
#: array.c:776
-#, fuzzy
msgid "adump: first argument not an array"
-msgstr "adump: argument er ikke et array"
+msgstr "adump: frste argument er ikke et array"
#: array.c:815
msgid "asort: second argument not an array"
@@ -80,23 +79,19 @@ msgstr "asorti: frste argument er ikke et array"
#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asort: kan ikke bruge et underarray af frste argument for andet argument"
+msgstr "asort: kan ikke bruge et underarray af frste argument for andet argument"
#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asorti: kan ikke bruge et underarray af frste argument for andet argument"
+msgstr "asorti: kan ikke bruge et underarray af frste argument for andet argument"
#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asort: kan ikke bruge et underarray af andet argument for frste argument"
+msgstr "asort: kan ikke bruge et underarray af andet argument for frste argument"
#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asorti: kan ikke bruge et underarray af andet argument for frste argument"
+msgstr "asorti: kan ikke bruge et underarray af andet argument for frste argument"
#: array.c:1313
#, c-format
@@ -108,410 +103,398 @@ msgstr "'%s' er ugyldigt som funktionsnavn"
msgid "sort comparison function `%s' is not defined"
msgstr "funktionen for sorteringssammenligning '%s' er ikke defineret"
-#: awkgram.y:226
+#: awkgram.y:225
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s-blokke skal have en handlingsdel"
-#: awkgram.y:229
+#: awkgram.y:228
msgid "each rule must have a pattern or an action part"
msgstr "hver regel skal have et mnster eller en handlingsdel"
-#: awkgram.y:320 awkgram.y:331
+#: awkgram.y:319 awkgram.y:330
msgid "old awk does not support multiple `BEGIN' or `END' rules"
-msgstr ""
-"gamle versioner af awk understtter ikke flere 'BEGIN'- eller 'END'-regler"
+msgstr "gamle versioner af awk understtter ikke flere 'BEGIN'- eller 'END'-regler"
-#: awkgram.y:368
+#: awkgram.y:367
#, 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:417
+#: awkgram.y:416
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr "regexp-konstanten '//' ser ud som en C++-kommentar, men er det ikke"
-#: awkgram.y:421
+#: awkgram.y:420
#, 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:513
+#: awkgram.y:512
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "dublet case-vrdier i switch-krop %s"
-#: awkgram.y:534
+#: awkgram.y:533
msgid "duplicate `default' detected in switch body"
msgstr "dublet 'default' opdaget i switch-krop"
-#: awkgram.y:794 awkgram.y:3751
+#: awkgram.y:793 awkgram.y:3750
msgid "`break' is not allowed outside a loop or switch"
msgstr "'break' uden for en lkke eller switch er ikke tilladt"
-#: awkgram.y:803 awkgram.y:3743
+#: awkgram.y:802 awkgram.y:3742
msgid "`continue' is not allowed outside a loop"
msgstr "'continue' uden for en lkke er ikke tilladt"
-#: awkgram.y:813
+#: awkgram.y:812
#, c-format
msgid "`next' used in %s action"
msgstr "'next' brugt i %s-handling"
-#: awkgram.y:822
+#: awkgram.y:821
#, c-format
msgid "`nextfile' used in %s action"
msgstr "'nextfile' brugt i %s-handling"
-#: awkgram.y:846
+#: awkgram.y:845
msgid "`return' used outside function context"
msgstr "'return' brugt uden for funktion"
-#: awkgram.y:920
+#: awkgram.y:919
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
-msgstr ""
-"alenestende 'print' i BEGIN eller END-regel skulle muligvis vre 'print "
-"\"\"'"
+msgstr "alenestende 'print' i BEGIN eller END-regel skulle muligvis vre 'print \"\"'"
-#: awkgram.y:986 awkgram.y:1035
+#: awkgram.y:985 awkgram.y:1034
msgid "`delete' is not allowed with SYMTAB"
msgstr ""
-#: awkgram.y:988 awkgram.y:1037
+#: awkgram.y:987 awkgram.y:1036
msgid "`delete' is not allowed with FUNCTAB"
msgstr ""
-#: awkgram.y:1022 awkgram.y:1026
+#: awkgram.y:1021 awkgram.y:1025
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "'delete array' er en ikke-portabel udvidelse fra tawk"
-#: awkgram.y:1147
+#: awkgram.y:1146
msgid "multistage two-way pipelines don't work"
msgstr "flertrins dobbeltrettede datakanaler fungerer ikke"
-#: awkgram.y:1262
+#: awkgram.y:1261
msgid "regular expression on right of assignment"
msgstr "regulrt udtryk i hjreleddet af en tildeling"
-#: awkgram.y:1273
+#: awkgram.y:1272
msgid "regular expression on left of `~' or `!~' operator"
msgstr "regulrt udtryk p venstre side af en '~'- eller '!~'-operator"
-#: awkgram.y:1289 awkgram.y:1431
+#: awkgram.y:1288 awkgram.y:1430
msgid "old awk does not support the keyword `in' except after `for'"
-msgstr ""
-"gamle versioner af awk understtter ikke ngleordet 'in' undtagen efter 'for'"
+msgstr "gamle versioner af awk understtter ikke ngleordet 'in' undtagen efter 'for'"
-#: awkgram.y:1299
+#: awkgram.y:1298
msgid "regular expression on right of comparison"
msgstr "regulrt udtryk i hjreleddet af en sammenligning"
-#: awkgram.y:1411
+#: awkgram.y:1410
#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
msgstr "ikke-omdirigeret 'getline' ugyldig inden i '%s'-regel"
-#: awkgram.y:1414
+#: awkgram.y:1413
msgid "non-redirected `getline' undefined inside END action"
msgstr "ikke-omdirigeret 'getline' udefineret inden i END-handling"
-#: awkgram.y:1433
+#: awkgram.y:1432
msgid "old awk does not support multidimensional arrays"
msgstr "gamle versioner af awk understtter ikke flerdimensionale array"
-#: awkgram.y:1530
+#: awkgram.y:1529
msgid "call of `length' without parentheses is not portable"
msgstr "kald af 'length' uden parenteser er ikke portabelt"
-#: awkgram.y:1596
+#: awkgram.y:1595
msgid "indirect function calls are a gawk extension"
msgstr "indirekte funktionskald er en gawk-udvidelse"
-#: awkgram.y:1609
+#: awkgram.y:1608
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr "kan ikke bruge specialvariabel '%s' til indirekte funktionskald"
-#: awkgram.y:1635
-#, fuzzy, c-format
+#: awkgram.y:1634
+#, c-format
msgid "attempt to use non-function `%s' in function call"
-msgstr "forsg p at bruge funktionen '%s' som et array"
+msgstr "forsg p at bruge ikke-funktionen '%s' som et funktionskald"
-#: awkgram.y:1699
+#: awkgram.y:1698
msgid "invalid subscript expression"
msgstr "ugyldigt indeksudtryk"
-#: awkgram.y:2045 awkgram.y:2065 gawkapi.c:206 gawkapi.c:224 msg.c:126
+#: awkgram.y:2044 awkgram.y:2064 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "advarsel: "
-#: awkgram.y:2063 gawkapi.c:192 gawkapi.c:221 msg.c:158
+#: awkgram.y:2062 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "fatal: "
-#: awkgram.y:2113
+#: awkgram.y:2112
msgid "unexpected newline or end of string"
msgstr "uventet nylinjetegn eller strengafslutning"
-#: awkgram.y:2392 awkgram.y:2468 awkgram.y:2691 debug.c:523 debug.c:539
+#: awkgram.y:2391 awkgram.y:2467 awkgram.y:2690 debug.c:523 debug.c:539
#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "kan ikke bne kildefilen '%s' for lsning (%s)"
-#: awkgram.y:2393 awkgram.y:2518
-#, fuzzy, c-format
+#: awkgram.y:2392 awkgram.y:2517
+#, c-format
msgid "can't open shared library `%s' for reading (%s)"
-msgstr "kan ikke bne kildefilen '%s' for lsning (%s)"
+msgstr "kan ikke bne delt bibliotek '%s' for lsning (%s)"
-#: awkgram.y:2395 awkgram.y:2469 awkgram.y:2519 builtin.c:135 debug.c:5206
+#: awkgram.y:2394 awkgram.y:2468 awkgram.y:2518 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr "ukendt rsag"
-#: awkgram.y:2404 awkgram.y:2428
+#: awkgram.y:2403 awkgram.y:2427
#, c-format
msgid "can't include `%s' and use it as a program file"
msgstr ""
-#: awkgram.y:2417
+#: awkgram.y:2416
#, c-format
msgid "already included source file `%s'"
msgstr "allerede inkluderet kildefil '%s'"
-#: awkgram.y:2418
-#, fuzzy, c-format
+#: awkgram.y:2417
+#, c-format
msgid "already loaded shared library `%s'"
-msgstr "allerede inkluderet kildefil '%s'"
+msgstr "allerede indlst delt bibliotek '%s'"
-#: awkgram.y:2453
+#: awkgram.y:2452
msgid "@include is a gawk extension"
msgstr "@include er en gawk-udvidelse"
-#: awkgram.y:2459
+#: awkgram.y:2458
msgid "empty filename after @include"
msgstr "tomt filnavn efter @include"
-#: awkgram.y:2503
-#, fuzzy
+#: awkgram.y:2502
msgid "@load is a gawk extension"
-msgstr "@include er en gawk-udvidelse"
+msgstr "@load er en gawk-udvidelse"
-#: awkgram.y:2509
-#, fuzzy
+#: awkgram.y:2508
msgid "empty filename after @load"
-msgstr "tomt filnavn efter @include"
+msgstr "tomt filnavn efter @load"
-#: awkgram.y:2643
+#: awkgram.y:2642
msgid "empty program text on command line"
msgstr "tom programtekst p kommandolinjen"
-#: awkgram.y:2758
+#: awkgram.y:2757
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "kan ikke lse kildefilen '%s' (%s)"
-#: awkgram.y:2769
+#: awkgram.y:2768
#, c-format
msgid "source file `%s' is empty"
msgstr "kildefilen '%s' er tom"
-#: awkgram.y:2828
+#: awkgram.y:2827
#, c-format
msgid "PEBKAC error: invalid character '\\%03o' in source code"
msgstr ""
-#: awkgram.y:2959
+#: awkgram.y:2958
msgid "source file does not end in newline"
msgstr "kildefilen slutter ikke med en ny linje"
-#: awkgram.y:3062
+#: awkgram.y:3061
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "uafsluttet regulrt udtryk slutter med '\\' i slutningen af filen"
-#: awkgram.y:3089
+#: awkgram.y:3088
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "%s: %d: regex-ndringstegn '/.../%c' fra tawk virker ikke i gawk"
-#: awkgram.y:3093
+#: awkgram.y:3092
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "regex-ndringstegn '/.../%c' fra tawk virker ikke i gawk"
-#: awkgram.y:3100
+#: awkgram.y:3099
msgid "unterminated regexp"
msgstr "uafsluttet regulrt udtryk"
-#: awkgram.y:3104
+#: awkgram.y:3103
msgid "unterminated regexp at end of file"
msgstr "uafsluttet regulrt udtryk i slutningen af filen"
-#: awkgram.y:3162
+#: awkgram.y:3161
msgid "use of `\\ #...' line continuation is not portable"
msgstr "brug af '\\ #...' for linjefortsttelse er ikke portabelt"
-#: awkgram.y:3178
+#: awkgram.y:3177
msgid "backslash not last character on line"
msgstr "sidste tegn p linjen er ikke en omvendt skrstreg"
-#: awkgram.y:3239
+#: awkgram.y:3238
msgid "POSIX does not allow operator `**='"
msgstr "POSIX tillader ikke operatoren '**='"
-#: awkgram.y:3241
+#: awkgram.y:3240
msgid "old awk does not support operator `**='"
msgstr "gamle versioner af awk understtter ikke operatoren '**='"
-#: awkgram.y:3250
+#: awkgram.y:3249
msgid "POSIX does not allow operator `**'"
msgstr "POSIX tillader ikke operatoren '**'"
-#: awkgram.y:3252
+#: awkgram.y:3251
msgid "old awk does not support operator `**'"
msgstr "gamle versioner af awk understtter ikke operatoren '**'"
-#: awkgram.y:3287
+#: awkgram.y:3286
msgid "operator `^=' is not supported in old awk"
msgstr "operatoren '^=' understttes ikke i gamle versioner af awk"
-#: awkgram.y:3295
+#: awkgram.y:3294
msgid "operator `^' is not supported in old awk"
msgstr "operatoren '^' understttes ikke i gamle versioner af awk"
-#: awkgram.y:3392 awkgram.y:3410 command.y:1180
+#: awkgram.y:3391 awkgram.y:3409 command.y:1180
msgid "unterminated string"
msgstr "uafsluttet streng"
-#: awkgram.y:3631
+#: awkgram.y:3630
#, c-format
msgid "invalid char '%c' in expression"
msgstr "ugyldigt tegn '%c' i udtryk"
-#: awkgram.y:3678
+#: awkgram.y:3677
#, c-format
msgid "`%s' is a gawk extension"
msgstr "'%s' er en gawk-udvidelse"
-#: awkgram.y:3683
+#: awkgram.y:3682
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX tillader ikke '%s'"
-#: awkgram.y:3691
+#: awkgram.y:3690
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "'%s' understttes ikke i gamle versioner af awk"
-#: awkgram.y:3781
+#: awkgram.y:3780
msgid "`goto' considered harmful!\n"
msgstr "'goto' anses for skadelig!\n"
-#: awkgram.y:3815
+#: awkgram.y:3814
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d er et ugyldigt antal argumenter for %s"
-#: awkgram.y:3850
+#: awkgram.y:3849
#, 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"
+msgstr "%s: bogstavelig streng som sidste argument til erstatning har ingen effekt"
-#: awkgram.y:3855
+#: awkgram.y:3854
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s: tredje argument er ikke et ndringsbart objekt"
-#: awkgram.y:3938 awkgram.y:3941
+#: awkgram.y:3937 awkgram.y:3940
msgid "match: third argument is a gawk extension"
msgstr "match: tredje argument er en gawk-udvidelse"
-#: awkgram.y:3995 awkgram.y:3998
+#: awkgram.y:3994 awkgram.y:3997
msgid "close: second argument is a gawk extension"
msgstr "close: andet argument er en gawk-udvidelse"
-#: awkgram.y:4010
+#: awkgram.y:4009
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"brug af dcgettext(_\"...\") er forkert: fjern det indledende "
-"understregningstegn"
+msgstr "brug af dcgettext(_\"...\") er forkert: fjern det indledende understregningstegn"
-#: awkgram.y:4025
+#: awkgram.y:4024
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"brug af dcgettext(_\"...\") er forkert: fjern det indledende "
-"understregningstegn"
+msgstr "brug af dcgettext(_\"...\") er forkert: fjern det indledende understregningstegn"
-#: awkgram.y:4044
+#: awkgram.y:4043
#, fuzzy
+#| msgid "index: received non-string second argument"
msgid "index: regexp constant as second argument is not allowed"
msgstr "indeks: andet argument er ikke en streng"
-#: awkgram.y:4097
+#: awkgram.y:4096
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktionen '%s': parameteren '%s' overskygger en global variabel"
-#: awkgram.y:4154 debug.c:4041 debug.c:4084 debug.c:5204
+#: awkgram.y:4153 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "kunne ikke bne '%s' for skrivning (%s)"
-#: awkgram.y:4155
+#: awkgram.y:4154
msgid "sending variable list to standard error"
msgstr "sender variabelliste til standard fejl"
-#: awkgram.y:4163
+#: awkgram.y:4162
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: lukning mislykkedes (%s)"
-#: awkgram.y:4188
+#: awkgram.y:4187
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() kaldt to gange!"
-#: awkgram.y:4196
+#: awkgram.y:4195
msgid "there were shadowed variables."
msgstr "der var skyggede variable."
-#: awkgram.y:4267
+#: awkgram.y:4266
#, c-format
msgid "function name `%s' previously defined"
msgstr "funktionsnavnet '%s' er allerede defineret"
-#: awkgram.y:4313
+#: awkgram.y:4312
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funktionen '%s': kan ikke bruge funktionsnavn som parameternavn"
-#: awkgram.y:4316
+#: awkgram.y:4315
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
-msgstr ""
-"funktionen '%s': kan ikke bruge specialvariabel '%s' som en "
-"funktionsparameter"
+msgstr "funktionen '%s': kan ikke bruge specialvariabel '%s' som en funktionsparameter"
-#: awkgram.y:4324
+#: awkgram.y:4323
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "funktionen '%s': parameter %d, '%s', er samme som parameter %d"
-#: awkgram.y:4411 awkgram.y:4417
+#: awkgram.y:4410 awkgram.y:4416
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktionen '%s' kaldt, men aldrig defineret"
-#: awkgram.y:4421
+#: awkgram.y:4420
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktionen '%s' defineret, men aldrig kaldt direkte"
-#: awkgram.y:4453
+#: awkgram.y:4452
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "konstant regulrt udtryk for parameter %d giver en boolesk vrdi"
-#: awkgram.y:4468
+#: awkgram.y:4467
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -520,22 +503,22 @@ msgstr ""
"funktionen '%s' kaldt med blanktegn mellem navnet og '(',\n"
"eller brugt som en variabel eller et array"
-#: awkgram.y:4674
+#: awkgram.y:4673
msgid "division by zero attempted"
msgstr "forsgte at dividere med nul"
-#: awkgram.y:4683
+#: awkgram.y:4682
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "forsgte at dividere med nul i '%%'"
-#: awkgram.y:5003
-msgid ""
-"cannot assign a value to the result of a field post-increment expression"
+#: awkgram.y:5002
+msgid "cannot assign a value to the result of a field post-increment expression"
msgstr ""
-#: awkgram.y:5006
+#: awkgram.y:5005
#, fuzzy, c-format
+#| msgid "%d is invalid as number of arguments for %s"
msgid "invalid target of assignment (opcode %s)"
msgstr "%d er et ugyldigt antal argumenter for %s"
@@ -560,8 +543,7 @@ msgstr "exp: argumentet %g er uden for det tilladte omrde"
#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
-msgstr ""
-"fflush: kan ikke rense: datakanalen '%s' bnet for lsning, ikke skrivning"
+msgstr "fflush: kan ikke rense: datakanalen '%s' bnet for lsning, ikke skrivning"
#: builtin.c:232
#, c-format
@@ -644,8 +626,7 @@ msgstr "fatal: '$' tillades ikke efter et punktum i formatet"
#: builtin.c:921
msgid "fatal: no `$' supplied for positional field width or precision"
-msgstr ""
-"fatal: intet '$' angivet for bredde eller prcision af positionsangivet felt"
+msgstr "fatal: intet '$' angivet for bredde eller prcision af positionsangivet felt"
#: builtin.c:991
msgid "`l' is meaningless in awk formats; ignored"
@@ -672,14 +653,14 @@ msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal: 'h' tillades ikke i POSIX awk-formater"
#: builtin.c:1055
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is too big for %%c format"
-msgstr "[s]printf: vrdi %g er uden for omrde for '%%%c'-format"
+msgstr "[s]printf: vrdi %g er for stor for %%c-format"
#: builtin.c:1068
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is not a valid wide character"
-msgstr "[s]printf: vrdi %g er uden for omrde for '%%%c'-format"
+msgstr "[s]printf: vrdi %g er ikke et gyldigt bredt tegn"
#: builtin.c:1454
#, c-format
@@ -689,8 +670,7 @@ msgstr "[s]printf: vrdi %g er uden for omrde for '%%%c'-format"
#: builtin.c:1552
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"ignorerer ukendt formatspecificeringstegn '%c': intet argument konverteret"
+msgstr "ignorerer ukendt formatspecificeringstegn '%c': intet argument konverteret"
#: builtin.c:1557
msgid "fatal: not enough arguments to satisfy format string"
@@ -709,9 +689,8 @@ msgid "too many arguments supplied for format string"
msgstr "for mange argumenter til formatstrengen"
#: builtin.c:1625
-#, fuzzy
msgid "sprintf: no arguments"
-msgstr "printf: ingen argumenter"
+msgstr "sprintf: ingen argumenter"
#: builtin.c:1648 builtin.c:1659
msgid "printf: no arguments"
@@ -767,203 +746,211 @@ msgstr "substr: startindeks %g er forbi slutningen p strengen"
#: builtin.c:1820
#, c-format
-msgid ""
-"substr: length %g at start index %g exceeds length of first argument (%lu)"
-msgstr ""
-"substr: lngden %g ved startindeks %g overskrider lngden af frste argument "
-"(%lu)"
+msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr "substr: lngden %g ved startindeks %g overskrider lngden af frste argument (%lu)"
-#: builtin.c:1890
+#: builtin.c:1892
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: formatvrdi i PROCINFO[\"strftime\"] har numerisk type"
-#: builtin.c:1913
+#: builtin.c:1915
msgid "strftime: received non-numeric second argument"
msgstr "strftime: fik et ikke-numerisk andet argument"
-#: builtin.c:1917
+#: builtin.c:1924
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: andet argument mindre end 0 eller for stort til time_t"
-#: builtin.c:1924
+#: builtin.c:1928
+msgid "strftime: second argument out of range for time_t"
+msgstr "strftime: andet argument uden for omrde for time_t"
+
+#: builtin.c:1935
msgid "strftime: received non-string first argument"
msgstr "strftime: fik et frste argument som ikke er en streng"
-#: builtin.c:1931
+#: builtin.c:1942
msgid "strftime: received empty format string"
msgstr "strftime: fik en tom formatstreng"
-#: builtin.c:1997
+#: builtin.c:2011
msgid "mktime: received non-string argument"
msgstr "mktime: fik et argument som ikke er en streng"
-#: builtin.c:2014
+#: builtin.c:2028
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: mindst n af vrdierne er udenfor standardomrdet"
-#: builtin.c:2049
+#: builtin.c:2063
msgid "'system' function not allowed in sandbox mode"
msgstr "'system'-funktion ikke tilladt i sandkasse-tilstand"
-#: builtin.c:2054
+#: builtin.c:2068
msgid "system: received non-string argument"
msgstr "system: fik et argument som ikke er en streng"
-#: builtin.c:2174
+#: builtin.c:2188
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "reference til ikke-initieret felt '$%d'"
-#: builtin.c:2259
+#: builtin.c:2273
msgid "tolower: received non-string argument"
msgstr "tolower: fik et argument som ikke er en streng"
-#: builtin.c:2290
+#: builtin.c:2304
msgid "toupper: received non-string argument"
msgstr "toupper: fik et argument som ikke er en streng"
-#: builtin.c:2323 mpfr.c:679
+#: builtin.c:2337 mpfr.c:679
msgid "atan2: received non-numeric first argument"
msgstr "atan2: fik et ikke-numerisk frste argument"
-#: builtin.c:2325 mpfr.c:681
+#: builtin.c:2339 mpfr.c:681
msgid "atan2: received non-numeric second argument"
msgstr "atan2: fik et ikke-numerisk andet argument"
-#: builtin.c:2344
+#: builtin.c:2358
msgid "sin: received non-numeric argument"
msgstr "sin: fik et ikke-numerisk argument"
-#: builtin.c:2360
+#: builtin.c:2374
msgid "cos: received non-numeric argument"
msgstr "cos: fik et ikke-numerisk argument"
-#: builtin.c:2413 mpfr.c:1176
+#: builtin.c:2427 mpfr.c:1176
msgid "srand: received non-numeric argument"
msgstr "srand: fik et ikke-numerisk argument"
-#: builtin.c:2444
+#: builtin.c:2458
msgid "match: third argument is not an array"
msgstr "match: tredje argument er ikke et array"
-#: builtin.c:2705
-#, fuzzy, c-format
+#: builtin.c:2719
+#, c-format
msgid "gensub: third argument `%.*s' treated as 1"
-msgstr "gensub: 0 i tredje argument behandlet som 1"
+msgstr "gensub: tredje argument '%.*s' behandlet som 1"
-#: builtin.c:2720
-#, fuzzy, c-format
+#: builtin.c:2734
+#, c-format
msgid "gensub: third argument %g treated as 1"
-msgstr "gensub: 0 i tredje argument behandlet som 1"
+msgstr "gensub: tredje argument %g behandlet som 1"
-#: builtin.c:3020
+#: builtin.c:3032
+#, c-format
+msgid "%s: can be called indirectly only with two arguments"
+msgstr "%s: kan kun kaldes indirekte med to argumenter"
+
+#: builtin.c:3122
+#, c-format
+msgid "indirect call to %s requires at least two arguments"
+msgstr "indirekte kald til %s krver mindst to argumenter"
+
+#: builtin.c:3174
msgid "lshift: received non-numeric first argument"
msgstr "lshift: fik et ikke-numerisk frste argument"
-#: builtin.c:3022
+#: builtin.c:3176
msgid "lshift: received non-numeric second argument"
msgstr "lshift: fik et ikke-numerisk andet argument"
-#: builtin.c:3028
-#, fuzzy, c-format
+#: builtin.c:3182
+#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
-msgstr "lshift(%lf, %lf): negative vrdier vil give mrkelige resultater"
+msgstr "lshift(%f, %f): negative vrdier vil give mrkelige resultater"
-#: builtin.c:3030
-#, fuzzy, c-format
+#: builtin.c:3184
+#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
-msgstr "lshift(%lf, %lf): kommatalsvrdier vil blive trunkeret"
+msgstr "lshift(%f, %f): kommatalsvrdier vil blive trunkeret"
-#: builtin.c:3032
-#, fuzzy, c-format
+#: builtin.c:3186
+#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
-msgstr ""
-"lshift(%lf, %lf): for store skiftevrdier vil give mrkelige resultater"
+msgstr "lshift(%f, %f): for stor skiftevrdi vil give mrkelige resultater"
-#: builtin.c:3057
+#: builtin.c:3211
msgid "rshift: received non-numeric first argument"
msgstr "rshift: fik et ikke-numerisk frste argument"
-#: builtin.c:3059
+#: builtin.c:3213
msgid "rshift: received non-numeric second argument"
msgstr "rshift: fik et ikke-numerisk andet argument"
-#: builtin.c:3065
-#, fuzzy, c-format
+#: builtin.c:3219
+#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
-msgstr "rshift(%lf, %lf): negative vrdier vil give mrkelige resultater"
+msgstr "rshift(%f, %f): negative vrdier vil give mrkelige resultater"
-#: builtin.c:3067
-#, fuzzy, c-format
+#: builtin.c:3221
+#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
-msgstr "rshift(%lf, %lf): kommatalsvrdier vil blive trunkeret"
+msgstr "rshift(%f, %f): kommatalsvrdier vil blive trunkeret"
-#: builtin.c:3069
-#, fuzzy, c-format
+#: builtin.c:3223
+#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
-msgstr ""
-"rshift(%lf, %lf): for store skiftevrdier vil give mrkelige resultater"
+msgstr "rshift(%f, %f): for stor skiftevrdi vil give mrkelige resultater"
-#: builtin.c:3094 mpfr.c:988
-#, fuzzy
+#: builtin.c:3248 mpfr.c:988
msgid "and: called with less than two arguments"
-msgstr "sqrt: kaldt med negativt argument %g"
+msgstr "and: kaldt med mindre end to argumenter"
-#: builtin.c:3099
-#, fuzzy, c-format
+#: builtin.c:3253
+#, c-format
msgid "and: argument %d is non-numeric"
-msgstr "exp: argumentet %g er uden for det tilladte omrde"
+msgstr "and: argumentet %d er ikke-numerisk"
-#: builtin.c:3103
+#: builtin.c:3257
#, fuzzy, c-format
+#| msgid "and(%lf, %lf): negative values will give strange results"
msgid "and: argument %d negative value %g will give strange results"
msgstr "and(%lf, %lf): negative vrdier vil give mrkelige resultater"
-#: builtin.c:3126 mpfr.c:1020
-#, fuzzy
+#: builtin.c:3280 mpfr.c:1020
msgid "or: called with less than two arguments"
-msgstr "sqrt: kaldt med negativt argument %g"
+msgstr "or: kaldt med mindre end to argumenter"
-#: builtin.c:3131
-#, fuzzy, c-format
+#: builtin.c:3285
+#, c-format
msgid "or: argument %d is non-numeric"
-msgstr "exp: argumentet %g er uden for det tilladte omrde"
+msgstr "or: argumentet %d er ikke-numerisk"
-#: builtin.c:3135
-#, fuzzy, c-format
+#: builtin.c:3289
+#, c-format
msgid "or: argument %d negative value %g will give strange results"
-msgstr "compl(%lf): negative vrdier vil give mrkelige resultater"
+msgstr "or: argument %d negativ vrdi %g vil give mrkelige resultater"
-#: builtin.c:3157 mpfr.c:1051
-#, fuzzy
+#: builtin.c:3311 mpfr.c:1051
msgid "xor: called with less than two arguments"
-msgstr "sqrt: kaldt med negativt argument %g"
+msgstr "zor: kaldt med mindre end to argumenter"
-#: builtin.c:3163
-#, fuzzy, c-format
+#: builtin.c:3317
+#, c-format
msgid "xor: argument %d is non-numeric"
-msgstr "exp: argumentet %g er uden for det tilladte omrde"
+msgstr "xor: argumentet %d er ikke-numerisk"
-#: builtin.c:3167
-#, fuzzy, c-format
+#: builtin.c:3321
+#, c-format
msgid "xor: argument %d negative value %g will give strange results"
-msgstr "xor(%lf, %lf): negative vrdier vil give mrkelige resultater"
+msgstr "xor: argument %d negativ vrdi %g vil give mrkelige resultater"
-#: builtin.c:3192 mpfr.c:807
+#: builtin.c:3346 mpfr.c:807
msgid "compl: received non-numeric argument"
msgstr "compl: fik et ikke-numerisk argument"
-#: builtin.c:3198
-#, fuzzy, c-format
+#: builtin.c:3352
+#, c-format
msgid "compl(%f): negative value will give strange results"
-msgstr "compl(%lf): negative vrdier vil give mrkelige resultater"
+msgstr "compl(%f): negativ vrdi vil give mrkelige resultater"
-#: builtin.c:3200
+#: builtin.c:3354
#, fuzzy, c-format
+#| msgid "compl(%lf): fractional value will be truncated"
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%lf): kommatalsvrdier vil blive trunkeret"
-#: builtin.c:3369
+#: builtin.c:3523
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: '%s' er ikke en gyldig lokalitetskategori"
@@ -975,13 +962,14 @@ msgstr ""
#: command.y:289
#, fuzzy, c-format
+#| msgid "Invalid range end"
msgid "invalid frame number: %d"
msgstr "Ugyldig intervalslutning"
#: command.y:295
-#, fuzzy, c-format
+#, c-format
msgid "info: invalid option - \"%s\""
-msgstr "%s: ugyldigt flag - '%c'\n"
+msgstr "info: ugyldigt flag - '%s'"
#: command.y:321
#, c-format
@@ -1024,18 +1012,17 @@ msgid "`silent' valid only in command `commands'"
msgstr ""
#: command.y:373
-#, fuzzy, c-format
+#, c-format
msgid "trace: invalid option - \"%s\""
-msgstr "%s: ugyldigt flag - '%c'\n"
+msgstr "trace: ugyldigt flag - '%s'"
#: command.y:387
msgid "condition: invalid breakpoint/watchpoint number"
msgstr ""
#: command.y:449
-#, fuzzy
msgid "argument not a string"
-msgstr "exp: argumentet %g er uden for det tilladte omrde"
+msgstr "argument er ikke en streng"
#: command.y:459 command.y:464
#, c-format
@@ -1049,16 +1036,19 @@ msgstr ""
#: command.y:531
#, fuzzy, c-format
+#| msgid "%s: invalid option -- '%c'\n"
msgid "enable: invalid option - \"%s\""
msgstr "%s: ugyldigt flag - '%c'\n"
#: command.y:597
#, fuzzy, c-format
+#| msgid "Invalid range end"
msgid "invalid range specification: %d - %d"
msgstr "Ugyldig intervalslutning"
#: command.y:659
#, fuzzy
+#| msgid "unknown value for field spec: %d\n"
msgid "non-numeric value for field number"
msgstr "ukendt vrdi for felt-spec: %d\n"
@@ -1071,14 +1061,11 @@ msgid "non-zero integer value"
msgstr ""
#: command.y:817
-msgid ""
-"backtrace [N] - print trace of all or N innermost (outermost if N < 0) "
-"frames."
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
msgstr ""
#: command.y:819
-msgid ""
-"break [[filename:]N|function] - set breakpoint at the specified location."
+msgid "break [[filename:]N|function] - set breakpoint at the specified location."
msgstr ""
#: command.y:821
@@ -1086,9 +1073,7 @@ msgid "clear [[filename:]N|function] - delete breakpoints previously set."
msgstr ""
#: command.y:823
-msgid ""
-"commands [num] - starts a list of commands to be executed at a "
-"breakpoint(watchpoint) hit."
+msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit."
msgstr ""
#: command.y:825
@@ -1148,9 +1133,7 @@ msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
msgstr ""
#: command.y:853
-msgid ""
-"info topic - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
+msgid "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
msgstr ""
#: command.y:855
@@ -1162,8 +1145,7 @@ msgid "next [COUNT] - step program, proceeding through subroutine calls."
msgstr ""
#: command.y:859
-msgid ""
-"nexti [COUNT] - step one instruction, but proceed through subroutine calls."
+msgid "nexti [COUNT] - step one instruction, but proceed through subroutine calls."
msgstr ""
#: command.y:861
@@ -1199,8 +1181,7 @@ msgid "set var = value - assign value to a scalar variable."
msgstr ""
#: command.y:879
-msgid ""
-"silent - suspends usual message when stopped at a breakpoint/watchpoint."
+msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint."
msgstr ""
#: command.y:881
@@ -1228,9 +1209,7 @@ msgid "undisplay [N] - remove variable(s) from automatic display list."
msgstr ""
#: command.y:893
-msgid ""
-"until [[filename:]N|function] - execute until program reaches a different "
-"line or line N within current frame."
+msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame."
msgstr ""
#: command.y:895
@@ -1246,9 +1225,7 @@ msgid "watch var - set a watchpoint for a variable."
msgstr ""
#: command.y:901
-msgid ""
-"where [N] - (same as backtrace) print trace of all or N innermost (outermost "
-"if N < 0) frames."
+msgid "where [N] - (same as backtrace) print trace of all or N innermost (outermost if N < 0) frames."
msgstr ""
#: command.y:1013 debug.c:401 msg.c:135
@@ -1258,16 +1235,19 @@ msgstr "fejl: "
#: command.y:1053
#, fuzzy, c-format
+#| msgid "can't redirect from `%s' (%s)"
msgid "can't read command (%s)\n"
msgstr "kan ikke omdirigere fra '%s' (%s)"
#: command.y:1067
#, fuzzy, c-format
+#| msgid "can't redirect from `%s' (%s)"
msgid "can't read command (%s)"
msgstr "kan ikke omdirigere fra '%s' (%s)"
#: command.y:1118
#, fuzzy
+#| msgid "Invalid character class name"
msgid "invalid character in command"
msgstr "Ugyldigt tegnklassenavn"
@@ -1283,6 +1263,7 @@ msgstr ""
#: command.y:1286
#, fuzzy
+#| msgid "Invalid collation character"
msgid "invalid character"
msgstr "Ugyldigt sorteringstegn"
@@ -1325,11 +1306,13 @@ msgstr ""
#: debug.c:448 debug.c:606
#, fuzzy, c-format
+#| msgid "can't read sourcefile `%s' (%s)"
msgid "can't read source file `%s' (%s)"
msgstr "kan ikke lse kildefilen '%s' (%s)"
#: debug.c:453
#, fuzzy, c-format
+#| msgid "source file `%s' is empty"
msgid "source file `%s' is empty.\n"
msgstr "kildefilen '%s' er tom"
@@ -1339,6 +1322,7 @@ msgstr ""
#: debug.c:505
#, fuzzy, c-format
+#| msgid "can't read sourcefile `%s' (%s)"
msgid "cannot find source file named `%s' (%s)"
msgstr "kan ikke lse kildefilen '%s' (%s)"
@@ -1354,6 +1338,7 @@ msgstr ""
#: debug.c:611
#, fuzzy, c-format
+#| msgid "unexpected newline or end of string"
msgid "unexpected eof while reading file `%s', line %d"
msgstr "uventet nylinjetegn eller strengafslutning"
@@ -1364,6 +1349,7 @@ msgstr ""
#: debug.c:732
#, fuzzy, c-format
+#| msgid "already included source file `%s'"
msgid "Current source file: %s\n"
msgstr "allerede inkluderet kildefil '%s'"
@@ -1424,6 +1410,7 @@ msgstr ""
#: debug.c:848
#, fuzzy
+#| msgid "printf: no arguments"
msgid "No arguments.\n"
msgstr "printf: ingen argumenter"
@@ -1457,26 +1444,31 @@ msgstr ""
#: debug.c:1029
#, fuzzy, c-format
+#| msgid "`exit' cannot be called in the current context"
msgid "no symbol `%s' in current context\n"
msgstr "'exit' kan ikke kaldes i den aktuelle kontekst"
#: debug.c:1041 debug.c:1427
#, fuzzy, c-format
+#| msgid "`%s' is not a legal variable name"
msgid "`%s' is not an array\n"
msgstr "'%s' er ikke et gyldigt variabelnavn"
#: debug.c:1055
#, fuzzy, c-format
+#| msgid "reference to uninitialized field `$%d'"
msgid "$%ld = uninitialized field\n"
msgstr "reference til ikke-initieret felt '$%d'"
#: debug.c:1076
#, fuzzy, c-format
+#| msgid "data file `%s' is empty"
msgid "array `%s' is empty\n"
msgstr "datafilen '%s' er tom"
#: debug.c:1119 debug.c:1171
#, fuzzy, c-format
+#| msgid "delete: index `%s' not in array `%s'"
msgid "[\"%s\"] not in array `%s'\n"
msgstr "delete: indeks '%s' findes ikke i array '%s'"
@@ -1487,21 +1479,25 @@ msgstr ""
#: debug.c:1236 debug.c:4964
#, fuzzy, c-format
+#| msgid "`%s' is not a legal variable name"
msgid "`%s' is not a scalar variable"
msgstr "'%s' er ikke et gyldigt variabelnavn"
#: debug.c:1258 debug.c:4994
#, fuzzy, c-format
+#| msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
msgstr "forsg p at bruge array '%s[\"%.*s\"]' i skalarsammenhng"
#: debug.c:1280 debug.c:5005
#, fuzzy, c-format
+#| msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgid "attempt to use scalar `%s[\"%s\"]' as array"
msgstr "forsg p at bruge skalaren '%s[\"%.*s\"]' som array"
#: debug.c:1423
#, fuzzy, c-format
+#| msgid "`%s' is invalid as a function name"
msgid "`%s' is a function"
msgstr "'%s' er ugyldigt som funktionsnavn"
@@ -1522,11 +1518,13 @@ msgstr ""
#: debug.c:1528
#, fuzzy, c-format
+#| msgid "delete: index `%s' not in array `%s'"
msgid "%d: [\"%s\"] not in array `%s'\n"
msgstr "delete: indeks '%s' findes ikke i array '%s'"
#: debug.c:1767
#, fuzzy
+#| msgid "attempt to use a scalar value as array"
msgid "attempt to use scalar value as array"
msgstr "forsg p at bruge en skalar som array"
@@ -1562,6 +1560,7 @@ msgstr ""
#: debug.c:2017
#, fuzzy
+#| msgid "Invalid range end"
msgid "invalid frame number"
msgstr "Ugyldig intervalslutning"
@@ -1597,6 +1596,7 @@ msgstr ""
#: debug.c:2369 debug.c:2492 debug.c:3350
#, fuzzy, c-format
+#| msgid "exp: argument %g is out of range"
msgid "line number %d in file `%s' out of range"
msgstr "exp: argumentet %g er uden for det tilladte omrde"
@@ -1632,6 +1632,7 @@ msgstr ""
#: debug.c:2541
#, fuzzy, c-format
+#| msgid "error reading input file `%s': %s"
msgid "No breakpoint at file `%s', line #%d\n"
msgstr "fejl ved lsning af inddatafilen '%s': %s"
@@ -1737,6 +1738,7 @@ msgstr ""
#: debug.c:3377
#, fuzzy, c-format
+#| msgid "already included source file `%s'"
msgid "invalid source line %d in file `%s'"
msgstr "allerede inkluderet kildefil '%s'"
@@ -1747,8 +1749,9 @@ msgstr ""
#: debug.c:3424
#, fuzzy, c-format
+#| msgid "adump: argument not an array"
msgid "element not in array\n"
-msgstr "delete: indeks '%s' findes ikke i array '%s'"
+msgstr "adump: argument er ikke et array"
#: debug.c:3424
#, c-format
@@ -1780,6 +1783,7 @@ msgstr ""
#: debug.c:5001
#, fuzzy, c-format
+#| msgid "delete: index `%s' not in array `%s'"
msgid "[\"%s\"] not in array `%s'"
msgstr "delete: indeks '%s' findes ikke i array '%s'"
@@ -1794,16 +1798,19 @@ msgstr ""
#: debug.c:5381
#, fuzzy, c-format
+#| msgid "`exit' cannot be called in the current context"
msgid "`%s' not allowed in current context; statement ignored"
msgstr "'exit' kan ikke kaldes i den aktuelle kontekst"
#: debug.c:5389
#, fuzzy
+#| msgid "`exit' cannot be called in the current context"
msgid "`return' not allowed in current context; statement ignored"
msgstr "'exit' kan ikke kaldes i den aktuelle kontekst"
#: debug.c:5604
#, fuzzy, c-format
+#| msgid "attempt to use array `%s' in scalar context"
msgid "No symbol `%s' in current context"
msgstr "forsg p at bruge array '%s' i skalarsammenhng"
@@ -1814,6 +1821,7 @@ msgstr ""
#: dfa.c:1119
#, fuzzy
+#| msgid "Invalid character class name"
msgid "invalid character class"
msgstr "Ugyldigt tegnklassenavn"
@@ -1827,11 +1835,13 @@ msgstr ""
#: dfa.c:1474
#, fuzzy
+#| msgid "Invalid content of \\{\\}"
msgid "invalid content of \\{\\}"
msgstr "Ugyldigt indhold i \\{\\}"
#: dfa.c:1477
#, fuzzy
+#| msgid "Regular expression too big"
msgid "regular expression too big"
msgstr "Regulrt udtryk for stort"
@@ -1952,6 +1962,7 @@ msgstr "udvidelser er ikke tilladt i sandkasse-tilstand"
#: ext.c:68
#, fuzzy
+#| msgid "@include is a gawk extension"
msgid "-l / @load are gawk extensions"
msgstr "@include er en gawk-udvidelse"
@@ -1961,22 +1972,21 @@ msgstr ""
#: ext.c:74
#, fuzzy, c-format
+#| msgid "fatal: extension: cannot open `%s' (%s)\n"
msgid "load_ext: cannot open library `%s' (%s)\n"
msgstr "atalt: extension: kan ikke bne '%s' (%s)\n"
#: ext.c:80
#, fuzzy, c-format
-msgid ""
-"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
-msgstr ""
-"fatalt: extension: bibliotek '%s': definer ikke "
-"'plugin_is_GPL_compatible' (%s)\n"
+#| msgid "fatal: extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgstr "fatalt: extension: bibliotek '%s': definer ikke 'plugin_is_GPL_compatible' (%s)\n"
#: ext.c:86
#, fuzzy, c-format
+#| msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
msgid "load_ext: library `%s': cannot call function `%s' (%s)\n"
-msgstr ""
-"fatalt: extension: bibliotek '%s': kan ikke kalde funktionen '%s' (%s)\n"
+msgstr "fatalt: extension: bibliotek '%s': kan ikke kalde funktionen '%s' (%s)\n"
#: ext.c:90
#, c-format
@@ -1993,45 +2003,49 @@ msgstr ""
#: ext.c:156
#, fuzzy, c-format
+#| msgid "fatal: extension: cannot open `%s' (%s)\n"
msgid "extension: cannot open library `%s' (%s)"
msgstr "atalt: extension: kan ikke bne '%s' (%s)\n"
#: ext.c:162
#, fuzzy, c-format
-msgid ""
-"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
-msgstr ""
-"fatalt: extension: bibliotek '%s': definer ikke "
-"'plugin_is_GPL_compatible' (%s)\n"
+#| msgid "fatal: extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
+msgstr "fatalt: extension: bibliotek '%s': definer ikke 'plugin_is_GPL_compatible' (%s)\n"
#: ext.c:166
#, fuzzy, c-format
+#| msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
msgid "extension: library `%s': cannot call function `%s' (%s)"
-msgstr ""
-"fatalt: extension: bibliotek '%s': kan ikke kalde funktionen '%s' (%s)\n"
+msgstr "fatalt: extension: bibliotek '%s': kan ikke kalde funktionen '%s' (%s)\n"
#: ext.c:197
#, fuzzy
+#| msgid "extension: missing function name"
msgid "make_builtin: missing function name"
msgstr "extension: mangler funktionsnavn"
#: ext.c:212
#, fuzzy, c-format
+#| msgid "extension: can't redefine function `%s'"
msgid "make_builtin: can't redefine function `%s'"
msgstr "extension: kan ikke omdefinere funktion '%s'"
#: ext.c:216
#, fuzzy, c-format
+#| msgid "extension: function `%s' already defined"
msgid "make_builtin: function `%s' already defined"
msgstr "extension: funktionen '%s' er allerede defineret"
#: ext.c:220
#, fuzzy, c-format
+#| msgid "extension: function name `%s' previously defined"
msgid "make_builtin: function name `%s' previously defined"
msgstr "extension: funktionsnavnet '%s' er defineret tidligere"
#: ext.c:222
#, fuzzy, c-format
+#| msgid "extension: can't use gawk built-in `%s' as function name"
msgid "make_builtin: can't use gawk built-in `%s' as function name"
msgstr "extension: kan ikke bruge gawk's indbyggede '%s' som funktionsnavn"
@@ -2041,32 +2055,31 @@ msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: negativt argumentantal for funktion '%s'"
#: ext.c:252
-#, fuzzy
msgid "extension: missing function name"
msgstr "extension: mangler funktionsnavn"
#: ext.c:255 ext.c:259
-#, fuzzy, c-format
+#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: ugyldigt tegn '%c' i funktionsnavn '%s'"
#: ext.c:267
-#, fuzzy, c-format
+#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "extension: kan ikke omdefinere funktion '%s'"
#: ext.c:271
-#, fuzzy, c-format
+#, c-format
msgid "extension: function `%s' already defined"
msgstr "extension: funktionen '%s' er allerede defineret"
#: ext.c:275
-#, fuzzy, c-format
+#, c-format
msgid "extension: function name `%s' previously defined"
-msgstr "funktionsnavnet '%s' er allerede defineret"
+msgstr "extension: funktionsnavnet '%s' er defineret tidligere"
#: ext.c:277
-#, fuzzy, c-format
+#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr "extension: kan ikke bruge gawk's indbyggede '%s' som funktionsnavn"
@@ -2083,14 +2096,12 @@ msgstr "funktion '%s': mangler argument nummer %d"
#: ext.c:371
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
-msgstr ""
-"funktion '%s': argument nummer %d: forsg p at bruge skalar som et array"
+msgstr "funktion '%s': argument nummer %d: forsg p at bruge skalar som et array"
#: ext.c:375
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
-msgstr ""
-"funktion '%s': argument nummer %d: forsg p at bruge array som en skalar"
+msgstr "funktion '%s': argument nummer %d: forsg p at bruge array som en skalar"
#: ext.c:389
msgid "dynamic loading of library not supported"
@@ -2098,6 +2109,7 @@ msgstr ""
#: extension/filefuncs.c:159
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "chdir: called with incorrect number of arguments, expecting 1"
msgstr "sqrt: kaldt med negativt argument %g"
@@ -2108,21 +2120,24 @@ msgstr ""
#: extension/filefuncs.c:472
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "stat: called with wrong number of arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/filefuncs.c:479
#, fuzzy
+#| msgid "%s: is parameter\n"
msgid "stat: bad parameters"
msgstr "%s: er parameter\n"
#: extension/filefuncs.c:533
-#, fuzzy, c-format
+#, c-format
msgid "fts init: could not create variable %s"
-msgstr "indeks: andet argument er ikke en streng"
+msgstr ""
#: extension/filefuncs.c:554
#, fuzzy
+#| msgid "`%s' is not supported in old awk"
msgid "fts is not supported on this system"
msgstr "'%s' understttes ikke i gamle versioner af awk"
@@ -2135,9 +2150,8 @@ msgid "fill_stat_element: could not set element"
msgstr ""
#: extension/filefuncs.c:597
-#, fuzzy
msgid "fill_path_element: could not set element"
-msgstr "indeks: andet argument er ikke en streng"
+msgstr ""
#: extension/filefuncs.c:613
msgid "fill_error_element: could not set element"
@@ -2149,34 +2163,36 @@ msgstr ""
#: extension/filefuncs.c:670 extension/filefuncs.c:717
#: extension/filefuncs.c:735
-#, fuzzy
msgid "fts-process: could not set element"
-msgstr "indeks: andet argument er ikke en streng"
+msgstr ""
#: extension/filefuncs.c:784
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "fts: called with incorrect number of arguments, expecting 3"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/filefuncs.c:787
#, fuzzy
+#| msgid "%s: is parameter\n"
msgid "fts: bad first parameter"
msgstr "%s: er parameter\n"
#: extension/filefuncs.c:793
#, fuzzy
+#| msgid "%s: is parameter\n"
msgid "fts: bad second parameter"
msgstr "%s: er parameter\n"
#: extension/filefuncs.c:799
#, fuzzy
+#| msgid "%s: is parameter\n"
msgid "fts: bad third parameter"
msgstr "%s: er parameter\n"
#: extension/filefuncs.c:806
-#, fuzzy
msgid "fts: could not flatten array\n"
-msgstr "'%s' er ikke et gyldigt variabelnavn"
+msgstr ""
#: extension/filefuncs.c:824
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
@@ -2188,21 +2204,25 @@ msgstr ""
#: extension/fnmatch.c:112
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "fnmatch: called with less than three arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/fnmatch.c:115
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "fnmatch: called with more than three arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/fnmatch.c:118
#, fuzzy
+#| msgid "strftime: received non-string first argument"
msgid "fnmatch: could not get first argument"
msgstr "strftime: fik et frste argument som ikke er en streng"
#: extension/fnmatch.c:123
#, fuzzy
+#| msgid "index: received non-string second argument"
msgid "fnmatch: could not get second argument"
msgstr "indeks: andet argument er ikke en streng"
@@ -2229,6 +2249,7 @@ msgstr ""
#: extension/fork.c:81
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "fork: called with too many arguments"
msgstr "sqrt: kaldt med negativt argument %g"
@@ -2238,16 +2259,19 @@ msgstr ""
#: extension/fork.c:118
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "waitpid: called with too many arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/fork.c:126
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "wait: called with no arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/fork.c:143
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "wait: called with too many arguments"
msgstr "sqrt: kaldt med negativt argument %g"
@@ -2271,13 +2295,14 @@ msgstr ""
#: extension/inplace.c:151
#, fuzzy, c-format
+#| msgid "fatal: extension: cannot open `%s' (%s)\n"
msgid "inplace_begin: Cannot stat `%s' (%s)"
msgstr "atalt: extension: kan ikke bne '%s' (%s)\n"
#: extension/inplace.c:158
-#, fuzzy, c-format
+#, c-format
msgid "inplace_begin: `%s' is not a regular file"
-msgstr "'%s' er ikke et gyldigt variabelnavn"
+msgstr ""
#: extension/inplace.c:169
#, c-format
@@ -2286,6 +2311,7 @@ msgstr ""
#: extension/inplace.c:181
#, fuzzy, c-format
+#| msgid "%s: close failed (%s)"
msgid "inplace_begin: chmod failed (%s)"
msgstr "%s: lukning mislykkedes (%s)"
@@ -2301,6 +2327,7 @@ msgstr ""
#: extension/inplace.c:194
#, fuzzy, c-format
+#| msgid "%s: close failed (%s)"
msgid "inplace_begin: close(%d) failed (%s)"
msgstr "%s: lukning mislykkedes (%s)"
@@ -2319,6 +2346,7 @@ msgstr ""
#: extension/inplace.c:229
#, fuzzy, c-format
+#| msgid "%s: close failed (%s)"
msgid "inplace_end: close(%d) failed (%s)"
msgstr "%s: lukning mislykkedes (%s)"
@@ -2329,41 +2357,49 @@ msgstr ""
#: extension/inplace.c:246
#, fuzzy, c-format
+#| msgid "pipe flush of `%s' failed (%s)."
msgid "inplace_end: link(`%s', `%s') failed (%s)"
msgstr "datakanalsrensning af '%s' mislykkedes (%s)."
#: extension/inplace.c:256
#, fuzzy, c-format
+#| msgid "close of fd %d (`%s') failed (%s)"
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
msgstr "lukning af fd %d ('%s') mislykkedes (%s)"
#: extension/ordchr.c:69
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "ord: called with too many arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/ordchr.c:75
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "ord: called with no arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/ordchr.c:77
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "ord: called with inappropriate argument(s)"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/ordchr.c:99
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "chr: called with too many arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/ordchr.c:109
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "chr: called with no arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/ordchr.c:111
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "chr: called with inappropriate argument(s)"
msgstr "sqrt: kaldt med negativt argument %g"
@@ -2374,11 +2410,13 @@ msgstr ""
#: extension/readfile.c:113
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "readfile: called with too many arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/readfile.c:137
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "readfile: called with no arguments"
msgstr "sqrt: kaldt med negativt argument %g"
@@ -2388,18 +2426,21 @@ msgstr ""
#: extension/rwarray.c:124 extension/rwarray0.c:109
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "writea: called with too many arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/rwarray.c:131 extension/rwarray0.c:116
#, fuzzy, c-format
+#| msgid "exp: argument %g is out of range"
msgid "do_writea: argument 0 is not a string\n"
-msgstr "exp: argumentet %g er uden for det tilladte omrde\n"
+msgstr "exp: argumentet %g er uden for det tilladte omrde"
#: extension/rwarray.c:137 extension/rwarray0.c:122
#, fuzzy, c-format
+#| msgid "split: fourth argument is not an array"
msgid "do_writea: argument 1 is not an array\n"
-msgstr "split: fjerde argument er ikke et array\n"
+msgstr "split: fjerde argument er ikke et array"
#: extension/rwarray.c:184 extension/rwarray0.c:169
#, c-format
@@ -2413,18 +2454,21 @@ msgstr ""
#: extension/rwarray.c:280 extension/rwarray0.c:265
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "reada: called with too many arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/rwarray.c:287 extension/rwarray0.c:272
#, fuzzy, c-format
+#| msgid "exp: argument %g is out of range"
msgid "do_reada: argument 0 is not a string\n"
msgstr "exp: argumentet %g er uden for det tilladte omrde"
#: extension/rwarray.c:293 extension/rwarray0.c:278
#, fuzzy, c-format
+#| msgid "adump: argument not an array"
msgid "do_reada: argument 1 is not an array\n"
-msgstr "match: tredje argument er ikke et array"
+msgstr "adump: argument er ikke et array"
#: extension/rwarray.c:337 extension/rwarray0.c:322
#, c-format
@@ -2438,6 +2482,7 @@ msgstr ""
#: extension/time.c:113
#, fuzzy
+#| msgid "mktime: received non-string argument"
msgid "gettimeofday: ignoring arguments"
msgstr "mktime: fik et argument som ikke er en streng"
@@ -2447,16 +2492,19 @@ msgstr ""
#: extension/time.c:165
#, fuzzy
+#| msgid "sqrt: called with negative argument %g"
msgid "sleep: called with too many arguments"
msgstr "sqrt: kaldt med negativt argument %g"
#: extension/time.c:168
#, fuzzy
+#| msgid "exp: received non-numeric argument"
msgid "sleep: missing required numeric argument"
msgstr "exp: fik et ikke-numerisk argument"
#: extension/time.c:174
#, fuzzy
+#| msgid "exp: argument %g is out of range"
msgid "sleep: argument is negative"
msgstr "exp: argumentet %g er uden for det tilladte omrde"
@@ -2486,13 +2534,11 @@ msgstr "split: kan ikke bruge det samme array som andet og fjerde argument"
#: field.c:985
msgid "split: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"split: kan ikke bruge et underarray af andet argument som fjerde argument"
+msgstr "split: kan ikke bruge et underarray af andet argument som fjerde argument"
#: field.c:988
msgid "split: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"split: kan ikke bruge et underarray af fjerde argument som andet argument"
+msgstr "split: kan ikke bruge et underarray af fjerde argument som andet argument"
#: field.c:1019
msgid "split: null string for third arg is a gawk extension"
@@ -2516,13 +2562,11 @@ msgstr "patsplit: kan ikke bruge det samme array som andet og fjerde argument"
#: field.c:1079
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"patsplit: kan ikke bruge et underarray af andet argument som fjerde argument"
+msgstr "patsplit: kan ikke bruge et underarray af andet argument som fjerde argument"
#: field.c:1082
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"patsplit: kan ikke bruge et underarray af fjerde argument som andet argument"
+msgstr "patsplit: kan ikke bruge et underarray af fjerde argument som andet argument"
#: field.c:1120
msgid "`FIELDWIDTHS' is a gawk extension"
@@ -2559,6 +2603,7 @@ msgstr ""
#: gawkapi.c:809
#, fuzzy
+#| msgid "length: received array argument"
msgid "remove_element: received null array"
msgstr "length: fik et array-argument"
@@ -2578,6 +2623,7 @@ msgstr ""
#: getopt.c:604 getopt.c:633
#, fuzzy, c-format
+#| msgid "%s: option '%s' is ambiguous\n"
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: flaget '%s' er flertydigt\n"
@@ -2663,8 +2709,7 @@ msgstr "udtrykket for '%s'-omdirigering har en tom streng som vrdi"
#: io.c:794
#, 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"
+msgstr "filnavnet '%s' for '%s'-omdirigering kan vre resultatet af et logisk udtryk"
#: io.c:842
#, c-format
@@ -2697,11 +2742,8 @@ msgid "can't redirect to `%s' (%s)"
msgstr "kan ikke omdirigere til '%s' (%s)"
#: io.c:1073
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"nede systembegrnsningen for bne filer: begynder at multiplekse "
-"fildeskriptorer"
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "nede systembegrnsningen for bne filer: begynder at multiplekse fildeskriptorer"
#: io.c:1089
#, c-format
@@ -2728,8 +2770,7 @@ msgstr "lukning af omdirigering som aldrig blev bnet"
#: io.c:1238
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: omdirigeringen '%s' blev ikke bnet med '|&', andet argument ignoreret"
+msgstr "close: omdirigeringen '%s' blev ikke bnet med '|&', andet argument ignoreret"
#: io.c:1255
#, c-format
@@ -2761,12 +2802,12 @@ msgstr "ingen eksplicit lukning af datakanalen '%s' angivet"
msgid "no explicit close of file `%s' provided"
msgstr "ingen eksplicit lukning af filen '%s' angivet"
-#: io.c:1317 io.c:1375 main.c:628 main.c:670
+#: io.c:1317 io.c:1375 main.c:632 main.c:674
#, c-format
msgid "error writing standard output (%s)"
msgstr "fejl ved skrivning til standard ud (%s)"
-#: io.c:1322 io.c:1381 main.c:630
+#: io.c:1322 io.c:1381 main.c:634
#, c-format
msgid "error writing standard error (%s)"
msgstr "fejl ved skrivning til standard fejl (%s)"
@@ -2796,145 +2837,138 @@ msgstr "lokal port %s ugyldig i '/inet'"
msgid "remote host and port information (%s, %s) invalid"
msgstr "fjernvrt og portinformation (%s, %s) ugyldige"
-#: io.c:1673
+#: io.c:1699
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-kommunikation understttes ikke"
-#: io.c:1854
+#: io.c:1880
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kunne ikke bne '%s', tilstand '%s'"
-#: io.c:1904
+#: io.c:1930
#, c-format
msgid "close of master pty failed (%s)"
msgstr "lukning af master-pty mislykkedes (%s)"
-#: io.c:1906 io.c:2092 io.c:2293
+#: io.c:1932 io.c:2118 io.c:2319
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "lukning af standard ud i underproces mislykkedes (%s)"
-#: io.c:1909
+#: io.c:1935
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
-msgstr ""
-"flytning af slave-pty til standard ud i underproces mislykkedes (dup: %s)"
+msgstr "flytning af slave-pty til standard ud i underproces mislykkedes (dup: %s)"
-#: io.c:1911 io.c:2097
+#: io.c:1937 io.c:2123
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "lukning af standard ind i underproces mislykkedes (%s)"
-#: io.c:1914
+#: io.c:1940
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
-msgstr ""
-"flytning af slave-pty til standard ind i underproces mislykkedes (dup: %s)"
+msgstr "flytning af slave-pty til standard ind i underproces mislykkedes (dup: %s)"
-#: io.c:1916 io.c:1938
+#: io.c:1942 io.c:1964
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "lukning af slave-pty mislykkedes (%s)"
-#: io.c:2027 io.c:2095 io.c:2264 io.c:2296
+#: io.c:2053 io.c:2121 io.c:2290 io.c:2322
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
-msgstr ""
-"flytning af datakanal til standard ud i underproces mislykkedes (dup: %s)"
+msgstr "flytning af datakanal til standard ud i underproces mislykkedes (dup: %s)"
-#: io.c:2034 io.c:2100
+#: io.c:2060 io.c:2126
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
-msgstr ""
-"flytning af datakanalen til standard ind i underproces mislykkedes (dup: %s)"
+msgstr "flytning af datakanalen til standard ind i underproces mislykkedes (dup: %s)"
-#: io.c:2060 io.c:2286
+#: io.c:2086 io.c:2312
msgid "restoring stdout in parent process failed\n"
msgstr "genskabelse af standard ud i forlderprocessen mislykkedes\n"
-#: io.c:2068
+#: io.c:2094
msgid "restoring stdin in parent process failed\n"
msgstr "genskabelse af standard ind i forlderprocessen mislykkedes\n"
-#: io.c:2103 io.c:2298 io.c:2313
+#: io.c:2129 io.c:2324 io.c:2339
#, c-format
msgid "close of pipe failed (%s)"
msgstr "lukning af datakanalen mislykkedes (%s)"
-#: io.c:2162
+#: io.c:2188
msgid "`|&' not supported"
msgstr "'|&' understttes ikke"
-#: io.c:2249
+#: io.c:2275
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan ikke bne datakanalen '%s' (%s)"
-#: io.c:2307
+#: io.c:2333
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan ikke oprette barneproces for '%s' (fork: %s)"
-#: io.c:2734
+#: io.c:2760
msgid "register_input_parser: received NULL pointer"
msgstr ""
-#: io.c:2762
+#: io.c:2788
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
msgstr ""
-#: io.c:2769
+#: io.c:2795
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr ""
-#: io.c:2789
+#: io.c:2815
msgid "register_output_wrapper: received NULL pointer"
msgstr ""
-#: io.c:2817
+#: io.c:2843
#, c-format
-msgid ""
-"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
+msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
msgstr ""
-#: io.c:2824
+#: io.c:2850
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr ""
-#: io.c:2845
+#: io.c:2871
msgid "register_output_processor: received NULL pointer"
msgstr ""
-#: io.c:2874
+#: io.c:2900
#, c-format
-msgid ""
-"two-way processor `%s' conflicts with previously installed two-way processor "
-"`%s'"
+msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
msgstr ""
-#: io.c:2883
+#: io.c:2909
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr ""
-#: io.c:3008
+#: io.c:3034
#, c-format
msgid "data file `%s' is empty"
msgstr "datafilen '%s' er tom"
-#: io.c:3050 io.c:3058
+#: io.c:3076 io.c:3084
msgid "could not allocate more input memory"
msgstr "kunne ikke allokere mere hukommelse til inddata"
-#: io.c:3636
+#: io.c:3662
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "'RS' som flertegnsvrdi er en gawk-udvidelse"
-#: io.c:3783
+#: io.c:3809
msgid "IPv6 communication is not supported"
msgstr "IPv6-kommunikation understttes ikke"
@@ -2957,6 +2991,7 @@ msgstr "at kre %s setuid root kan vre et sikkerhedsproblem"
#: main.c:346
#, fuzzy
+#| msgid "`--posix' overrides `--binary'"
msgid "`--posix' overrides `--characters-as-bytes'"
msgstr "'--posix' tilsidestter '--binary'"
@@ -3027,6 +3062,7 @@ msgstr "\t-d[fil]\t\t--dump-variables[=fil]\n"
#: main.c:579
#, fuzzy
+#| msgid "\t-p[file]\t\t--profile[=file]\n"
msgid "\t-D[file]\t\t--debug[=file]\n"
msgstr "\t-p[fil]\t\t--profile[=fil]\n"
@@ -3054,62 +3090,68 @@ msgstr ""
msgid "\t-l library\t\t--load=library\n"
msgstr ""
-#: main.c:586
+#. TRANSLATORS: the "fatal" and "invalid" here are literal
+#. values, they should not be translated. Thanks.
+#.
+#: main.c:590
#, fuzzy
+#| msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:587
+#: main.c:591
#, fuzzy
+#| msgid "\t-g\t\t\t--gen-pot\n"
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:588
+#: main.c:592
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:589
+#: main.c:593
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:590
+#: main.c:594
#, fuzzy
+#| msgid "\t-p[file]\t\t--profile[=file]\n"
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-p[fil]\t\t--profile[=fil]\n"
-#: main.c:591
+#: main.c:595
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:592
+#: main.c:596
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fil]\t\t--profile[=fil]\n"
-#: main.c:593
+#: main.c:597
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:594
+#: main.c:598
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:595
+#: main.c:599
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:596
+#: main.c:600
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:597
+#: main.c:601
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:599
+#: main.c:603
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:602
+#: main.c:606
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3118,7 +3160,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:611
+#: main.c:615
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3131,7 +3173,7 @@ msgstr ""
"\n"
"Rapportr kommentarer til oversttelsen til <dansk@dansk-gruppen.dk>.\n"
-#: main.c:615
+#: main.c:619
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3141,7 +3183,7 @@ msgstr ""
"Almindeligvis lser gawk fra standard ind og skriver til standard ud.\n"
"\n"
-#: main.c:619
+#: main.c:623
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3151,7 +3193,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' fil\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:644
+#: main.c:648
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3166,12 +3208,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 3 af licensen, eller (hvis du "
-"vil)\n"
+"af Free Software Foundation, enten version 3 af licensen, eller (hvis du vil)\n"
"enhver senere version.\n"
"\n"
-#: main.c:652
+#: main.c:656
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"
@@ -3185,7 +3226,7 @@ msgstr ""
"General Public License for yderligere information.\n"
"\n"
-#: main.c:658
+#: main.c:662
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"
@@ -3193,16 +3234,16 @@ msgstr ""
"Du br have fet en kopi af GNU General Public License sammen\n"
"med dette program. Hvis ikke, s se http://www.gnu.org/licenses/.\n"
-#: main.c:695
+#: main.c:699
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft stter ikke FS til tab i POSIX-awk"
-#: main.c:982
+#: main.c:986
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "ukendt vrdi for felt-spec: %d\n"
-#: main.c:1080
+#: main.c:1084
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3211,102 +3252,109 @@ msgstr ""
"%s: '%s' argument til '-v' ikke p formen 'var=vrdi'\n"
"\n"
-#: main.c:1106
+#: main.c:1110
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "'%s' er ikke et gyldigt variabelnavn"
-#: main.c:1109
+#: main.c:1113
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "'%s' er ikke et variabelnavn, leder efter fil '%s=%s'"
-#: main.c:1113
+#: main.c:1117
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "kan ikke bruge gawk's indbyggede '%s' som variabelnavn"
-#: main.c:1118
+#: main.c:1122
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "kan ikke bruge funktion '%s' som variabelnavn"
-#: main.c:1171
+#: main.c:1175
msgid "floating point exception"
msgstr "flydendetalsundtagelse"
-#: main.c:1178
+#: main.c:1182
msgid "fatal error: internal error"
msgstr "fatal fejl: intern fejl"
-#: main.c:1193
+#: main.c:1197
msgid "fatal error: internal error: segfault"
msgstr "fatal fejl: intern fejl: segmentfejl"
-#: main.c:1205
+#: main.c:1209
msgid "fatal error: internal error: stack overflow"
msgstr "fatal fejl: intern fejl: stakoverlb"
-#: main.c:1264
+#: main.c:1268
#, c-format
msgid "no pre-opened fd %d"
msgstr "ingen fd %d bnet i forvejen"
-#: main.c:1271
+#: main.c:1275
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "kunne ikke i forvejen bne /dev/null for fd %d"
-#: main.c:1485
+#: main.c:1489
msgid "empty argument to `-e/--source' ignored"
msgstr "tomt argument til '-e/--source' ignoreret"
-#: main.c:1556
+#: main.c:1560
msgid "-M ignored: MPFR/GMP support not compiled in"
msgstr ""
-#: main.c:1577
+#: main.c:1581
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: flaget '-W %s' ukendt, ignoreret\n"
-#: main.c:1630
+#: main.c:1634
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: flaget krver et argument -- %c\n"
#: mpfr.c:557
#, fuzzy, c-format
+#| msgid "BINMODE value `%s' is invalid, treated as 3"
msgid "PREC value `%.*s' is invalid"
msgstr "BINMODE vrdi '%s' er ugyldig, behandles som 3"
#: mpfr.c:615
#, fuzzy, c-format
+#| msgid "BINMODE value `%s' is invalid, treated as 3"
msgid "RNDMODE value `%.*s' is invalid"
msgstr "BINMODE vrdi '%s' er ugyldig, behandles som 3"
#: mpfr.c:711
#, fuzzy, c-format
+#| msgid "cos: received non-numeric argument"
msgid "%s: received non-numeric argument"
msgstr "cos: fik et ikke-numerisk argument"
#: mpfr.c:820
#, fuzzy
+#| msgid "compl(%lf): negative value will give strange results"
msgid "compl(%Rg): negative value will give strange results"
msgstr "compl(%lf): negative vrdier vil give mrkelige resultater"
#: mpfr.c:824
#, fuzzy
+#| msgid "compl(%lf): fractional value will be truncated"
msgid "comp(%Rg): fractional value will be truncated"
msgstr "compl(%lf): kommatalsvrdier vil blive trunkeret"
#: mpfr.c:836
#, fuzzy, c-format
+#| msgid "compl(%lf): negative value will give strange results"
msgid "cmpl(%Zd): negative values will give strange results"
msgstr "compl(%lf): negative vrdier vil give mrkelige resultater"
#: mpfr.c:855
#, fuzzy, c-format
+#| msgid "cos: received non-numeric argument"
msgid "%s: received non-numeric argument #%d"
msgstr "cos: fik et ikke-numerisk argument"
@@ -3316,18 +3364,21 @@ msgstr ""
#: mpfr.c:877
#, fuzzy
+#| msgid "and(%lf, %lf): negative values will give strange results"
msgid "%s: argument #%d negative value %Rg will give strange results"
-msgstr "compl(%lf): negative vrdier vil give mrkelige resultater"
+msgstr "and(%lf, %lf): negative vrdier vil give mrkelige resultater"
#: mpfr.c:883
#, fuzzy
+#| msgid "and(%lf, %lf): fractional values will be truncated"
msgid "%s: argument #%d fractional value %Rg will be truncated"
-msgstr "or(%lf, %lf): kommatalsvrdier vil blive trunkeret"
+msgstr "and(%lf, %lf): kommatalsvrdier vil blive trunkeret"
#: mpfr.c:898
#, fuzzy, c-format
+#| msgid "and(%lf, %lf): negative values will give strange results"
msgid "%s: argument #%d negative value %Zd will give strange results"
-msgstr "compl(%lf): negative vrdier vil give mrkelige resultater"
+msgstr "and(%lf, %lf): negative vrdier vil give mrkelige resultater"
#: msg.c:68
#, c-format
@@ -3353,12 +3404,8 @@ msgstr "ingen heksadecimale cifre i '\\x'-kontrolsekvenser"
#: node.c:567
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
-msgstr ""
-"den heksadecimale sekvens \\x%.*s p %d tegn nok ikke forstet som du "
-"forventer det"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
+msgstr "den heksadecimale sekvens \\x%.*s p %d tegn nok ikke forstet som du forventer det"
#: node.c:582
#, c-format
@@ -3366,12 +3413,8 @@ msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "kontrolsekvensen '\\%c' behandlet som kun '%c'"
#: node.c:726
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
-msgstr ""
-"Ugyldigt multibyte data fundet. Mske er der uoverensstemmelse mellem dine "
-"data og dit locale."
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
+msgstr "Ugyldigt multibyte data fundet. Mske er der uoverensstemmelse mellem dine data og dit locale."
#: posix/gawkmisc.c:177
#, c-format
@@ -3383,17 +3426,20 @@ msgstr "%s %s '%s': kunne ikke f fat p fd flag: (fcntl F_GETFD: %s)"
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s '%s': kunne ikke stte luk-ved-exec (fcntl F_SETFD: %s)"
-#: profile.c:71
+#: profile.c:91
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "kunne ikke bne '%s' for skrivning: %s"
-#: profile.c:73
+#: profile.c:93
msgid "sending profile to standard error"
msgstr "sender profilen til standard fejl"
-#: profile.c:193
+#: profile.c:213
#, fuzzy, c-format
+#| msgid ""
+#| "\t# Rule(s)\n"
+#| "\n"
msgid ""
"\t# %s rule(s)\n"
"\n"
@@ -3401,7 +3447,7 @@ msgstr ""
"\t# Regler\n"
"\n"
-#: profile.c:198
+#: profile.c:218
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3410,29 +3456,30 @@ msgstr ""
"\t# Regler\n"
"\n"
-#: profile.c:272
+#: profile.c:292
#, c-format
msgid "internal error: %s with null vname"
msgstr "intern fejl: %s med null vname"
-#: profile.c:538
+#: profile.c:558
#, fuzzy
+#| msgid "internal error: %s with null vname"
msgid "internal error: builtin with null fname"
msgstr "intern fejl: %s med null vname"
-#: profile.c:958
+#: profile.c:978
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
"\n"
msgstr ""
-#: profile.c:981
+#: profile.c:1001
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profil til gawk oprettet %s\n"
-#: profile.c:1521
+#: profile.c:1555
#, c-format
msgid ""
"\n"
@@ -3441,7 +3488,7 @@ msgstr ""
"\n"
"\t# Funktioner, listede alfabetisk\n"
-#: profile.c:1559
+#: profile.c:1593
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: uykendt omdirigeringstype %d"
@@ -3481,6 +3528,7 @@ msgstr "Ugyldig bagudreference"
#: regcomp.c:160
#, fuzzy
+#| msgid "Unmatched [ or [^"
msgid "Unmatched [, [^, [:, [., or [="
msgstr "Ubalanceret [ eller [^"
@@ -3526,6 +3574,7 @@ msgstr "Intet foregende regulrt udtryk"
#: symbol.c:677
#, fuzzy, c-format
+#| msgid "function `%s': can't use function name as parameter name"
msgid "function `%s': can't use function `%s' as a parameter name"
msgstr "funktionen '%s': kan ikke bruge funktionsnavn som parameternavn"
@@ -3533,89 +3582,59 @@ msgstr "funktionen '%s': kan ikke bruge funktionsnavn som parameternavn"
msgid "can not pop main context"
msgstr ""
-#~ msgid "`getline var' invalid inside `%s' rule"
-#~ msgstr "'getline var' ugyldig inden i '%s' regel"
-
-#~ msgid "`getline' invalid inside `%s' rule"
-#~ msgstr "'getline' ugyldig inden i '%s' regel"
-
-#~ msgid "no (known) protocol supplied in special filename `%s'"
-#~ msgstr "ingen (kendt) protokol opgivet i special-filnavn '%s'"
-
-#~ msgid "special file name `%s' is incomplete"
-#~ msgstr "special-filnavn '%s' er ufuldstndigt"
-
-#~ msgid "must supply a remote hostname to `/inet'"
-#~ msgstr "fjernmaskinenavn til '/inet' skal angives"
-
-#~ msgid "must supply a remote port to `/inet'"
-#~ msgstr "fjernport til '/inet' skal angives"
-
-#~ msgid ""
-#~ "\t# %s block(s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\t# %s blokke\n"
-#~ "\n"
-
-#~ msgid "range of the form `[%c-%c]' is locale dependent"
-#~ msgstr "omrde p formen `[%c-%c]' er locale-afhngig"
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "reference til ikke-initieret element '%s[\"%.*s\"]'"
-#, fuzzy
-#~ msgid "[s]printf called with no arguments"
-#~ msgstr "sqrt: kaldt med negativt argument %g"
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "indeks i array '%s' er en tom streng"
-#~ msgid "`-m[fr]' option irrelevant in gawk"
-#~ msgstr "'-m[fr]'-flaget er irrelevant i gawk"
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: tom (null)\n"
-#~ msgid "-m option usage: `-m[fr] nnn'"
-#~ msgstr "brug af flaget -m: '-m[fr] nnn'"
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: tom (nul)\n"
-#, fuzzy
-#~ msgid "%s: received non-numeric first argument"
-#~ msgstr "or: fik et ikke-numerisk frste argument"
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: tabelstrrelse = %d, arraystrrelse = %d\n"
-#, fuzzy
-#~ msgid "%s: received non-numeric second argument"
-#~ msgstr "or: fik et ikke-numerisk andet argument"
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: arrayreference til %s\n"
-#, fuzzy
-#~ msgid "%s(%Rg, ..): negative values will give strange results"
-#~ msgstr "or(%lf, %lf): negative vrdier vil give mrkelige resultater"
+#~ msgid "`nextfile' is a gawk extension"
+#~ msgstr "'nextfile' er en gawk-udvidelse"
-#, fuzzy
-#~ msgid "%s(%Rg, ..): fractional values will be truncated"
-#~ msgstr "or(%lf, %lf): kommatalsvrdier vil blive trunkeret"
+#~ msgid "`delete array' is a gawk extension"
+#~ msgstr "'delete array' er en gawk-udvidelse"
-#, fuzzy
-#~ msgid "%s(%Zd, ..): negative values will give strange results"
-#~ msgstr "or(%lf, %lf): negative vrdier vil give mrkelige resultater"
+#~ msgid "`getline var' invalid inside `%s' rule"
+#~ msgstr "'getline var' ugyldig inden i '%s' regel"
-#, fuzzy
-#~ msgid "%s(.., %Rg): negative values will give strange results"
-#~ msgstr "or(%lf, %lf): negative vrdier vil give mrkelige resultater"
+#~ msgid "`getline' invalid inside `%s' rule"
+#~ msgstr "'getline' ugyldig inden i '%s' regel"
-#, fuzzy
-#~ msgid "%s(.., %Zd): negative values will give strange results"
-#~ msgstr "or(%lf, %lf): negative vrdier vil give mrkelige resultater"
+#~ msgid "use of non-array as array"
+#~ msgstr "brug af ikke-array som array"
#~ msgid "`%s' is a Bell Labs extension"
#~ msgstr "'%s' er en Bell Labs-udvidelse"
-#~ msgid "`nextfile' is a gawk extension"
-#~ msgstr "'nextfile' er en gawk-udvidelse"
-
-#~ msgid "`delete array' is a gawk extension"
-#~ msgstr "'delete array' er en gawk-udvidelse"
-
#~ msgid "and: received non-numeric first argument"
#~ msgstr "and: fik et ikke-numerisk frste argument"
#~ msgid "and: received non-numeric second argument"
#~ msgstr "and: fik et ikke-numerisk andet argument"
-#~ msgid "and(%lf, %lf): fractional values will be truncated"
-#~ msgstr "and(%lf, %lf): kommatalsvrdier vil blive trunkeret"
+#~ msgid "or: received non-numeric first argument"
+#~ msgstr "or: fik et ikke-numerisk frste argument"
+
+#~ msgid "or: received non-numeric second argument"
+#~ msgstr "or: fik et ikke-numerisk andet argument"
+
+#~ msgid "or(%lf, %lf): negative values will give strange results"
+#~ msgstr "or(%lf, %lf): negative vrdier vil give mrkelige resultater"
+
+#~ msgid "or(%lf, %lf): fractional values will be truncated"
+#~ msgstr "or(%lf, %lf): kommatalsvrdier vil blive trunkeret"
#~ msgid "xor: received non-numeric first argument"
#~ msgstr "xor: fik et ikke-numerisk frste argument"
@@ -3626,30 +3645,6 @@ msgstr ""
#~ msgid "xor(%lf, %lf): fractional values will be truncated"
#~ msgstr "xor(%lf, %lf): kommatalsvrdier vil blive trunkeret"
-#~ msgid "Operation Not Supported"
-#~ msgstr "Operationen understttes ikke"
-
-#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-#~ msgstr "reference til ikke-initieret element '%s[\"%.*s\"]'"
-
-#~ msgid "subscript of array `%s' is null string"
-#~ msgstr "indeks i array '%s' er en tom streng"
-
-#~ msgid "%s: empty (null)\n"
-#~ msgstr "%s: tom (null)\n"
-
-#~ msgid "%s: empty (zero)\n"
-#~ msgstr "%s: tom (nul)\n"
-
-#~ msgid "%s: table_size = %d, array_size = %d\n"
-#~ msgstr "%s: tabelstrrelse = %d, arraystrrelse = %d\n"
-
-#~ msgid "%s: array_ref to %s\n"
-#~ msgstr "%s: arrayreference til %s\n"
-
-#~ msgid "use of non-array as array"
-#~ msgstr "brug af ikke-array som array"
-
#~ msgid "can't use function name `%s' as variable or array"
#~ msgstr "kan ikke bruge funktionsnavnet '%s' som variabel eller array"
@@ -3659,11 +3654,8 @@ msgstr ""
#~ msgid "statement has no effect"
#~ msgstr "kommandoen har ingen effekt"
-#~ msgid ""
-#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
-#~ msgstr ""
-#~ "for-lkke: array '%s' ndrede strrelse fra %ld til %ld under udfrelse "
-#~ "af lkken"
+#~ msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr "for-lkke: array '%s' ndrede strrelse fra %ld til %ld under udfrelse af lkken"
#~ msgid "function called indirectly through `%s' does not exist"
#~ msgstr "funktion kaldt indirekte via '%s' eksisterer ikke"
@@ -3680,12 +3672,43 @@ msgstr ""
#~ msgid "Sorry, don't know how to interpret `%s'"
#~ msgstr "Vd desvrre ikke hvordan '%s' skal fortolkes"
+#~ msgid "Operation Not Supported"
+#~ msgstr "Operationen understttes ikke"
+
+#~ msgid "no (known) protocol supplied in special filename `%s'"
+#~ msgstr "ingen (kendt) protokol opgivet i special-filnavn '%s'"
+
+#~ msgid "special file name `%s' is incomplete"
+#~ msgstr "special-filnavn '%s' er ufuldstndigt"
+
+#~ msgid "must supply a remote hostname to `/inet'"
+#~ msgstr "fjernmaskinenavn til '/inet' skal angives"
+
+#~ msgid "must supply a remote port to `/inet'"
+#~ msgstr "fjernport til '/inet' skal angives"
+
+#~ msgid "`-m[fr]' option irrelevant in gawk"
+#~ msgstr "'-m[fr]'-flaget er irrelevant i gawk"
+
+#~ msgid "-m option usage: `-m[fr] nnn'"
+#~ msgstr "brug af flaget -m: '-m[fr] nnn'"
+
#~ msgid "\t-R file\t\t\t--command=file\n"
#~ msgstr "\t-R file\t\t\t--command=fil\n"
#~ msgid "could not find groups: %s"
#~ msgstr "kunne ikke finde grupper: %s"
+#~ msgid ""
+#~ "\t# %s block(s)\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\t# %s blokke\n"
+#~ "\n"
+
+#~ msgid "range of the form `[%c-%c]' is locale dependent"
+#~ msgstr "omrde p formen `[%c-%c]' er locale-afhngig"
+
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr "tildeling er ikke tilladt til resultatet fra en indbygget funktion"
@@ -3725,11 +3748,8 @@ msgstr ""
#~ msgid "`nextfile' cannot be called from a BEGIN rule"
#~ msgstr "'nextfile' kan ikke kaldes fra en BEGIN-regel"
-#~ msgid ""
-#~ "concatenation: side effects in one expression have changed the length of "
-#~ "another!"
-#~ msgstr ""
-#~ "konkatenering: sideeffekter i et udtryk har ndret lngden af et andet!"
+#~ msgid "concatenation: side effects in one expression have changed the length of another!"
+#~ msgstr "konkatenering: sideeffekter i et udtryk har ndret lngden af et andet!"
#~ msgid "illegal type (%s) in tree_eval"
#~ msgstr "ugyldig type (%s) i tree_eval"
diff --git a/po/de.po b/po/de.po
index fcb31d2a..af68d6ab 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2,14 +2,14 @@
# Copyright (C) 2000 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
#
-# Philipp Thomas <pth@suse.de>, 2011, 2012, 2014
+# Philipp Thomas <pth@suse.de>, 2011, 2012, 2014, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.1.0b\n"
+"Project-Id-Version: gawk 4.1.1d\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
-"POT-Creation-Date: 2015-02-26 20:05+0200\n"
-"PO-Revision-Date: 2014-10-23 17:31+0200\n"
+"POT-Creation-Date: 2015-04-16 17:16+0300\n"
+"PO-Revision-Date: 2015-04-17 08:17+0200\n"
"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
@@ -37,7 +37,7 @@ msgid "attempt to use scalar `%s' as an array"
msgstr "Es wird versucht, den Skalar »%s« als Array zu verwenden"
#: array.c:409 array.c:576 builtin.c:85 builtin.c:1606 builtin.c:1652
-#: builtin.c:1665 builtin.c:2092 builtin.c:2106 eval.c:1149 eval.c:1153
+#: builtin.c:1665 builtin.c:2106 builtin.c:2120 eval.c:1149 eval.c:1153
#: eval.c:1558
#, c-format
msgid "attempt to use array `%s' in a scalar context"
@@ -75,27 +75,19 @@ msgstr "asorti: Das erste Argument ist kein Feld"
#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asort: ein untergeordnetes Feld des ersten Arguments kann nicht als zweites "
-"Argument verwendet werden"
+msgstr "asort: ein untergeordnetes Feld des ersten Arguments kann nicht als zweites Argument verwendet werden"
#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asorti: ein untergeordnetes Feld des ersten Arguments kann nicht als zweites "
-"Argument verwendet werden"
+msgstr "asorti: ein untergeordnetes Feld des ersten Arguments kann nicht als zweites Argument verwendet werden"
#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asort: ein untergeordnetes Feld des zweiten Arguments kann nicht als erstes "
-"Argument verwendet werden"
+msgstr "asort: ein untergeordnetes Feld des zweiten Arguments kann nicht als erstes Argument verwendet werden"
#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asorti: ein untergeordnetes Feld des zweiten Arguments kann nicht als erstes "
-"Argument verwendet werden"
+msgstr "asorti: ein untergeordnetes Feld des zweiten Arguments kann nicht als erstes Argument verwendet werden"
#: array.c:1313
#, c-format
@@ -107,420 +99,402 @@ msgstr "»%s« ist ein unzulässiger Funktionsname"
msgid "sort comparison function `%s' is not defined"
msgstr "Die Vergleichsfunktion »%s« für das Sortieren ist nicht definiert"
-#: awkgram.y:226
+#: awkgram.y:225
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s-Blöcke müssen einen Aktionsteil haben"
-#: awkgram.y:229
+#: awkgram.y:228
msgid "each rule must have a pattern or an action part"
msgstr "Jede Regel muss entweder ein Muster oder einen Aktionsteil haben"
-#: awkgram.y:320 awkgram.y:331
+#: awkgram.y:319 awkgram.y:330
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "Das alte awk erlaubt keine mehrfachen »BEGIN«- oder »END«-Regeln"
-#: awkgram.y:368
+#: awkgram.y:367
#, 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:417
+#: awkgram.y:416
msgid "regexp constant `//' looks like a C++ comment, but is not"
-msgstr ""
-"Die Regulärer-Ausdruck-Konstante »//« sieht wie ein C-Kommentar aus, ist "
-"aber keiner"
+msgstr "Die Regulärer-Ausdruck-Konstante »//« sieht wie ein C-Kommentar aus, ist aber keiner"
-#: awkgram.y:421
+#: awkgram.y:420
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
-msgstr ""
-"Die Regulärer-Ausdruck-Konstante »/%s/« sieht wie ein C-Kommentar aus, ist "
-"aber keiner"
+msgstr "Die Regulärer-Ausdruck-Konstante »/%s/« sieht wie ein C-Kommentar aus, ist aber keiner"
-#: awkgram.y:513
+#: awkgram.y:512
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "doppelte Case-Werte im Switch-Block: %s"
-#: awkgram.y:534
+#: awkgram.y:533
msgid "duplicate `default' detected in switch body"
msgstr "doppeltes »default« im Switch-Block gefunden"
-#: awkgram.y:794 awkgram.y:3751
+#: awkgram.y:793 awkgram.y:3750
msgid "`break' is not allowed outside a loop or switch"
-msgstr ""
-"»break« ist außerhalb einer Schleife oder eines Switch-Blocks nicht zulässig"
+msgstr "»break« ist außerhalb einer Schleife oder eines Switch-Blocks nicht zulässig"
-#: awkgram.y:803 awkgram.y:3743
+#: awkgram.y:802 awkgram.y:3742
msgid "`continue' is not allowed outside a loop"
msgstr "»continue« ist außerhalb einer Schleife nicht zulässig"
-#: awkgram.y:813
+#: awkgram.y:812
#, c-format
msgid "`next' used in %s action"
msgstr "»next« wird in %s-Aktion verwendet"
-#: awkgram.y:822
+#: awkgram.y:821
#, c-format
msgid "`nextfile' used in %s action"
msgstr "»nextfile« wird in %s-Aktion verwendet"
-#: awkgram.y:846
+#: awkgram.y:845
msgid "`return' used outside function context"
msgstr "»return« wird außerhalb einer Funktion verwendet"
-#: awkgram.y:920
+#: awkgram.y:919
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
-msgstr ""
-"Einfaches »print« in BEGIN- oder END-Regel soll vermutlich »print \"\"« sein"
+msgstr "Einfaches »print« in BEGIN- oder END-Regel soll vermutlich »print \"\"« sein"
-#: awkgram.y:986 awkgram.y:1035
+#: awkgram.y:985 awkgram.y:1034
msgid "`delete' is not allowed with SYMTAB"
msgstr "»delete« ist in Zusammenhang mit SYMTAB nicht zulässig"
-#: awkgram.y:988 awkgram.y:1037
+#: awkgram.y:987 awkgram.y:1036
msgid "`delete' is not allowed with FUNCTAB"
msgstr "»delete« ist in Zusammenhang mit FUNCTAB nicht zulässig"
-#: awkgram.y:1022 awkgram.y:1026
+#: awkgram.y:1021 awkgram.y:1025
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "»delete(array)« ist eine gawk-Erweiterung"
-#: awkgram.y:1147
+#: awkgram.y:1146
msgid "multistage two-way pipelines don't work"
msgstr "mehrstufige Zweiwege-Pipes funktionieren nicht"
-#: awkgram.y:1262
+#: awkgram.y:1261
msgid "regular expression on right of assignment"
msgstr "Regulärer Ausdruck auf der rechten Seite einer Zuweisung"
-#: awkgram.y:1273
+#: awkgram.y:1272
msgid "regular expression on left of `~' or `!~' operator"
msgstr "Regulärer Ausdruck links vom »~«- oder »!~«-Operator"
-#: awkgram.y:1289 awkgram.y:1431
+#: awkgram.y:1288 awkgram.y:1430
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "Das alte awk unterstützt das Schlüsselwort »in« nur nach »for«"
-#: awkgram.y:1299
+#: awkgram.y:1298
msgid "regular expression on right of comparison"
msgstr "Regulärer Ausdruck rechts von einem Vergleich"
-#: awkgram.y:1411
-#, fuzzy, c-format
+#: awkgram.y:1410
+#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "»getline« ist ungültig innerhalb der »%s«-Regel"
+msgstr "nicht umgeleitetes »getline« ist ungültig innerhalb der »%s«-Regel"
-#: awkgram.y:1414
+#: awkgram.y:1413
msgid "non-redirected `getline' undefined inside END action"
-msgstr ""
-"Nicht-umgelenktes »getline« ist innerhalb der END-Aktion nicht definiert"
+msgstr "Nicht-umgelenktes »getline« ist innerhalb der END-Aktion nicht definiert"
-#: awkgram.y:1433
+#: awkgram.y:1432
msgid "old awk does not support multidimensional arrays"
msgstr "Das alte awk unterstützt keine mehrdimensionalen Felder"
-#: awkgram.y:1530
+#: awkgram.y:1529
msgid "call of `length' without parentheses is not portable"
msgstr "Aufruf von »length« ohne Klammern ist nicht portabel"
-#: awkgram.y:1596
+#: awkgram.y:1595
msgid "indirect function calls are a gawk extension"
msgstr "indirekte Funktionsaufrufe sind eine gawk-Erweiterung"
-#: awkgram.y:1609
+#: awkgram.y:1608
#, c-format
msgid "can not use special variable `%s' for indirect function call"
-msgstr ""
-"die besondere Variable »%s« kann nicht für den indirekten Funktionsaufruf "
-"verwendet werden"
+msgstr "die besondere Variable »%s« kann nicht für den indirekten Funktionsaufruf verwendet werden"
-#: awkgram.y:1635
+#: awkgram.y:1634
#, c-format
msgid "attempt to use non-function `%s' in function call"
-msgstr ""
+msgstr "es wird versucht, „%s“ als Funktion aufzurufen, obwohl es keine ist"
-#: awkgram.y:1699
+#: awkgram.y:1698
msgid "invalid subscript expression"
msgstr "Ungültiger Index-Ausdruck"
-#: awkgram.y:2045 awkgram.y:2065 gawkapi.c:206 gawkapi.c:224 msg.c:126
+#: awkgram.y:2044 awkgram.y:2064 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "Warnung: "
-#: awkgram.y:2063 gawkapi.c:192 gawkapi.c:221 msg.c:158
+#: awkgram.y:2062 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "Fatal: "
-#: awkgram.y:2113
+#: awkgram.y:2112
msgid "unexpected newline or end of string"
msgstr "Unerwarteter Zeilenumbruch oder Ende der Zeichenkette"
-#: awkgram.y:2392 awkgram.y:2468 awkgram.y:2691 debug.c:523 debug.c:539
+#: awkgram.y:2391 awkgram.y:2467 awkgram.y:2690 debug.c:523 debug.c:539
#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "Quelldatei »%s« kann nicht zum Lesen geöffnet werden (%s)"
-#: awkgram.y:2393 awkgram.y:2518
+#: awkgram.y:2392 awkgram.y:2517
#, c-format
msgid "can't open shared library `%s' for reading (%s)"
-msgstr ""
-"Die dynamische Bibliothek »%s« kann nicht zum Lesen geöffnet werden (%s)"
+msgstr "Die dynamische Bibliothek »%s« kann nicht zum Lesen geöffnet werden (%s)"
-#: awkgram.y:2395 awkgram.y:2469 awkgram.y:2519 builtin.c:135 debug.c:5206
+#: awkgram.y:2394 awkgram.y:2468 awkgram.y:2518 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr "Unbekannte Ursache"
-#: awkgram.y:2404 awkgram.y:2428
+#: awkgram.y:2403 awkgram.y:2427
#, c-format
msgid "can't include `%s' and use it as a program file"
msgstr "»%s« kann nicht eingebunden und als Programmdatei verwendet werden"
-#: awkgram.y:2417
+#: awkgram.y:2416
#, c-format
msgid "already included source file `%s'"
msgstr "Quelldatei »%s« wurde bereits eingebunden"
-#: awkgram.y:2418
+#: awkgram.y:2417
#, c-format
msgid "already loaded shared library `%s'"
msgstr "Die dynamische Bibliothek »%s« wurde bereits eingebunden"
-#: awkgram.y:2453
+#: awkgram.y:2452
msgid "@include is a gawk extension"
msgstr "»@include« ist eine gawk-Erweiterung"
-#: awkgram.y:2459
+#: awkgram.y:2458
msgid "empty filename after @include"
msgstr "leerer Dateiname nach @include"
-#: awkgram.y:2503
+#: awkgram.y:2502
msgid "@load is a gawk extension"
msgstr "»@load« ist eine Gawk-Erweiterung"
-#: awkgram.y:2509
+#: awkgram.y:2508
msgid "empty filename after @load"
msgstr "leerer Dateiname nach @load"
-#: awkgram.y:2643
+#: awkgram.y:2642
msgid "empty program text on command line"
msgstr "Kein Programmtext auf der Kommandozeile"
-#: awkgram.y:2758
+#: awkgram.y:2757
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "Die Quelldatei »%s« kann nicht gelesen werden (%s)"
-#: awkgram.y:2769
+#: awkgram.y:2768
#, c-format
msgid "source file `%s' is empty"
msgstr "Die Quelldatei »%s« ist leer"
-#: awkgram.y:2828
+#: awkgram.y:2827
#, c-format
msgid "PEBKAC error: invalid character '\\%03o' in source code"
-msgstr ""
+msgstr "PEBKAC Fehler: ungültiges Zeichen „\\%03o“ im Quellcode"
-#: awkgram.y:2959
+#: awkgram.y:2958
msgid "source file does not end in newline"
msgstr "Die Quelldatei hört nicht mit einem Zeilenende auf"
-#: awkgram.y:3062
+#: awkgram.y:3061
msgid "unterminated regexp ends with `\\' at end of file"
-msgstr ""
-"Nicht beendeter regulärer Ausdruck (hört mit '\\' auf) am Ende der Datei"
+msgstr "Nicht beendeter regulärer Ausdruck (hört mit '\\' auf) am Ende der Datei"
-#: awkgram.y:3089
+#: awkgram.y:3088
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"%s: %d: der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert "
-"nicht in gawk"
+msgstr "%s: %d: der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert nicht in gawk"
-#: awkgram.y:3093
+#: awkgram.y:3092
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"Der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert nicht in "
-"gawk"
+msgstr "Der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert nicht in gawk"
-#: awkgram.y:3100
+#: awkgram.y:3099
msgid "unterminated regexp"
msgstr "Nicht beendeter regulärer Ausdruck"
-#: awkgram.y:3104
+#: awkgram.y:3103
msgid "unterminated regexp at end of file"
msgstr "Nicht beendeter regulärer Ausdruck am Dateiende"
-#: awkgram.y:3162
+#: awkgram.y:3161
msgid "use of `\\ #...' line continuation is not portable"
-msgstr ""
-"Die Verwendung von »\\#...« zur Fortsetzung von Zeilen ist nicht portabel"
+msgstr "Die Verwendung von »\\#...« zur Fortsetzung von Zeilen ist nicht portabel"
-#: awkgram.y:3178
+#: awkgram.y:3177
msgid "backslash not last character on line"
msgstr "das letzte Zeichen auf der Zeile ist kein Backslash (»\\«)"
-#: awkgram.y:3239
+#: awkgram.y:3238
msgid "POSIX does not allow operator `**='"
msgstr "POSIX erlaubt den Operator »**=« nicht"
-#: awkgram.y:3241
+#: awkgram.y:3240
msgid "old awk does not support operator `**='"
msgstr "Das alte awk unterstützt den Operator »**=« nicht"
-#: awkgram.y:3250
+#: awkgram.y:3249
msgid "POSIX does not allow operator `**'"
msgstr "POSIX erlaubt den Operator »**« nicht"
-#: awkgram.y:3252
+#: awkgram.y:3251
msgid "old awk does not support operator `**'"
msgstr "Das alte awk unterstützt den Operator »**« nicht"
-#: awkgram.y:3287
+#: awkgram.y:3286
msgid "operator `^=' is not supported in old awk"
msgstr "Das alte awk unterstützt den Operator »^=« nicht"
-#: awkgram.y:3295
+#: awkgram.y:3294
msgid "operator `^' is not supported in old awk"
msgstr "Das alte awk unterstützt den Operator »^« nicht"
-#: awkgram.y:3392 awkgram.y:3410 command.y:1180
+#: awkgram.y:3391 awkgram.y:3409 command.y:1180
msgid "unterminated string"
msgstr "Nicht beendete Zeichenkette"
-#: awkgram.y:3631
+#: awkgram.y:3630
#, c-format
msgid "invalid char '%c' in expression"
msgstr "Ungültiges Zeichen »%c« in einem Ausdruck"
-#: awkgram.y:3678
+#: awkgram.y:3677
#, c-format
msgid "`%s' is a gawk extension"
msgstr "»%s« ist eine gawk-Erweiterung"
-#: awkgram.y:3683
+#: awkgram.y:3682
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX erlaubt »%s« nicht"
-#: awkgram.y:3691
+#: awkgram.y:3690
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "»%s« wird im alten awk nicht unterstützt"
-#: awkgram.y:3781
+#: awkgram.y:3780
msgid "`goto' considered harmful!\n"
msgstr "»goto« gilt als schlechter Stil!\n"
-#: awkgram.y:3815
+#: awkgram.y:3814
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "Unzulässige Argumentzahl %d für %s"
-#: awkgram.y:3850
+#: awkgram.y:3849
#, 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:3855
+#: awkgram.y:3854
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "Der dritte Parameter von %s ist ein unveränderliches Objekt"
-#: awkgram.y:3938 awkgram.y:3941
+#: awkgram.y:3937 awkgram.y:3940
msgid "match: third argument is a gawk extension"
msgstr "match: Das dritte Argument ist eine gawk-Erweiterung"
-#: awkgram.y:3995 awkgram.y:3998
+#: awkgram.y:3994 awkgram.y:3997
msgid "close: second argument is a gawk extension"
msgstr "close: Das zweite Argument ist eine gawk-Erweiterung"
-#: awkgram.y:4010
+#: awkgram.y:4009
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"Fehlerhafte Verwendung von dcgettext(_\"...\"): \n"
"Entfernen Sie den führenden Unterstrich"
-#: awkgram.y:4025
+#: awkgram.y:4024
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"Fehlerhafte Verwendung von dcngettext(_\"...\"): \n"
"Entfernen Sie den führenden Unterstrich"
-#: awkgram.y:4044
+#: awkgram.y:4043
msgid "index: regexp constant as second argument is not allowed"
msgstr "index: eine Regexp-Konstante als zweites Argument ist unzulässig"
-#: awkgram.y:4097
+#: awkgram.y:4096
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "Funktion »%s«: Parameter »%s« verdeckt eine globale Variable"
-#: awkgram.y:4154 debug.c:4041 debug.c:4084 debug.c:5204
+#: awkgram.y:4153 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "»%s« kann nicht zum Schreiben geöffne werden(%s)"
-#: awkgram.y:4155
+#: awkgram.y:4154
msgid "sending variable list to standard error"
msgstr "Die Liste der Variablen wird auf der Standardfehlerausgabe ausgegeben"
-#: awkgram.y:4163
+#: awkgram.y:4162
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: close ist gescheitert (%s)"
-#: awkgram.y:4188
+#: awkgram.y:4187
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() zweimal aufgerufen!"
-#: awkgram.y:4196
+#: awkgram.y:4195
msgid "there were shadowed variables."
msgstr "es sind verdeckte Variablen vorhanden"
-#: awkgram.y:4267
+#: awkgram.y:4266
#, c-format
msgid "function name `%s' previously defined"
msgstr "Funktion »%s« wurde bereits definiert"
-#: awkgram.y:4313
+#: awkgram.y:4312
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "Funktion »%s«: Funktionsnamen können nicht als Parameternamen benutzen"
-#: awkgram.y:4316
+#: awkgram.y:4315
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
-msgstr ""
-"Funktion »%s«: die spezielle Variable »%s« kann nicht als Parameter "
-"verwendet werden"
+msgstr "Funktion »%s«: die spezielle Variable »%s« kann nicht als Parameter verwendet werden"
-#: awkgram.y:4324
+#: awkgram.y:4323
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "Funktion »%s«: Parameter #%d, »%s« wiederholt Parameter #%d"
-#: awkgram.y:4411 awkgram.y:4417
+#: awkgram.y:4410 awkgram.y:4416
#, c-format
msgid "function `%s' called but never defined"
msgstr "Aufgerufene Funktion »%s« ist nirgends definiert"
-#: awkgram.y:4421
+#: awkgram.y:4420
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "Funktion »%s« wurde definiert aber nirgends aufgerufen"
-#: awkgram.y:4453
+#: awkgram.y:4452
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr ""
"Regulärer-Ausdruck-Konstante für Parameter #%d ergibt einen \n"
"logischen Wert"
-#: awkgram.y:4468
+#: awkgram.y:4467
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -529,23 +503,20 @@ msgstr ""
"Funktion »%s« wird mit Leerzeichen zwischen Name und »(« aufgerufen, \n"
"oder als Variable oder Feld verwendet"
-#: awkgram.y:4674
+#: awkgram.y:4673
msgid "division by zero attempted"
msgstr "Division durch Null wurde versucht"
-#: awkgram.y:4683
+#: awkgram.y:4682
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "Division durch Null versucht in »%%«"
-#: awkgram.y:5003
-msgid ""
-"cannot assign a value to the result of a field post-increment expression"
-msgstr ""
-"dem Ergebnis eines Feld-Postinkrementausdruck kann kein Wert zugewiesen "
-"werden"
+#: awkgram.y:5002
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr "dem Ergebnis eines Feld-Postinkrementausdruck kann kein Wert zugewiesen werden"
-#: awkgram.y:5006
+#: awkgram.y:5005
#, c-format
msgid "invalid target of assignment (opcode %s)"
msgstr "Unzulässiges Ziel für eine Zuweisung (Opcode %s)"
@@ -571,15 +542,12 @@ msgstr "exp: das Argument %g liegt außerhalb des gültigen Bereichs"
#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
-msgstr ""
-"fflush: Leeren der Puffer nicht möglich, Pipe »%s« ist nur zum Lesen geöffnet"
+msgstr "fflush: Leeren der Puffer nicht möglich, Pipe »%s« ist nur zum Lesen geöffnet"
#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
-msgstr ""
-"fflush: Leeren der Puffer nicht möglich, Datei »%s« ist nur zum Lesen "
-"geöffnet"
+msgstr "fflush: Leeren der Puffer nicht möglich, Datei »%s« ist nur zum Lesen geöffnet"
#: builtin.c:244
#, c-format
@@ -649,9 +617,7 @@ msgstr "Fatal: die Anzahl der Argumen bei »$« muss > 0 sein"
#: builtin.c:898
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
-msgstr ""
-"Fatal: Argumentenanzahl %ld ist größer als die Gesamtzahl angegebener "
-"Argumente"
+msgstr "Fatal: Argumentenanzahl %ld ist größer als die Gesamtzahl angegebener Argumente"
#: builtin.c:902
msgid "fatal: `$' not permitted after period in format"
@@ -687,14 +653,14 @@ msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "Fatal: »h« ist in POSIX-awk-Formaten nicht zulässig"
#: builtin.c:1055
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is too big for %%c format"
-msgstr "[s]printf: Wert %g ist außerhalb des Bereichs für Format »%%%c«"
+msgstr "[s]printf: Wert %g ist außerhalb des Bereichs für Format »%%c«"
#: builtin.c:1068
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is not a valid wide character"
-msgstr "[s]printf: Wert %g ist außerhalb des Bereichs für Format »%%%c«"
+msgstr "[s]printf: Wert %g ist kein gultiges Wide-Zeichen"
#: builtin.c:1454
#, c-format
@@ -704,9 +670,7 @@ msgstr "[s]printf: Wert %g ist außerhalb des Bereichs für Format »%%%c«"
#: builtin.c:1552
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"das unbekannte Zeichen »%c« in der Formatspezifikation wird ignoriert: keine "
-"Argumente umgewandelt"
+msgstr "das unbekannte Zeichen »%c« in der Formatspezifikation wird ignoriert: keine Argumente umgewandelt"
#: builtin.c:1557
msgid "fatal: not enough arguments to satisfy format string"
@@ -759,8 +723,7 @@ msgstr "substr: Nicht ganzzahlige Länge %g wird abgeschnitten"
#: builtin.c:1758
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
-msgstr ""
-"substr: Länge %g ist zu groß für Stringindizierung, wird auf %g gekürzt"
+msgstr "substr: Länge %g ist zu groß für Stringindizierung, wird auf %g gekürzt"
#: builtin.c:1770
#, c-format
@@ -783,211 +746,209 @@ msgstr "substr: Start-Wert %g liegt hinter dem Ende des Strings"
#: builtin.c:1820
#, c-format
-msgid ""
-"substr: length %g at start index %g exceeds length of first argument (%lu)"
-msgstr ""
-"substr: Länge %g am Start-Wert %g überschreitet die Länge des ersten "
-"Arguments (%lu)"
+msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr "substr: Länge %g am Start-Wert %g überschreitet die Länge des ersten Arguments (%lu)"
-#: builtin.c:1890
+#: builtin.c:1892
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: Formatwert in PROCINFO[\"strftime\"] ist numerischen Typs"
-#: builtin.c:1913
+#: builtin.c:1915
msgid "strftime: received non-numeric second argument"
msgstr "strftime: Das zweite Argument ist keine Zahl"
-#: builtin.c:1917
+#: builtin.c:1924
msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr ""
-"strftime: das zweite Argument ist kleiner als 0 oder zu groß für time_t"
+msgstr "strftime: das zweite Argument ist kleiner als 0 oder zu groß für time_t"
-#: builtin.c:1924
+#: builtin.c:1928
+msgid "strftime: second argument out of range for time_t"
+msgstr "strftime: das zweite Argument ist ausserhalb des Gültigkeitsbereichs von time_t"
+
+#: builtin.c:1935
msgid "strftime: received non-string first argument"
msgstr "strftime: Das erste Argument ist kein String"
-#: builtin.c:1931
+#: builtin.c:1942
msgid "strftime: received empty format string"
msgstr "strftime: Der Format-String ist leer"
-#: builtin.c:1997
+#: builtin.c:2011
msgid "mktime: received non-string argument"
msgstr "mktime: Das Argument ist kein String"
-#: builtin.c:2014
+#: builtin.c:2028
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: mindestens einer der Werte ist außerhalb des normalen Bereichs"
-#: builtin.c:2049
+#: builtin.c:2063
msgid "'system' function not allowed in sandbox mode"
msgstr "Die Funktion »system« ist im Sandbox-Modus nicht erlaubt"
-#: builtin.c:2054
+#: builtin.c:2068
msgid "system: received non-string argument"
msgstr "system: Das Argument ist kein String"
-#: builtin.c:2174
+#: builtin.c:2188
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "Referenz auf das nicht initialisierte Feld »$%d«"
-#: builtin.c:2259
+#: builtin.c:2273
msgid "tolower: received non-string argument"
msgstr "tolower: das Argument ist kein String"
-#: builtin.c:2290
+#: builtin.c:2304
msgid "toupper: received non-string argument"
msgstr "toupper: das Argument ist kein String"
-#: builtin.c:2323 mpfr.c:679
+#: builtin.c:2337 mpfr.c:679
msgid "atan2: received non-numeric first argument"
msgstr "atan2: das erste Argument ist keine Zahl"
-#: builtin.c:2325 mpfr.c:681
+#: builtin.c:2339 mpfr.c:681
msgid "atan2: received non-numeric second argument"
msgstr "atan2: das zweite Argument ist keine Zahl"
-#: builtin.c:2344
+#: builtin.c:2358
msgid "sin: received non-numeric argument"
msgstr "sin: das Argument ist keine Zahl"
-#: builtin.c:2360
+#: builtin.c:2374
msgid "cos: received non-numeric argument"
msgstr "cos: das Argument ist keine Zahl"
-#: builtin.c:2413 mpfr.c:1176
+#: builtin.c:2427 mpfr.c:1176
msgid "srand: received non-numeric argument"
msgstr "srand: das Argument ist keine Zahl"
-#: builtin.c:2444
+#: builtin.c:2458
msgid "match: third argument is not an array"
msgstr "match: das dritte Argument ist kein Array"
-#: builtin.c:2705
-#, fuzzy, c-format
+#: builtin.c:2719
+#, c-format
msgid "gensub: third argument `%.*s' treated as 1"
-msgstr "gensub: 0 als drittes Argument wird als 1 interpretiert"
+msgstr "gensub: das dritte Argument „%.*s“ wird als 1 interpretiert"
-#: builtin.c:2720
-#, fuzzy, c-format
+#: builtin.c:2734
+#, c-format
msgid "gensub: third argument %g treated as 1"
-msgstr "gensub: 0 als drittes Argument wird als 1 interpretiert"
+msgstr "gensub: das dritte Argument %g wird als 1 interpretiert"
-#: builtin.c:3020
+#: builtin.c:3032
+#, c-format
+msgid "%s: can be called indirectly only with two arguments"
+msgstr "%s: kann indirekt nur mit zwei Argumenten aufgerufen werden"
+
+#: builtin.c:3122
+#, c-format
+msgid "indirect call to %s requires at least two arguments"
+msgstr "der indirekte Aufruf von %s erfordert mindestens zwei Argumente"
+
+#: builtin.c:3174
msgid "lshift: received non-numeric first argument"
msgstr "lshift: das erste Argument ist keine Zahl"
-#: builtin.c:3022
+#: builtin.c:3176
msgid "lshift: received non-numeric second argument"
msgstr "lshift: das zweite Argument ist keine Zahl"
-#: builtin.c:3028
+#: builtin.c:3182
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
-msgstr ""
-"lshift(%f, %f): Negative Werte werden zu merkwürdigen Ergebnissen führen"
+msgstr "lshift(%f, %f): Negative Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:3030
+#: builtin.c:3184
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): Dezimalteil wird abgeschnitten"
-#: builtin.c:3032
+#: builtin.c:3186
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
-msgstr ""
-"lshift(%f, %f): Zu große Shift-Werte werden zu merkwürdigen Ergebnissen "
-"führen"
+msgstr "lshift(%f, %f): Zu große Shift-Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:3057
+#: builtin.c:3211
msgid "rshift: received non-numeric first argument"
msgstr "rshift: das erste Argument ist keine Zahl"
-#: builtin.c:3059
+#: builtin.c:3213
msgid "rshift: received non-numeric second argument"
msgstr "rshift: das zweite Argument ist keine Zahl"
-#: builtin.c:3065
+#: builtin.c:3219
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
-msgstr ""
-"rshift (%f, %f): Negative Werte werden zu merkwürdigen Ergebnissen führen"
+msgstr "rshift (%f, %f): Negative Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:3067
+#: builtin.c:3221
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): Dezimalteil wird abgeschnitten"
-#: builtin.c:3069
+#: builtin.c:3223
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
-msgstr ""
-"rshift(%f, %f): Zu große Shift-Werte werden zu merkwürdigen Ergebnissen "
-"führen"
+msgstr "rshift(%f, %f): Zu große Shift-Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:3094 mpfr.c:988
+#: builtin.c:3248 mpfr.c:988
msgid "and: called with less than two arguments"
msgstr "and: wird mit weniger als zwei Argumenten aufgerufen"
-#: builtin.c:3099
+#: builtin.c:3253
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: das Argument %d ist nicht numerisch"
-#: builtin.c:3103
+#: builtin.c:3257
#, c-format
msgid "and: argument %d negative value %g will give strange results"
-msgstr ""
-"and: der negative Wert %2$g von Argument %1$d wird zu merkwürdigen "
-"Ergebnissen führen"
+msgstr "and: der negative Wert %2$g von Argument %1$d wird zu merkwürdigen Ergebnissen führen"
-#: builtin.c:3126 mpfr.c:1020
+#: builtin.c:3280 mpfr.c:1020
msgid "or: called with less than two arguments"
msgstr "or: wird mit weniger als zwei Argumenten aufgerufen"
-#: builtin.c:3131
+#: builtin.c:3285
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: das Argument %d ist nicht numerisch"
-#: builtin.c:3135
+#: builtin.c:3289
#, c-format
msgid "or: argument %d negative value %g will give strange results"
-msgstr ""
-"or: der negative Wert %2$g von Argument %1$d wird zu merkwürdigen "
-"Ergebnissen führen"
+msgstr "or: der negative Wert %2$g von Argument %1$d wird zu merkwürdigen Ergebnissen führen"
-#: builtin.c:3157 mpfr.c:1051
+#: builtin.c:3311 mpfr.c:1051
msgid "xor: called with less than two arguments"
msgstr "xor: wird mit weniger als zwei Argumenten aufgerufen"
-#: builtin.c:3163
+#: builtin.c:3317
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: das Argument %d ist nicht numerisch"
-#: builtin.c:3167
+#: builtin.c:3321
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
-msgstr ""
-"xor: der negative Wert %2$g von Argument %1$d wird zu merkwürdigen "
-"Ergebnissen führen"
+msgstr "xor: der negative Wert %2$g von Argument %1$d wird zu merkwürdigen Ergebnissen führen"
-#: builtin.c:3192 mpfr.c:807
+#: builtin.c:3346 mpfr.c:807
msgid "compl: received non-numeric argument"
msgstr "compl: das erste Argument ist keine Zahl"
-#: builtin.c:3198
+#: builtin.c:3352
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): Der negative Wert wird zu merkwürdigen Ergebnissen führen"
-#: builtin.c:3200
+#: builtin.c:3354
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): der Dezimalteil wird abgeschnitten"
-#: builtin.c:3369
+#: builtin.c:3523
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: »%s« ist keine gültige Locale-Kategorie"
@@ -1019,8 +980,7 @@ msgstr "save »%s«: Der Befehl ist nicht zulässig."
#: command.y:339
msgid "Can't use command `commands' for breakpoint/watchpoint commands"
-msgstr ""
-"Der Befehl »commands« kann nicht für Break- bzw. Watchpoints verwendet werden"
+msgstr "Der Befehl »commands« kann nicht für Break- bzw. Watchpoints verwendet werden"
#: command.y:341
msgid "no breakpoint/watchpoint has been set yet"
@@ -1033,9 +993,7 @@ msgstr "ungültige Break-/Watchpoint/Nummer"
#: command.y:348
#, c-format
msgid "Type commands for when %s %d is hit, one per line.\n"
-msgstr ""
-"Befehle eingeben, die bei Erreichen von %s %d ausgeführt werden sollen, "
-"einer pro Zeile.\n"
+msgstr "Befehle eingeben, die bei Erreichen von %s %d ausgeführt werden sollen, einer pro Zeile.\n"
#: command.y:350
#, c-format
@@ -1096,36 +1054,24 @@ msgid "non-zero integer value"
msgstr "ganyzahliger Wert ungleich Null"
#: command.y:817
-msgid ""
-"backtrace [N] - print trace of all or N innermost (outermost if N < 0) "
-"frames."
-msgstr ""
-"backtrace [N] - log von allen oder den N innersten (äußersten wenn N < 0) "
-"Rahmen."
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "backtrace [N] - log von allen oder den N innersten (äußersten wenn N < 0) Rahmen."
#: command.y:819
-msgid ""
-"break [[filename:]N|function] - set breakpoint at the specified location."
-msgstr ""
-"break [[Dateiname:]N|funktion - Breakpoint an der angegebenen Stelle setzen.]"
+msgid "break [[filename:]N|function] - set breakpoint at the specified location."
+msgstr "break [[Dateiname:]N|funktion - Breakpoint an der angegebenen Stelle setzen.]"
#: command.y:821
msgid "clear [[filename:]N|function] - delete breakpoints previously set."
msgstr "clear [[Dateiname:]N|Funktion - zuvor gesetzte Breakpoints löschen."
#: command.y:823
-msgid ""
-"commands [num] - starts a list of commands to be executed at a "
-"breakpoint(watchpoint) hit."
-msgstr ""
-"commands [Nr] - startet eine Liste von Befehlen, die bei Erreichen eines "
-"Break- bzw. Watchpoints ausgeführt werden."
+msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit."
+msgstr "commands [Nr] - startet eine Liste von Befehlen, die bei Erreichen eines Break- bzw. Watchpoints ausgeführt werden."
#: command.y:825
msgid "condition num [expr] - set or clear breakpoint or watchpoint condition."
-msgstr ""
-"condition Nr [Ausdruck] - Bedingungen für einen Break-/Watchpoint setzen "
-"oder löschen."
+msgstr "condition Nr [Ausdruck] - Bedingungen für einen Break-/Watchpoint setzen oder löschen."
#: command.y:827
msgid "continue [COUNT] - continue program being debugged."
@@ -1141,8 +1087,7 @@ msgstr "disable [Breakpoints] [Bereich] - angegebene Breakpoints deaktivieren."
#: command.y:833
msgid "display [var] - print value of variable each time the program stops."
-msgstr ""
-"display [Var] - den Wert der Variablen bei jedem Programmstop ausgeben."
+msgstr "display [Var] - den Wert der Variablen bei jedem Programmstop ausgeben."
#: command.y:835
msgid "down [N] - move N frames down the stack."
@@ -1150,15 +1095,11 @@ msgstr "down [N] - N Rahmen nach unten im Stack gehen."
#: command.y:837
msgid "dump [filename] - dump instructions to file or stdout."
-msgstr ""
-"dump [Dateiname] - Befehle in eine Datei oder auf der Standardausgabe "
-"ausgeben"
+msgstr "dump [Dateiname] - Befehle in eine Datei oder auf der Standardausgabe ausgeben"
#: command.y:839
msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints."
-msgstr ""
-"enable [once|del] [Breakpoints] [Bereich] - die angegebenen Breakpoints "
-"aktivieren."
+msgstr "enable [once|del] [Breakpoints] [Bereich] - die angegebenen Breakpoints aktivieren."
#: command.y:841
msgid "end - end a list of commands or awk statements."
@@ -1170,8 +1111,7 @@ msgstr "eval stmt[p1, p2, ...] - Awk-Ausdrücke auswerten."
#: command.y:845
msgid "finish - execute until selected stack frame returns."
-msgstr ""
-"finish - mit Ausführung fortfahren bis auisgewählter Rahmen verlassen wird."
+msgstr "finish - mit Ausführung fortfahren bis auisgewählter Rahmen verlassen wird."
#: command.y:847
msgid "frame [N] - select and print stack frame number N."
@@ -1179,41 +1119,27 @@ msgstr "frame [N] - den Stackrahmen Nummer N auswählen und ausgeben."
#: command.y:849
msgid "help [command] - print list of commands or explanation of command."
-msgstr ""
-"help [Befehl] - gibt eine Liste der Befehle oder die Beschreibung eines "
-"einzelnen Befehls aus."
+msgstr "help [Befehl] - gibt eine Liste der Befehle oder die Beschreibung eines einzelnen Befehls aus."
#: command.y:851
msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
-msgstr ""
-"ignore N ZÄHLER - setzt den Ignorieren-Zähler von Breakpoint N auf ZÄHLER"
+msgstr "ignore N ZÄHLER - setzt den Ignorieren-Zähler von Breakpoint N auf ZÄHLER"
#: command.y:853
-msgid ""
-"info topic - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
-msgstr ""
-"info Thema - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
+msgid "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
+msgstr "info Thema - source|sources|variables|functions|break|frame|args|locals|display|watch."
#: command.y:855
msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
-msgstr ""
-"list [-|+|[Dateiname:]Zeilennr|Funktion|Breich] - die angegebenen Zeilen "
-"ausgeben"
+msgstr "list [-|+|[Dateiname:]Zeilennr|Funktion|Breich] - die angegebenen Zeilen ausgeben"
#: command.y:857
msgid "next [COUNT] - step program, proceeding through subroutine calls."
-msgstr ""
-"next [ZÄHLER] - Programm schrittweise ausführen aber Subroutinen in einem "
-"Rutsch ausführen"
+msgstr "next [ZÄHLER] - Programm schrittweise ausführen aber Subroutinen in einem Rutsch ausführen"
#: command.y:859
-msgid ""
-"nexti [COUNT] - step one instruction, but proceed through subroutine calls."
-msgstr ""
-"nexti [ZÄHLER] - einen Befehl abarbeiten. aber Subroutinen in einem Rutsch "
-"ausführen"
+msgid "nexti [COUNT] - step one instruction, but proceed through subroutine calls."
+msgstr "nexti [ZÄHLER] - einen Befehl abarbeiten. aber Subroutinen in einem Rutsch ausführen"
#: command.y:861
msgid "option [name[=value]] - set or display debugger option(s)."
@@ -1233,9 +1159,7 @@ msgstr "quit - Debugger verlassen"
#: command.y:869
msgid "return [value] - make selected stack frame return to its caller."
-msgstr ""
-"return [Wert] - den ausgewählten Stapelrahmen yu seinem Aufrufer zurück "
-"kehren lassen"
+msgstr "return [Wert] - den ausgewählten Stapelrahmen yu seinem Aufrufer zurück kehren lassen"
#: command.y:871
msgid "run - start or restart executing program."
@@ -1250,11 +1174,8 @@ msgid "set var = value - assign value to a scalar variable."
msgstr "set Var = Wert - einer skalaren Variablen einen Wert zuweisen"
#: command.y:879
-msgid ""
-"silent - suspends usual message when stopped at a breakpoint/watchpoint."
-msgstr ""
-"silent - unterdrückt die übliche Nachricht, wenn ein Break- bzw. Watchpoint "
-"erreicht wird."
+msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint."
+msgstr "silent - unterdrückt die übliche Nachricht, wenn ein Break- bzw. Watchpoint erreicht wird."
#: command.y:881
msgid "source file - execute commands from file."
@@ -1262,9 +1183,7 @@ msgstr "source Datei - die Befehle in Datei ausführen"
#: command.y:883
msgid "step [COUNT] - step program until it reaches a different source line."
-msgstr ""
-"step [ZÄHLER - Programm schrittweise ausführen bis es eine andere Quellzeile "
-"erricht."
+msgstr "step [ZÄHLER - Programm schrittweise ausführen bis es eine andere Quellzeile erricht."
#: command.y:885
msgid "stepi [COUNT] - step one instruction exactly."
@@ -1280,17 +1199,11 @@ msgstr "trace on|off - Instruktionen vor der Ausführung ausgeben."
#: command.y:891
msgid "undisplay [N] - remove variable(s) from automatic display list."
-msgstr ""
-"undisplay [N] - Variablen von der Liste der automatisch Anzuzeigenden "
-"entfernen."
+msgstr "undisplay [N] - Variablen von der Liste der automatisch Anzuzeigenden entfernen."
#: command.y:893
-msgid ""
-"until [[filename:]N|function] - execute until program reaches a different "
-"line or line N within current frame."
-msgstr ""
-"until [[Dateiname:]N|Funktion - Ausführen bis das Programm eine andere Zeile "
-"erreicht oder N Zeilen im aktuellen Rahmen."
+msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame."
+msgstr "until [[Dateiname:]N|Funktion - Ausführen bis das Programm eine andere Zeile erreicht oder N Zeilen im aktuellen Rahmen."
#: command.y:895
msgid "unwatch [N] - remove variable(s) from watch list."
@@ -1305,13 +1218,8 @@ msgid "watch var - set a watchpoint for a variable."
msgstr "watch Var - einen Watchpoint für eine Variable setzen."
#: command.y:901
-#, fuzzy
-msgid ""
-"where [N] - (same as backtrace) print trace of all or N innermost (outermost "
-"if N < 0) frames."
-msgstr ""
-"backtrace [N] - log von allen oder den N innersten (äußersten wenn N < 0) "
-"Rahmen."
+msgid "where [N] - (same as backtrace) print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "where [N] - (wie bei backtrace) Liste von allen oder den N innersten (äußersten wenn N <0> Stackframes"
#: command.y:1013 debug.c:401 msg.c:135
#, c-format
@@ -1353,9 +1261,7 @@ msgstr "undefinierter Befehl: %s\n"
#: debug.c:252
msgid "set or show the number of lines to keep in history file."
-msgstr ""
-"die Anzahl von Zeilen setzen oder anzeigen, die in der Historydatei "
-"gespeichert werden sollen."
+msgstr "die Anzahl von Zeilen setzen oder anzeigen, die in der Historydatei gespeichert werden sollen."
#: debug.c:254
msgid "set or show the list command window size."
@@ -1407,14 +1313,12 @@ msgstr "Die Quelldatei »%s« kann nicht gefunden werden (%s)"
#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
-msgstr ""
-"WARNUNG: Quelldatei »%s« wurde seit der Programmübersetzung verändert.\n"
+msgstr "WARNUNG: Quelldatei »%s« wurde seit der Programmübersetzung verändert.\n"
#: debug.c:551
#, c-format
msgid "line number %d out of range; `%s' has %d lines"
-msgstr ""
-"die Zeilennummer %d ist außerhalb des gültigen Bereichs: »%s« hat %d Zeilen"
+msgstr "die Zeilennummer %d ist außerhalb des gültigen Bereichs: »%s« hat %d Zeilen"
#: debug.c:611
#, c-format
@@ -1566,8 +1470,7 @@ msgstr "»%s« ist keine skalare Variable"
#: debug.c:1258 debug.c:4994
#, c-format
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
-msgstr ""
-"Es wird versucht, das Feld »%s[\"%s\"]« in einem Skalarkontext zu verwenden"
+msgstr "Es wird versucht, das Feld »%s[\"%s\"]« in einem Skalarkontext zu verwenden"
#: debug.c:1280 debug.c:5005
#, c-format
@@ -1606,16 +1509,12 @@ msgstr "Es wird versucht, einen Skalar als Feld zu verwenden"
#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
-msgstr ""
-"Watchpoint %d wurde gelöscht, weil der Parameter außerhalb des "
-"Gültigkeitsbereichs ist.\n"
+msgstr "Watchpoint %d wurde gelöscht, weil der Parameter außerhalb des Gültigkeitsbereichs ist.\n"
#: debug.c:1867
#, c-format
msgid "Display %d deleted because parameter is out of scope.\n"
-msgstr ""
-"Anzuzeigendes Element %d wurde gelöscht, weil der Parameter außerhalb des "
-"Gültigkeitsbereichs ist.\n"
+msgstr "Anzuzeigendes Element %d wurde gelöscht, weil der Parameter außerhalb des Gültigkeitsbereichs ist.\n"
#: debug.c:1900
#, c-format
@@ -1644,9 +1543,7 @@ msgstr "Ungültige Rahmennummer"
#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Hinweis: Breakpont %d (aktiv, ignoriert für die nächsten %ld Treffer) wird "
-"auch an %s:%d gesetzt"
+msgstr "Hinweis: Breakpont %d (aktiv, ignoriert für die nächsten %ld Treffer) wird auch an %s:%d gesetzt"
#: debug.c:2207
#, c-format
@@ -1656,9 +1553,7 @@ msgstr "Hinweis: Breakpont %d (aktiv) wird auch an %s:%d gesetzt"
#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Hinweis: Breakpont %d (inaktiv, ignoriert für die nächsten %ld Treffer) wird "
-"auch von %s:%d gesetzt"
+msgstr "Hinweis: Breakpont %d (inaktiv, ignoriert für die nächsten %ld Treffer) wird auch von %s:%d gesetzt"
#: debug.c:2221
#, c-format
@@ -1730,8 +1625,7 @@ msgstr "j"
#: debug.c:2662
#, c-format
msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
-msgstr ""
-"die nächsten %ld Überschreitungen von Breakpoint %d werden ignoriert.\n"
+msgstr "die nächsten %ld Überschreitungen von Breakpoint %d werden ignoriert.\n"
#: debug.c:2666
#, c-format
@@ -1741,9 +1635,7 @@ msgstr "wenn Breakpoint %d das nächste mal erreicht wird, wird angehalten\n"
#: debug.c:2783
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
-msgstr ""
-"Es können nur Programme untersucht werden, die mittels der Option »-f« "
-"übergeben wurden.\n"
+msgstr "Es können nur Programme untersucht werden, die mittels der Option »-f« übergeben wurden.\n"
#: debug.c:2908
#, c-format
@@ -1767,8 +1659,7 @@ msgstr "Fehler: Neustart nicht möglich da die Operation verboten ist\n"
#: debug.c:2942
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
-msgstr ""
-"Fehler (%s): Neustart nicht möglich, der Rest der Befehle wird ignoriert\n"
+msgstr "Fehler (%s): Neustart nicht möglich, der Rest der Befehle wird ignoriert\n"
#: debug.c:2950
#, c-format
@@ -1797,8 +1688,7 @@ msgstr "ungültige Breakpointnummer %d."
#: debug.c:3020
#, c-format
msgid "Will ignore next %ld crossings of breakpoint %d.\n"
-msgstr ""
-"Die nächsten %ld Überschreitungen von Breakpoint %d werden ignoriert.\n"
+msgstr "Die nächsten %ld Überschreitungen von Breakpoint %d werden ignoriert.\n"
#: debug.c:3207
#, c-format
@@ -1880,14 +1770,11 @@ msgstr "ungültige Zahl"
#: debug.c:5381
#, c-format
msgid "`%s' not allowed in current context; statement ignored"
-msgstr ""
-"»%s« ist im aktuellen Kontext nicht zulässig; der Ausdruck wird ignoriert"
+msgstr "»%s« ist im aktuellen Kontext nicht zulässig; der Ausdruck wird ignoriert"
#: debug.c:5389
msgid "`return' not allowed in current context; statement ignored"
-msgstr ""
-"»reeturn« ist im aktuellen Kontext nicht zulässig; der Ausdruck wird "
-"ignoriert"
+msgstr "»reeturn« ist im aktuellen Kontext nicht zulässig; der Ausdruck wird ignoriert"
#: debug.c:5604
#, c-format
@@ -1912,12 +1799,10 @@ msgid "unfinished \\ escape"
msgstr "nicht beendetes \\ Escape"
#: dfa.c:1474
-#, fuzzy
msgid "invalid content of \\{\\}"
msgstr "Ungültiger Inhalt von \\{\\}"
#: dfa.c:1477
-#, fuzzy
msgid "regular expression too big"
msgstr "Regulärer Ausdruck ist zu groß"
@@ -2051,23 +1936,18 @@ msgstr "load_ext: Bibliothek »%s« kann nicht geöffnet werden (%s)\n"
#: ext.c:80
#, c-format
-msgid ""
-"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
-msgstr ""
-"load_ext: Bibliothek »%s«: definiert »plugin_is_GPL_compatible« nicht (%s)\n"
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgstr "load_ext: Bibliothek »%s«: definiert »plugin_is_GPL_compatible« nicht (%s)\n"
#: ext.c:86
#, c-format
msgid "load_ext: library `%s': cannot call function `%s' (%s)\n"
-msgstr ""
-"load_ext: Bibliothek »%s«: Funktion »%s« kann nicht aufgerufen werden (%s)\n"
+msgstr "load_ext: Bibliothek »%s«: Funktion »%s« kann nicht aufgerufen werden (%s)\n"
#: ext.c:90
#, c-format
msgid "load_ext: library `%s' initialization routine `%s' failed\n"
-msgstr ""
-"load_ext: die Initialisierungsroutine %2$s von Bibliothek »%1$s« ist "
-"gescheitert\n"
+msgstr "load_ext: die Initialisierungsroutine %2$s von Bibliothek »%1$s« ist gescheitert\n"
#: ext.c:150
msgid "`extension' is a gawk extension"
@@ -2084,16 +1964,13 @@ msgstr "extension: Bibliothek »%s« kann nicht geöffnet werden (%s)"
#: ext.c:162
#, c-format
-msgid ""
-"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
-msgstr ""
-"extension: Bibliothek »%s«: definiert »plugin_is_GPL_compatible« nicht (%s)"
+msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
+msgstr "extension: Bibliothek »%s«: definiert »plugin_is_GPL_compatible« nicht (%s)"
#: ext.c:166
#, c-format
msgid "extension: library `%s': cannot call function `%s' (%s)"
-msgstr ""
-"extension: Bibliothek »%s«: Funktion »%s« kann nicht aufgerufen werden (%s)"
+msgstr "extension: Bibliothek »%s«: Funktion »%s« kann nicht aufgerufen werden (%s)"
#: ext.c:197
msgid "make_builtin: missing function name"
@@ -2117,9 +1994,7 @@ msgstr "make_builtin: Funktion »%s« wurde bereits vorher definiert"
#: ext.c:222
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
-msgstr ""
-"make_builtin: die in gawk eingebaute Funktion »%s« kann nicht als "
-"Funktionsname verwendet werden"
+msgstr "make_builtin: die in gawk eingebaute Funktion »%s« kann nicht als Funktionsname verwendet werden"
#: ext.c:225 ext.c:280
#, c-format
@@ -2153,16 +2028,12 @@ msgstr "extension: Funktion »%s« wurde bereits vorher definiert"
#: ext.c:277
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr ""
-"extension: die eingebaute Funktion »%s« kann nicht als Funktionsname "
-"verwendet werden"
+msgstr "extension: die eingebaute Funktion »%s« kann nicht als Funktionsname verwendet werden"
#: ext.c:351
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
-msgstr ""
-"Funktion »%s« wird als Funktion definiert, die nie mehr als %d Argument(e) "
-"akzeptiert"
+msgstr "Funktion »%s« wird als Funktion definiert, die nie mehr als %d Argument(e) akzeptiert"
#: ext.c:354
#, c-format
@@ -2172,16 +2043,12 @@ msgstr "Funktion »%s«: fehlendes Argument #%d"
#: ext.c:371
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
-msgstr ""
-"Funktion »%s«: Argument #%d: Es wird versucht, einen Skalar als Feld zu "
-"verwenden"
+msgstr "Funktion »%s«: Argument #%d: Es wird versucht, einen Skalar als Feld zu verwenden"
#: ext.c:375
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
-msgstr ""
-"Funktion »%s«: Argument #%d: Es wird versucht, ein Feld als Skalar zu "
-"verwenden"
+msgstr "Funktion »%s«: Argument #%d: Es wird versucht, ein Feld als Skalar zu verwenden"
#: ext.c:389
msgid "dynamic loading of library not supported"
@@ -2189,8 +2056,7 @@ msgstr "das dynamische Laden von Bibliotheken wird nicht unterstützt"
#: extension/filefuncs.c:159
msgid "chdir: called with incorrect number of arguments, expecting 1"
-msgstr ""
-"chdir: Aufgruf mit einer ungültigen Anzahl von Argumenten, 1 wird erwartet"
+msgstr "chdir: Aufgruf mit einer ungültigen Anzahl von Argumenten, 1 wird erwartet"
#: extension/filefuncs.c:439
#, c-format
@@ -2261,8 +2127,7 @@ msgstr "fts: ungültiger dritter Parameter\n"
#: extension/filefuncs.c:824
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
-msgstr ""
-"fts: die heimtückische Kennung FTS_NOSTAT wird ignoriert, ätsch bätsch."
+msgstr "fts: die heimtückische Kennung FTS_NOSTAT wird ignoriert, ätsch bätsch."
#: extension/filefuncs.c:841
msgid "fts: clear_array() failed\n"
@@ -2294,8 +2159,7 @@ msgstr "fnmatch ist auf diesem System nicht implementiert\n"
#: extension/fnmatch.c:173
msgid "fnmatch init: could not add FNM_NOMATCH variable"
-msgstr ""
-"fnmatch_init: eine FNM_NOMATCH-Variable konnte nicht hinzu gefügt werden"
+msgstr "fnmatch_init: eine FNM_NOMATCH-Variable konnte nicht hinzu gefügt werden"
#: extension/fnmatch.c:183
#, c-format
@@ -2342,9 +2206,7 @@ msgstr "inplace_begin: das erste Argument ist kein Dateiname"
#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
-msgstr ""
-"inplace_begin: direktes Editieren wird deaktiviert wegen des ungültigen "
-"Dateinamens »%s«"
+msgstr "inplace_begin: direktes Editieren wird deaktiviert wegen des ungültigen Dateinamens »%s«"
#: extension/inplace.c:151
#, c-format
@@ -2453,7 +2315,7 @@ msgstr "readfile: Aufruf ohen Argumente"
#: extension/revoutput.c:125
msgid "revoutput: could not initialize REVOUT variable"
-msgstr ""
+msgstr "revoutput: die Variable REVOUT konnte nicht initialisiert werden"
#: extension/rwarray.c:124 extension/rwarray0.c:109
msgid "writea: called with too many arguments"
@@ -2545,21 +2407,15 @@ msgstr "split: das zweite Argument ist kein Feld"
#: field.c:980
msgid "split: cannot use the same array for second and fourth args"
-msgstr ""
-"split: als zweites und viertes Argument kann nicht das gleiche Feld "
-"verwendet werden"
+msgstr "split: als zweites und viertes Argument kann nicht das gleiche Feld verwendet werden"
#: field.c:985
msgid "split: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"split: Ein untergeordnetes Feld des zweiten Arguments kann nicht als viertes "
-"Argument verwendet werden"
+msgstr "split: Ein untergeordnetes Feld des zweiten Arguments kann nicht als viertes Argument verwendet werden"
#: field.c:988
msgid "split: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"split: Ein untergeordnetes Feld des vierten Arguments kann nicht als zweites "
-"Argument verwendet werden"
+msgstr "split: Ein untergeordnetes Feld des vierten Arguments kann nicht als zweites Argument verwendet werden"
#: field.c:1019
msgid "split: null string for third arg is a gawk extension"
@@ -2579,21 +2435,15 @@ msgstr "patsplit: Das dritte Argument darf nicht Null sein"
#: field.c:1074
msgid "patsplit: cannot use the same array for second and fourth args"
-msgstr ""
-"patsplit: als zweites und viertes Argument kann nicht das gleiche Feld "
-"verwendet werden"
+msgstr "patsplit: als zweites und viertes Argument kann nicht das gleiche Feld verwendet werden"
#: field.c:1079
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"patsplit: Ein untergeordnetes Feld des zweiten Arguments kann nicht als "
-"viertes Argument verwendet werden"
+msgstr "patsplit: Ein untergeordnetes Feld des zweiten Arguments kann nicht als viertes Argument verwendet werden"
#: field.c:1082
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"patsplit: Ein untergeordnetes Feld des vierten Arguments kann nicht als "
-"zweites Argument verwendet werden"
+msgstr "patsplit: Ein untergeordnetes Feld des vierten Arguments kann nicht als zweites Argument verwendet werden"
#: field.c:1120
msgid "`FIELDWIDTHS' is a gawk extension"
@@ -2704,8 +2554,7 @@ msgstr "%s: Die Option »-W %s« erfordert ein Argument\n"
#: io.c:423
#, c-format
msgid "command line argument `%s' is a directory: skipped"
-msgstr ""
-"das Kommandozeilen-Argument »%s« ist ein Verzeichnis: wird übersprungen"
+msgstr "das Kommandozeilen-Argument »%s« ist ein Verzeichnis: wird übersprungen"
#: io.c:426 io.c:544
#, c-format
@@ -2724,8 +2573,7 @@ msgstr "Umlenkungen sind im Sandbox-Modus nicht erlaubt"
#: io.c:783
#, c-format
msgid "expression in `%s' redirection only has numeric value"
-msgstr ""
-"Der Ausdruck in einer Umlenkung mittels »%s« hat nur einen numerischen Wert"
+msgstr "Der Ausdruck in einer Umlenkung mittels »%s« hat nur einen numerischen Wert"
#: io.c:789
#, c-format
@@ -2735,9 +2583,7 @@ msgstr "Der Ausdruck für eine Umlenkung mittels »%s« ist ein leerer String"
#: io.c:794
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
-msgstr ""
-"Der Dateiname »%s« für eine Umlenkung mittels »%s« kann das Ergebnis eines "
-"logischen Ausdrucks sein"
+msgstr "Der Dateiname »%s« für eine Umlenkung mittels »%s« kann das Ergebnis eines logischen Ausdrucks sein"
#: io.c:842
#, c-format
@@ -2757,9 +2603,7 @@ msgstr "Die Pipe »%s« kann nicht für die Eingabe geöffnet werden (%s)"
#: io.c:937
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
-msgstr ""
-"Die bidirektionale Pipe »%s« kann nicht für die Ein-/Ausgabe geöffnet werden "
-"(%s)"
+msgstr "Die bidirektionale Pipe »%s« kann nicht für die Ein-/Ausgabe geöffnet werden (%s)"
#: io.c:1019
#, c-format
@@ -2772,11 +2616,8 @@ msgid "can't redirect to `%s' (%s)"
msgstr "Zu »%s« kann nicht umgelenkt werden (%s)"
#: io.c:1073
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"Die Systemgrenze offener Dateien ist erreicht, daher werden nun "
-"Dateideskriptoren mehrfach verwendet"
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "Die Systemgrenze offener Dateien ist erreicht, daher werden nun Dateideskriptoren mehrfach verwendet"
#: io.c:1089
#, c-format
@@ -2803,9 +2644,7 @@ msgstr "»close« für eine Umlenkung, die nie geöffnet wurde"
#: io.c:1238
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: Umlenkung »%s« wurde nicht mit »[&« geöffnet, das zweite Argument "
-"wird ignoriert"
+msgstr "close: Umlenkung »%s« wurde nicht mit »[&« geöffnet, das zweite Argument wird ignoriert"
#: io.c:1255
#, c-format
@@ -2837,12 +2676,12 @@ msgstr "Das explizite Schließen der Pipe »%s« fehlt"
msgid "no explicit close of file `%s' provided"
msgstr "Das explizite Schließen der Datei »%s« fehlt"
-#: io.c:1317 io.c:1375 main.c:628 main.c:670
+#: io.c:1317 io.c:1375 main.c:632 main.c:674
#, c-format
msgid "error writing standard output (%s)"
msgstr "Fehler beim Schreiben auf die Standardausgabe (%s)"
-#: io.c:1322 io.c:1381 main.c:630
+#: io.c:1322 io.c:1381 main.c:634
#, c-format
msgid "error writing standard error (%s)"
msgstr "Fehler beim Schreiben auf die Standardfehlerausgabe (%s)"
@@ -2872,163 +2711,144 @@ msgstr "Der lokale Port »%s« ist ungültig in »/inet«"
msgid "remote host and port information (%s, %s) invalid"
msgstr "Die Angaben zu entferntem Host und Port (%s, %s) sind ungültig"
-#: io.c:1673
+#: io.c:1699
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-Verbindungen werden nicht unterstützt"
-#: io.c:1854
+#: io.c:1880
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "»%s« konnte nicht geöffnet werden, Modus »%s«"
-#: io.c:1904
+#: io.c:1930
#, c-format
msgid "close of master pty failed (%s)"
-msgstr ""
-"Das Schließen der übergeordneten Terminal-Gerätedatei ist gescheitert (%s)"
+msgstr "Das Schließen der übergeordneten Terminal-Gerätedatei ist gescheitert (%s)"
-#: io.c:1906 io.c:2092 io.c:2293
+#: io.c:1932 io.c:2118 io.c:2319
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "Das Schließen der Standardausgabe im Kindprozess ist gescheitert (%s)"
-#: io.c:1909
+#: io.c:1935
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
-msgstr ""
-"Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardausgabe "
-"im Kindprozess ist gescheitert (dup: %s)"
+msgstr "Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardausgabe im Kindprozess ist gescheitert (dup: %s)"
-#: io.c:1911 io.c:2097
+#: io.c:1937 io.c:2123
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "Schließen von stdin im Kindprozess gescheitert (%s)"
-#: io.c:1914
+#: io.c:1940
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
-msgstr ""
-"Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardeingabe "
-"im Kindprozess ist gescheitert (dup: %s)"
+msgstr "Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardeingabe im Kindprozess ist gescheitert (dup: %s)"
-#: io.c:1916 io.c:1938
+#: io.c:1942 io.c:1964
#, c-format
msgid "close of slave pty failed (%s)"
-msgstr ""
-"Das Schließen der untergeordneten Terminal-Gerätedatei ist gescheitert (%s)"
+msgstr "Das Schließen der untergeordneten Terminal-Gerätedatei ist gescheitert (%s)"
-#: io.c:2027 io.c:2095 io.c:2264 io.c:2296
+#: io.c:2053 io.c:2121 io.c:2290 io.c:2322
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
-msgstr ""
-"Das Verschieben der Pipe zur Standardausgabe im Kindprozess ist gescheitert "
-"(dup: %s)"
+msgstr "Das Verschieben der Pipe zur Standardausgabe im Kindprozess ist gescheitert (dup: %s)"
-#: io.c:2034 io.c:2100
+#: io.c:2060 io.c:2126
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
-msgstr ""
-"Das Verschieben der Pipe zur Standardeingabe im Kindprozess ist gescheitert "
-"(dup: %s)"
+msgstr "Das Verschieben der Pipe zur Standardeingabe im Kindprozess ist gescheitert (dup: %s)"
-#: io.c:2060 io.c:2286
+#: io.c:2086 io.c:2312
msgid "restoring stdout in parent process failed\n"
-msgstr ""
-"Das Wiederherstellen der Standardausgabe im Elternprozess ist gescheitert\n"
+msgstr "Das Wiederherstellen der Standardausgabe im Elternprozess ist gescheitert\n"
-#: io.c:2068
+#: io.c:2094
msgid "restoring stdin in parent process failed\n"
-msgstr ""
-"Das Wiederherstellen der Standardeingabe im Elternprozess ist gescheitert\n"
+msgstr "Das Wiederherstellen der Standardeingabe im Elternprozess ist gescheitert\n"
-#: io.c:2103 io.c:2298 io.c:2313
+#: io.c:2129 io.c:2324 io.c:2339
#, c-format
msgid "close of pipe failed (%s)"
msgstr "Das Schließen der Pipe ist gescheitert (%s)"
-#: io.c:2162
+#: io.c:2188
msgid "`|&' not supported"
msgstr "»|&« wird nicht unterstützt"
-#: io.c:2249
+#: io.c:2275
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "Pipe »%s« kann nicht geöffnet werden (%s)"
-#: io.c:2307
+#: io.c:2333
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "Kindprozess für »%s« kann nicht erzeugt werden (fork: %s)"
-#: io.c:2734
+#: io.c:2760
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser: NULL-Zeiger erhalten"
-#: io.c:2762
+#: io.c:2788
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
-msgstr ""
-"Eingabeparser »%s« steht im Konflikt mit dem vorher installierten "
-"Eingabeparser »%s«"
+msgstr "Eingabeparser »%s« steht im Konflikt mit dem vorher installierten Eingabeparser »%s«"
-#: io.c:2769
+#: io.c:2795
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "Eingabeparser »%s« konnte »%s« nicht öffnen"
-#: io.c:2789
+#: io.c:2815
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper: NULL-Zeiger erhalten"
-#: io.c:2817
+#: io.c:2843
#, c-format
-msgid ""
-"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
+msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
msgstr "Ausgabeverpackung »%s« steht im Konflikt mit Ausgabeverpackung »%s«"
-#: io.c:2824
+#: io.c:2850
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "Ausgabeverpackung »%s« konnte »%s« nicht öffnen"
-#: io.c:2845
+#: io.c:2871
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor: NULL-Zeiger erhalten"
-#: io.c:2874
+#: io.c:2900
#, c-format
-msgid ""
-"two-way processor `%s' conflicts with previously installed two-way processor "
-"`%s'"
+msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
msgstr "Zweiwegeprozessor »%s« steht im Konflikt mit Zweiwegeprozessor »%s«"
-#: io.c:2883
+#: io.c:2909
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "Zweiwegeprozessor »%s« konnte »%s« nicht öffnen"
-#: io.c:3008
+#: io.c:3034
#, c-format
msgid "data file `%s' is empty"
msgstr "Die Datei »%s« ist leer"
-#: io.c:3050 io.c:3058
+#: io.c:3076 io.c:3084
msgid "could not allocate more input memory"
msgstr "Es konnte kein weiterer Speicher für die Eingabe beschafft werden"
-#: io.c:3636
+#: io.c:3662
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "Multicharacter-Wert von »RS« ist eine gawk-Erweiterung"
-#: io.c:3783
+#: io.c:3809
msgid "IPv6 communication is not supported"
msgstr "IPv6-Verbindungen werden nicht unterstützt"
#: main.c:321
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
-msgstr ""
-"Die Umgebungsvariable »POSIXLY_CORRECT« ist gesetzt: »--posix« wird "
-"eingeschaltet"
+msgstr "Die Umgebungsvariable »POSIXLY_CORRECT« ist gesetzt: »--posix« wird eingeschaltet"
#: main.c:327
msgid "`--posix' overrides `--traditional'"
@@ -3050,21 +2870,17 @@ msgstr "»--posix« hat Vorrang vor »--characters-as-bytes«"
#: main.c:404
#, c-format
msgid "can't set binary mode on stdin (%s)"
-msgstr ""
-"Das Setzen des Binärermodus für die Standardeingabe ist nicht möglich (%s)"
+msgstr "Das Setzen des Binärermodus für die Standardeingabe ist nicht möglich (%s)"
#: main.c:407
#, c-format
msgid "can't set binary mode on stdout (%s)"
-msgstr ""
-"Das Setzen des Binärermodus für die Standardausgabe ist nicht möglich (%s)"
+msgstr "Das Setzen des Binärermodus für die Standardausgabe ist nicht möglich (%s)"
#: main.c:409
#, c-format
msgid "can't set binary mode on stderr (%s)"
-msgstr ""
-"Das Setzen des Binärermodus für die Standardfehlerausgabe ist nicht möglich "
-"(%s)"
+msgstr "Das Setzen des Binärermodus für die Standardfehlerausgabe ist nicht möglich (%s)"
#: main.c:469
msgid "no program text at all!"
@@ -3144,60 +2960,62 @@ msgstr "\t-i einzubindende_datei\t\t--include=einzubindende_datei\n"
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l Bibliothek\t\t--load=Bibliothek\n"
-#: main.c:586
-#, fuzzy
+#. TRANSLATORS: the "fatal" and "invalid" here are literal
+#. values, they should not be translated. Thanks.
+#.
+#: main.c:590
msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
-msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
+msgstr "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
-#: main.c:587
+#: main.c:591
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:588
+#: main.c:592
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:589
+#: main.c:593
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:590
+#: main.c:594
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[Datei]\t\t--pretty-print[=Datei]\n"
-#: main.c:591
+#: main.c:595
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:592
+#: main.c:596
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p [Datei]\t\t--profile[=Datei]\n"
-#: main.c:593
+#: main.c:597
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:594
+#: main.c:598
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:595
+#: main.c:599
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:596
+#: main.c:600
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:597
+#: main.c:601
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:599
+#: main.c:603
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:602
+#: main.c:606
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3206,7 +3024,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:611
+#: main.c:615
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3222,7 +3040,7 @@ msgstr ""
"translation-team-de@lists.sourceforge.net\n"
"\n"
-#: main.c:615
+#: main.c:619
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3233,7 +3051,7 @@ msgstr ""
"auf der Standardausgabe aus.\n"
"\n"
-#: main.c:619
+#: main.c:623
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3243,7 +3061,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:644
+#: main.c:648
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3263,7 +3081,7 @@ msgstr ""
"spätere Version.\n"
"\n"
-#: main.c:652
+#: main.c:656
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"
@@ -3276,7 +3094,7 @@ msgstr ""
"leistung einer HANDELBARKEIT oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.\n"
"Sehen Sie bitte die GNU General Public License für weitere Details.\n"
-#: main.c:658
+#: main.c:662
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"
@@ -3285,16 +3103,16 @@ msgstr ""
"diesem Programm erhalten haben. Wenn nicht, lesen Sie bitte\n"
"http://www.gnu.org/licenses/.\n"
-#: main.c:695
+#: main.c:699
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft setzt FS im POSIX-awk nicht auf Tab"
-#: main.c:982
+#: main.c:986
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "unbekannter Wert für eine Feldangabe: %d\n"
-#: main.c:1080
+#: main.c:1084
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3303,68 +3121,67 @@ msgstr ""
"%s: Argument »%s« von »-v« ist nicht in der Form »Variable=Wert«\n"
"\n"
-#: main.c:1106
+#: main.c:1110
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "»%s« ist kein gültiger Variablenname"
-#: main.c:1109
+#: main.c:1113
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "»%s« ist kein Variablenname, es wird nach der Datei »%s=%s« gesucht"
-#: main.c:1113
+#: main.c:1117
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr ""
-"die eingebaute Funktion »%s« kann nicht als Variablenname verwendet werden"
+msgstr "die eingebaute Funktion »%s« kann nicht als Variablenname verwendet werden"
# c-format
-#: main.c:1118
+#: main.c:1122
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "Funktion »%s« kann nicht als Name einer Variablen verwendet werden"
-#: main.c:1171
+#: main.c:1175
msgid "floating point exception"
msgstr "Fließkomma-Ausnahme"
-#: main.c:1178
+#: main.c:1182
msgid "fatal error: internal error"
msgstr "Fataler Fehler: interner Fehler"
-#: main.c:1193
+#: main.c:1197
msgid "fatal error: internal error: segfault"
msgstr "Fataler Fehler: interner Fehler: Speicherbegrenzungsfehler"
-#: main.c:1205
+#: main.c:1209
msgid "fatal error: internal error: stack overflow"
msgstr "Fataler Fehler: interner Fehler: Stapelüberlauf"
-#: main.c:1264
+#: main.c:1268
#, c-format
msgid "no pre-opened fd %d"
msgstr "Kein bereits geöffneter Dateideskriptor %d"
-#: main.c:1271
+#: main.c:1275
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "/dev/null konnte nicht für Dateideskriptor %d geöffnet werden"
-#: main.c:1485
+#: main.c:1489
msgid "empty argument to `-e/--source' ignored"
msgstr "Das leere Argument für »--source« wird ignoriert"
-#: main.c:1556
+#: main.c:1560
msgid "-M ignored: MPFR/GMP support not compiled in"
-msgstr ""
+msgstr "-M wurde ignoriert: die Unterstützung von MPFR/GMP wurde nicht eingebaut"
-#: main.c:1577
+#: main.c:1581
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: Die Option »-W %s« ist unbekannt und wird ignoriert\n"
-#: main.c:1630
+#: main.c:1634
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: Die Option %c erfordert ein Argument\n"
@@ -3404,15 +3221,11 @@ msgstr "%s: das Argument Nr. %d ist keine Zahl"
#: mpfr.c:865
msgid "%s: argument #%d has invalid value %Rg, using 0"
-msgstr ""
-"%s: Argument Nr. %d hat den ungültigen Wert %Rg, es wird stattdessen 0 "
-"verwendet"
+msgstr "%s: Argument Nr. %d hat den ungültigen Wert %Rg, es wird stattdessen 0 verwendet"
#: mpfr.c:877
msgid "%s: argument #%d negative value %Rg will give strange results"
-msgstr ""
-"%s: der negative Wert %2$Rg in Argument Nr. %1$d wird zu merkwürdigen "
-"Ergebnissen führen"
+msgstr "%s: der negative Wert %2$Rg in Argument Nr. %1$d wird zu merkwürdigen Ergebnissen führen"
#: mpfr.c:883
msgid "%s: argument #%d fractional value %Rg will be truncated"
@@ -3421,9 +3234,7 @@ msgstr "%s: der Nachkommateil %2$Rg in Argument Nr. %1$d wird abgeschnitten"
#: mpfr.c:898
#, c-format
msgid "%s: argument #%d negative value %Zd will give strange results"
-msgstr ""
-"%1$s: der negative Wert %3$Zd in Argument Nr. %2$d wird zu merkwürdigen "
-"Ergebnissen führen"
+msgstr "%1$s: der negative Wert %3$Zd in Argument Nr. %2$d wird zu merkwürdigen Ergebnissen führen"
#: msg.c:68
#, c-format
@@ -3449,12 +3260,8 @@ msgstr "In der »\\x«-Fluchtsequenz sind keine hexadezimalen Zahlen"
#: node.c:567
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
-msgstr ""
-"Die Hex-Sequenz \\x%.*s aus %d Zeichen wird wahrscheinlich nicht wie "
-"gewünscht interpretiert"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
+msgstr "Die Hex-Sequenz \\x%.*s aus %d Zeichen wird wahrscheinlich nicht wie gewünscht interpretiert"
#: node.c:582
#, c-format
@@ -3462,63 +3269,56 @@ msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "Fluchtsequenz »\\%c« wird wie ein normales »%c« behandelt"
#: node.c:726
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
-msgstr ""
-"Es wurden unbekannte Multibyte-Daten gefunden. Ihre Daten entsprechen "
-"neventuell nicht der gesetzten Locale"
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
+msgstr "Es wurden unbekannte Multibyte-Daten gefunden. Ihre Daten entsprechen neventuell nicht der gesetzten Locale"
#: posix/gawkmisc.c:177
#, c-format
msgid "%s %s `%s': could not get fd flags: (fcntl F_GETFD: %s)"
-msgstr ""
-"%s %s »%s«: Die Kennungen des Dateideskriptors konnten nicht abgefragt "
-"werden: (fcntl F_GETFD: %s)"
+msgstr "%s %s »%s«: Die Kennungen des Dateideskriptors konnten nicht abgefragt werden: (fcntl F_GETFD: %s)"
#: posix/gawkmisc.c:189
#, c-format
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
-msgstr ""
-"%s %s »%s«: close-on-exec konnte nicht gesetzt werden: (fcntl F_SETFD: %s)"
+msgstr "%s %s »%s«: close-on-exec konnte nicht gesetzt werden: (fcntl F_SETFD: %s)"
-#: profile.c:71
+#: profile.c:91
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "»%s« konnte nicht zum Schreiben geöffnet werden: %s"
-#: profile.c:73
+#: profile.c:93
msgid "sending profile to standard error"
msgstr "Das Profil wird auf der Standardfehlerausgabe ausgegeben"
-#: profile.c:193
-#, fuzzy, c-format
+#: profile.c:213
+#, c-format
msgid ""
"\t# %s rule(s)\n"
"\n"
msgstr ""
-"\t# Regeln(s)\n"
+"\t# %s Regel(n)\n"
"\n"
-#: profile.c:198
+#: profile.c:218
#, c-format
msgid ""
"\t# Rule(s)\n"
"\n"
msgstr ""
-"\t# Regeln(s)\n"
+"\t# Regel(n)\n"
"\n"
-#: profile.c:272
+#: profile.c:292
#, c-format
msgid "internal error: %s with null vname"
msgstr "Interner Fehler: %s mit null vname"
-#: profile.c:538
+#: profile.c:558
msgid "internal error: builtin with null fname"
msgstr "Interner Fehler: eingebaute Fuktion mit leerem fname"
-#: profile.c:958
+#: profile.c:978
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3527,12 +3327,12 @@ msgstr ""
"\t# Erweiterungen geladen (-l und/oder @load)\n"
"\n"
-#: profile.c:981
+#: profile.c:1001
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-Profil, erzeugt %s\n"
-#: profile.c:1521
+#: profile.c:1555
#, c-format
msgid ""
"\n"
@@ -3541,7 +3341,7 @@ msgstr ""
"\n"
"\t# Funktionen in alphabetischer Reihenfolge\n"
-#: profile.c:1559
+#: profile.c:1593
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: unbekannter Umlenkungstyp %d"
@@ -3549,8 +3349,7 @@ msgstr "redir2str: unbekannter Umlenkungstyp %d"
#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr ""
-"Regulärer-Ausdruck-Komponente »%.*s« sollte wahrscheinlich »[%.*s]« sein"
+msgstr "Regulärer-Ausdruck-Komponente »%.*s« sollte wahrscheinlich »[%.*s]« sein"
#: regcomp.c:139
msgid "Success"
@@ -3581,9 +3380,8 @@ msgid "Invalid back reference"
msgstr "Ungültige Rück-Referenz"
#: regcomp.c:160
-#, fuzzy
msgid "Unmatched [, [^, [:, [., or [="
-msgstr "[ oder [^ werden nicht geschlossen"
+msgstr "[, [^, [:, [., oder [= werden nicht geschlossen"
#: regcomp.c:163
msgid "Unmatched ( or \\("
@@ -3626,32 +3424,10 @@ msgid "No previous regular expression"
msgstr "Kein vorangehender regulärer Ausdruck"
#: symbol.c:677
-#, fuzzy, c-format
+#, c-format
msgid "function `%s': can't use function `%s' as a parameter name"
-msgstr "Funktion »%s«: Funktionsnamen können nicht als Parameternamen benutzen"
+msgstr "Funktion „%s“: Funktionsname „%s“ kann nicht als Parametername benutzt werden"
#: symbol.c:809
msgid "can not pop main context"
msgstr "der Hauptkontext kann nicht entfernt werden"
-
-#~ msgid "`getline var' invalid inside `%s' rule"
-#~ msgstr "»getline var« ist ungültig innerhalb der »%s«-Regel"
-
-#~ msgid "no (known) protocol supplied in special filename `%s'"
-#~ msgstr "Es wurde kein (bekanntes) Protokoll im Dateinamen »%s« angegeben"
-
-#~ msgid "special file name `%s' is incomplete"
-#~ msgstr "Der Dateiname »%s« ist unvollständig"
-
-#~ msgid "must supply a remote hostname to `/inet'"
-#~ msgstr "Sie müssen in /inet einen Rechnernamen angeben"
-
-#~ msgid "must supply a remote port to `/inet'"
-#~ msgstr "Sie müssen in »/inet« einen Port angeben"
-
-#~ msgid ""
-#~ "\t# %s block(s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\t# %s Blöcke\n"
-#~ "\n"
diff --git a/po/fi.po b/po/fi.po
index 96d03c23..015de1ea 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -1,14 +1,14 @@
# Finnish messages for gawk.
-# Copyright © 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+# Copyright © 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010-2014.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010-2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.1.0b\n"
+"Project-Id-Version: gawk 4.1.1d\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
-"POT-Creation-Date: 2015-02-26 20:05+0200\n"
-"PO-Revision-Date: 2014-01-16 13:32+0200\n"
+"POT-Creation-Date: 2015-04-16 17:16+0300\n"
+"PO-Revision-Date: 2015-04-17 01:28+0300\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.7.5\n"
#: array.c:256
#, c-format
@@ -38,7 +38,7 @@ msgid "attempt to use scalar `%s' as an array"
msgstr "yritettiin käyttää skalaaria ”%s” taulukkona"
#: array.c:409 array.c:576 builtin.c:85 builtin.c:1606 builtin.c:1652
-#: builtin.c:1665 builtin.c:2092 builtin.c:2106 eval.c:1149 eval.c:1153
+#: builtin.c:1665 builtin.c:2106 builtin.c:2120 eval.c:1149 eval.c:1153
#: eval.c:1558
#, c-format
msgid "attempt to use array `%s' in a scalar context"
@@ -76,27 +76,19 @@ msgstr "asorti: ensimmäinen argumentti ei ole taulukko"
#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asort: ensimmäisen argumentin alitaulukon käyttö toiselle argumentille "
-"epäonnistui"
+msgstr "asort: ensimmäisen argumentin alitaulukon käyttö toiselle argumentille epäonnistui"
#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asorti: ensimmäisen argumentin alitaulukon käyttö toiselle argumentille "
-"epäonnistui"
+msgstr "asorti: ensimmäisen argumentin alitaulukon käyttö toiselle argumentille epäonnistui"
#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asort: toisen argumentin alitaulukon käyttö ensimmäiselle argumentille "
-"epäonnistui"
+msgstr "asort: toisen argumentin alitaulukon käyttö ensimmäiselle argumentille epäonnistui"
#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asorti: toisen argumentin alitaulukon käyttö ensimmäiselle argumentille "
-"epäonnistui"
+msgstr "asorti: toisen argumentin alitaulukon käyttö ensimmäiselle argumentille epäonnistui"
#: array.c:1313
#, c-format
@@ -108,403 +100,396 @@ msgstr "”%s” on virheellinen funktionimenä"
msgid "sort comparison function `%s' is not defined"
msgstr "lajitteluvertailufunktiota ”%s” ei ole määritelty"
-#: awkgram.y:226
+#: awkgram.y:225
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s lohkoilla on oltava toiminto-osa"
-#: awkgram.y:229
+#: awkgram.y:228
msgid "each rule must have a pattern or an action part"
msgstr "jokaisella säännöllä on oltava malli tai toiminto-osa"
-#: awkgram.y:320 awkgram.y:331
+#: awkgram.y:319 awkgram.y:330
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "vanha awk ei tue useita ”BEGIN”- tai ”END”-sääntöjä"
-#: awkgram.y:368
+#: awkgram.y:367
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "”%s” on sisäänrakennettu funktio. Sitä ei voi määritellä uudelleen"
-#: awkgram.y:417
+#: awkgram.y:416
msgid "regexp constant `//' looks like a C++ comment, but is not"
-msgstr ""
-"säännöllisen lausekkeen vakio ”//” näyttää C++-kommentilta, mutta ei ole"
+msgstr "säännöllisen lausekkeen vakio ”//” näyttää C++-kommentilta, mutta ei ole"
-#: awkgram.y:421
+#: awkgram.y:420
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
-msgstr ""
-"säännöllisen lausekkeen vakio ”/%s/” näyttää C-kommentilta, mutta ei ole"
+msgstr "säännöllisen lausekkeen vakio ”/%s/” näyttää C-kommentilta, mutta ei ole"
-#: awkgram.y:513
+#: awkgram.y:512
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "kaksi samanlaista case-arvoa switch-rakenteen rungossa: %s"
-#: awkgram.y:534
+#: awkgram.y:533
msgid "duplicate `default' detected in switch body"
msgstr "kaksoiskappale ”default” havaittu switch-rungossa"
-#: awkgram.y:794 awkgram.y:3751
+#: awkgram.y:793 awkgram.y:3750
msgid "`break' is not allowed outside a loop or switch"
msgstr "”break” ei ole sallittu silmukan tai switch-lauseen ulkopuolella"
-#: awkgram.y:803 awkgram.y:3743
+#: awkgram.y:802 awkgram.y:3742
msgid "`continue' is not allowed outside a loop"
msgstr "”continue” ei ole sallittu silmukan ulkopuolella"
-#: awkgram.y:813
+#: awkgram.y:812
#, c-format
msgid "`next' used in %s action"
msgstr "”next” käytetty %s-toiminnossa"
-#: awkgram.y:822
+#: awkgram.y:821
#, c-format
msgid "`nextfile' used in %s action"
msgstr "”nextfile” käytetty %s-toiminnossa"
-#: awkgram.y:846
+#: awkgram.y:845
msgid "`return' used outside function context"
msgstr "”return” käytetty funktiokontekstin ulkopuolella"
-#: awkgram.y:920
+#: awkgram.y:919
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
-msgstr ""
-"pelkkä ”print” BEGIN- tai END-säännössä pitäisi luultavasti olla ”print \"\"”"
+msgstr "pelkkä ”print” BEGIN- tai END-säännössä pitäisi luultavasti olla ”print \"\"”"
-#: awkgram.y:986 awkgram.y:1035
+#: awkgram.y:985 awkgram.y:1034
msgid "`delete' is not allowed with SYMTAB"
msgstr "”delete” ei ole sallittu kohteessa SYMTAB"
-#: awkgram.y:988 awkgram.y:1037
+#: awkgram.y:987 awkgram.y:1036
msgid "`delete' is not allowed with FUNCTAB"
msgstr "”delete” ei ole sallittu kohteessa FUNCTAB"
-#: awkgram.y:1022 awkgram.y:1026
+#: awkgram.y:1021 awkgram.y:1025
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "”delete(array)” ei ole siirrettävä tawk-laajennus"
-#: awkgram.y:1147
+#: awkgram.y:1146
msgid "multistage two-way pipelines don't work"
msgstr "monivaiheiset kaksisuuntaiset putket eivät toimi"
-#: awkgram.y:1262
+#: awkgram.y:1261
msgid "regular expression on right of assignment"
msgstr "säännöllinen lauseke sijoituksen oikealla puolella"
-#: awkgram.y:1273
+#: awkgram.y:1272
msgid "regular expression on left of `~' or `!~' operator"
msgstr "säännöllinen lauseke ”~”- tai ”!~”-operaattorin vasemmalla puolella"
-#: awkgram.y:1289 awkgram.y:1431
+#: awkgram.y:1288 awkgram.y:1430
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "vanha awk ei tue avainsanaa ”in” paitsi ”for”-sanan jälkeen"
-#: awkgram.y:1299
+#: awkgram.y:1298
msgid "regular expression on right of comparison"
msgstr "säännöllinen lauseke vertailun oikealla puolella"
-#: awkgram.y:1411
+#: awkgram.y:1410
#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
msgstr "edelleenohjaamaton ”getline” virheellinen ”%s”-säännön sisällä"
-#: awkgram.y:1414
+#: awkgram.y:1413
msgid "non-redirected `getline' undefined inside END action"
msgstr "edelleenohjaamaton ”getline” määrittelemätön END-toiminnon sisällä"
-#: awkgram.y:1433
+#: awkgram.y:1432
msgid "old awk does not support multidimensional arrays"
msgstr "vanha awk ei tue moniulotteisia taulukkoja"
-#: awkgram.y:1530
+#: awkgram.y:1529
msgid "call of `length' without parentheses is not portable"
msgstr "”length”-kutsu ilman sulkumerkkejä ei ole siirrettävä"
-#: awkgram.y:1596
+#: awkgram.y:1595
msgid "indirect function calls are a gawk extension"
msgstr "epäsuorat funktiokutsut ovat gawk-laajennus"
-#: awkgram.y:1609
+#: awkgram.y:1608
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr "erikoismuuttujan ”%s” käyttö epäsuoralle funktiokutsulle epäonnistui"
-#: awkgram.y:1635
-#, fuzzy, c-format
+#: awkgram.y:1634
+#, c-format
msgid "attempt to use non-function `%s' in function call"
-msgstr "yritettiin käyttää funktiota ”%s” taulukkona"
+msgstr "yritys käyttää ei-funktio ”%s” funktiokutsussa"
-#: awkgram.y:1699
+#: awkgram.y:1698
msgid "invalid subscript expression"
msgstr "virheellinen indeksointilauseke"
-#: awkgram.y:2045 awkgram.y:2065 gawkapi.c:206 gawkapi.c:224 msg.c:126
+#: awkgram.y:2044 awkgram.y:2064 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "varoitus: "
-#: awkgram.y:2063 gawkapi.c:192 gawkapi.c:221 msg.c:158
+#: awkgram.y:2062 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "tuhoisa: "
-#: awkgram.y:2113
+#: awkgram.y:2112
msgid "unexpected newline or end of string"
msgstr "odottamaton rivinvaihto tai merkkijonon loppu"
-#: awkgram.y:2392 awkgram.y:2468 awkgram.y:2691 debug.c:523 debug.c:539
+#: awkgram.y:2391 awkgram.y:2467 awkgram.y:2690 debug.c:523 debug.c:539
#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "lähdetiedoston ”%s” avaaminen lukemista varten (%s) epäonnistui"
-#: awkgram.y:2393 awkgram.y:2518
+#: awkgram.y:2392 awkgram.y:2517
#, c-format
msgid "can't open shared library `%s' for reading (%s)"
msgstr "jaetun kirjaston ”%s” avaaminen lukemista varten (%s) epäonnistui"
-#: awkgram.y:2395 awkgram.y:2469 awkgram.y:2519 builtin.c:135 debug.c:5206
+#: awkgram.y:2394 awkgram.y:2468 awkgram.y:2518 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr "syy tuntematon"
-#: awkgram.y:2404 awkgram.y:2428
+#: awkgram.y:2403 awkgram.y:2427
#, c-format
msgid "can't include `%s' and use it as a program file"
msgstr "kohteen ”%s” sisällyttäminen ja käyttö ohjelmatiedostona epäonnistui"
-#: awkgram.y:2417
+#: awkgram.y:2416
#, c-format
msgid "already included source file `%s'"
msgstr "on jo sisällytetty lähdetiedostoon ”%s”"
-#: awkgram.y:2418
+#: awkgram.y:2417
#, c-format
msgid "already loaded shared library `%s'"
msgstr "jaettu kirjasto ”%s” on jo ladattu"
-#: awkgram.y:2453
+#: awkgram.y:2452
msgid "@include is a gawk extension"
msgstr "@include on gawk-laajennus"
-#: awkgram.y:2459
+#: awkgram.y:2458
msgid "empty filename after @include"
msgstr "tyhjä tiedostonimi @include:n jälkeen"
-#: awkgram.y:2503
+#: awkgram.y:2502
msgid "@load is a gawk extension"
msgstr "@load on gawk-laajennus"
-#: awkgram.y:2509
+#: awkgram.y:2508
msgid "empty filename after @load"
msgstr "tyhjä tiedostonimi @load:n jälkeen"
-#: awkgram.y:2643
+#: awkgram.y:2642
msgid "empty program text on command line"
msgstr "tyhjä ohjelmateksti komentorivillä"
-#: awkgram.y:2758
+#: awkgram.y:2757
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "lähdetiedoston ”%s” (%s) lukeminen epäonnistui"
-#: awkgram.y:2769
+#: awkgram.y:2768
#, c-format
msgid "source file `%s' is empty"
msgstr "lähdetiedosto ”%s” on tyhjä"
-#: awkgram.y:2828
+#: awkgram.y:2827
#, c-format
msgid "PEBKAC error: invalid character '\\%03o' in source code"
-msgstr ""
+msgstr "PEBKAC-virhe: virheellinen merkki ’\\%03o’ lähdekoodissa"
-#: awkgram.y:2959
+#: awkgram.y:2958
msgid "source file does not end in newline"
msgstr "lähdetiedoston lopussa ei ole rivinvaihtoa"
-#: awkgram.y:3062
+#: awkgram.y:3061
msgid "unterminated regexp ends with `\\' at end of file"
-msgstr ""
-"päättämätön säännöllinen lauseke loppuu ”\\”-merkkeihin tiedoston lopussa"
+msgstr "päättämätön säännöllinen lauseke loppuu ”\\”-merkkeihin tiedoston lopussa"
-#: awkgram.y:3089
+#: awkgram.y:3088
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "%s: %d: tawk:n regex-määre ”/.../%c” ei toimi gawk:ssa"
-#: awkgram.y:3093
+#: awkgram.y:3092
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "tawkin regex-määre ”/.../%c” ei toimi gawkissa"
-#: awkgram.y:3100
+#: awkgram.y:3099
msgid "unterminated regexp"
msgstr "päättämätön säännöllinen lauseke"
-#: awkgram.y:3104
+#: awkgram.y:3103
msgid "unterminated regexp at end of file"
msgstr "päättämätön säännöllinen lauseke tiedoston lopussa"
-#: awkgram.y:3162
+#: awkgram.y:3161
msgid "use of `\\ #...' line continuation is not portable"
msgstr "”\\ #...”-rivijatkamisen käyttö ei ole siirrettävä"
-#: awkgram.y:3178
+#: awkgram.y:3177
msgid "backslash not last character on line"
msgstr "kenoviiva ei ole rivin viimeinen merkki"
-#: awkgram.y:3239
+#: awkgram.y:3238
msgid "POSIX does not allow operator `**='"
msgstr "POSIX ei salli operaattoria ”**=”"
-#: awkgram.y:3241
+#: awkgram.y:3240
msgid "old awk does not support operator `**='"
msgstr "vanha awk ei tue operaattoria ”**=”"
-#: awkgram.y:3250
+#: awkgram.y:3249
msgid "POSIX does not allow operator `**'"
msgstr "POSIX ei salli operaattoria ”**”"
-#: awkgram.y:3252
+#: awkgram.y:3251
msgid "old awk does not support operator `**'"
msgstr "vanha awk ei tue operaattoria ”**”"
-#: awkgram.y:3287
+#: awkgram.y:3286
msgid "operator `^=' is not supported in old awk"
msgstr "operaattoria ”^=” ei tueta vanhassa awk:ssa"
-#: awkgram.y:3295
+#: awkgram.y:3294
msgid "operator `^' is not supported in old awk"
msgstr "operaattoria ”^” ei tueta vanhassa awk:ssa"
-#: awkgram.y:3392 awkgram.y:3410 command.y:1180
+#: awkgram.y:3391 awkgram.y:3409 command.y:1180
msgid "unterminated string"
msgstr "päättämätön merkkijono"
-#: awkgram.y:3631
+#: awkgram.y:3630
#, c-format
msgid "invalid char '%c' in expression"
msgstr "virheellinen merkki ’%c’ lausekkeessa"
-#: awkgram.y:3678
+#: awkgram.y:3677
#, c-format
msgid "`%s' is a gawk extension"
msgstr "”%s” on gawk-laajennus"
-#: awkgram.y:3683
+#: awkgram.y:3682
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX ei salli operaattoria ”%s”"
-#: awkgram.y:3691
+#: awkgram.y:3690
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "”%s” ei ole tuettu vanhassa awk-ohjelmassa"
-#: awkgram.y:3781
+#: awkgram.y:3780
msgid "`goto' considered harmful!\n"
msgstr "”goto”-käskyä pidetään haitallisena!\n"
-#: awkgram.y:3815
+#: awkgram.y:3814
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d on virheellinen argumenttilukumäärä operaattorille %s"
-#: awkgram.y:3850
+#: awkgram.y:3849
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
-msgstr ""
-"%s: merkkijonoliteraalilla ei ole vaikutusta korvauksen viimeisenä "
-"argumenttina"
+msgstr "%s: merkkijonoliteraalilla ei ole vaikutusta korvauksen viimeisenä argumenttina"
-#: awkgram.y:3855
+#: awkgram.y:3854
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s kolmas parametri ei ole vaihdettava objekti"
-#: awkgram.y:3938 awkgram.y:3941
+#: awkgram.y:3937 awkgram.y:3940
msgid "match: third argument is a gawk extension"
msgstr "match: kolmas argumentti on gawk-laajennus"
-#: awkgram.y:3995 awkgram.y:3998
+#: awkgram.y:3994 awkgram.y:3997
msgid "close: second argument is a gawk extension"
msgstr "close: toinen argumentti on gawk-laajennus"
-#: awkgram.y:4010
+#: awkgram.y:4009
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcgettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta"
-#: awkgram.y:4025
+#: awkgram.y:4024
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcngettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta"
-#: awkgram.y:4044
+#: awkgram.y:4043
msgid "index: regexp constant as second argument is not allowed"
-msgstr "index: regexp-vakio toisena argumenttina ei ole sallittu"
+msgstr "indeksi: regexp-vakio toisena argumenttina ei ole sallitttu"
-#: awkgram.y:4097
+#: awkgram.y:4096
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktio ”%s”: parametri ”%s” varjostaa yleismuuttujaa"
-#: awkgram.y:4154 debug.c:4041 debug.c:4084 debug.c:5204
+#: awkgram.y:4153 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "tiedoston ”%s” avaaminen kirjoittamista varten (%s) epäonnistui"
-#: awkgram.y:4155
+#: awkgram.y:4154
msgid "sending variable list to standard error"
msgstr "lähetetään muuttujaluettelo vakiovirheeseen"
-#: awkgram.y:4163
+#: awkgram.y:4162
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: sulkeminen epäonnistui (%s)"
-#: awkgram.y:4188
+#: awkgram.y:4187
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() kutsuttu kahdesti!"
-#: awkgram.y:4196
+#: awkgram.y:4195
msgid "there were shadowed variables."
msgstr "siellä oli varjostettuja muuttujia."
-#: awkgram.y:4267
+#: awkgram.y:4266
#, c-format
msgid "function name `%s' previously defined"
msgstr "funktionimi ”%s” on jo aikaisemmin määritelty"
-#: awkgram.y:4313
+#: awkgram.y:4312
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funktio ”%s”: funktionimen käyttö parametrinimenä epäonnistui"
-#: awkgram.y:4316
+#: awkgram.y:4315
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
-msgstr ""
-"funktio ”%s”: erikoismuuttujan ”%s” käyttö funktioparametrina epäonnistui"
+msgstr "funktio ”%s”: erikoismuuttujan ”%s” käyttö funktioparametrina epäonnistui"
-#: awkgram.y:4324
+#: awkgram.y:4323
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "funktio ”%s”: parametri #%d, ”%s”, samanlainen parametri #%d"
-#: awkgram.y:4411 awkgram.y:4417
+#: awkgram.y:4410 awkgram.y:4416
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktiota ”%s” kutsuttiin, mutta sitä ei ole koskaan määritelty"
-#: awkgram.y:4421
+#: awkgram.y:4420
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktio ”%s” määriteltiin, mutta sitä ei ole koskaan kutsuttu suoraan"
-#: awkgram.y:4453
+#: awkgram.y:4452
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "säännöllisen lausekkeen vakio parametrille #%d antaa boolean-arvon"
-#: awkgram.y:4468
+#: awkgram.y:4467
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -513,24 +498,23 @@ msgstr ""
"funktio ”%s” kutsuttu välilyönnillä nimen ja ”(”-merkin\n"
"välillä, tai käytetty muuttujana tai taulukkona"
-#: awkgram.y:4674
+#: awkgram.y:4673
msgid "division by zero attempted"
msgstr "nollalla jakoa yritettiin"
-#: awkgram.y:4683
+#: awkgram.y:4682
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "jakoa nollalla yritettiin operaattorissa ”%%”"
-#: awkgram.y:5003
-msgid ""
-"cannot assign a value to the result of a field post-increment expression"
-msgstr "arvon liittäminen kenttäjälkiaskelkasvatuslausekkeeseen epäonnistui"
+#: awkgram.y:5002
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr "arvon sijoittaminen kenttäjälkikasvatuslausekkeen tulokseen epäonnistui"
-#: awkgram.y:5006
+#: awkgram.y:5005
#, c-format
msgid "invalid target of assignment (opcode %s)"
-msgstr "virheellinen liittämiskohde (käskykoodi %s)"
+msgstr "virheellinen sijoituskohde (käskykoodi %s)"
# kohteena voi olla vakiotuloste tai joku muu
#: builtin.c:133
@@ -554,16 +538,12 @@ msgstr "exp: argumentti %g on lukualueen ulkopuolella"
#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
-msgstr ""
-"fflush: tyhjentäminen epäonnistui: putki ”%s” avattu lukemista varten, ei "
-"kirjoittamiseen"
+msgstr "fflush: tyhjentäminen epäonnistui: putki ”%s” avattu lukemista varten, ei kirjoittamiseen"
#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
-msgstr ""
-"fflush: tyhjentäminen epäonnistui: tiedosto ”%s” avattu lukemista varten, ei "
-"kirjoittamiseen"
+msgstr "fflush: tyhjentäminen epäonnistui: tiedosto ”%s” avattu lukemista varten, ei kirjoittamiseen"
#: builtin.c:244
#, c-format
@@ -633,9 +613,7 @@ msgstr "kohtalokas: argumenttilukumäärän argumentilla ”$” on oltava > 0"
#: builtin.c:898
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
-msgstr ""
-"kohtalokas: argumenttilukumäärä %ld on suurempi kuin toimitettujen "
-"argumenttien lukumäärä"
+msgstr "kohtalokas: argumenttilukumäärä %ld on suurempi kuin toimitettujen argumenttien lukumäärä"
#: builtin.c:902
msgid "fatal: `$' not permitted after period in format"
@@ -643,9 +621,7 @@ msgstr "kohtalokas: ”$”-argumentti ei ole sallittu pisteen jälkeen muodossa
#: builtin.c:921
msgid "fatal: no `$' supplied for positional field width or precision"
-msgstr ""
-"kohtalokas: ei ”$”-argumenttia tarjottu sijantikenttäleveydelle tai "
-"tarkkuudelle"
+msgstr "kohtalokas: ei ”$”-argumenttia tarjottu sijantikenttäleveydelle tai tarkkuudelle"
#: builtin.c:991
msgid "`l' is meaningless in awk formats; ignored"
@@ -672,14 +648,14 @@ msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "kohtalokas: ”h” ei ole sallittu POSIX awk -muodoissa"
#: builtin.c:1055
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is too big for %%c format"
-msgstr "[s]printf: arvo %g on lukualueen ulkopuolella ”%%%c”-muodolle"
+msgstr "[s]printf: arvo %g on liian suuri %%c-muodolle"
#: builtin.c:1068
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is not a valid wide character"
-msgstr "[s]printf: arvo %g on lukualueen ulkopuolella ”%%%c”-muodolle"
+msgstr "[s]printf: arvo %g ei ole kelvollinen leveä merkki"
#: builtin.c:1454
#, c-format
@@ -689,8 +665,7 @@ msgstr "[s]printf: arvo %g on lukualueen ulkopuolella ”%%%c”-muodolle"
#: builtin.c:1552
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"ohitetaan tuntematon muotoargumenttimerkki ”%c”: ei muunnettu argumenttia"
+msgstr "ohitetaan tuntematon muotoargumenttimerkki ”%c”: ei muunnettu argumenttia"
#: builtin.c:1557
msgid "fatal: not enough arguments to satisfy format string"
@@ -743,8 +718,7 @@ msgstr "substr: typistetään pituus %g, joka ei ole kokonaisluku"
#: builtin.c:1758
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
-msgstr ""
-"substr: pituus %g liian suuri merkkijononindeksointiin, typistetään arvoon %g"
+msgstr "substr: pituus %g liian suuri merkkijononindeksointiin, typistetään arvoon %g"
#: builtin.c:1770
#, c-format
@@ -767,201 +741,209 @@ msgstr "substr: aloitusindeksi %g on merkkijonon lopun jälkeen"
#: builtin.c:1820
#, c-format
-msgid ""
-"substr: length %g at start index %g exceeds length of first argument (%lu)"
-msgstr ""
-"substr: pituus %g alkuindeksissä %g ylittää ensimmäisen argumentin pituuden "
-"(%lu)"
+msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr "substr: pituus %g alkuindeksissä %g ylittää ensimmäisen argumentin pituuden (%lu)"
-#: builtin.c:1890
+#: builtin.c:1892
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
-msgstr ""
-"strftime: muotoarvolla kohteessa PROCINFO[\"strftime\"] on numerotyyppi"
+msgstr "strftime: muotoarvolla kohteessa PROCINFO[\"strftime\"] on numerotyyppi"
-#: builtin.c:1913
+#: builtin.c:1915
msgid "strftime: received non-numeric second argument"
msgstr "strftime: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:1917
+#: builtin.c:1924
msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr ""
-"strftime: toinen argumentti on pienempi kuin 0 tai liian suuri time_t-"
-"rakenteeseen"
+msgstr "strftime: toinen argumentti on pienempi kuin 0 tai liian suuri time_t-rakenteeseen"
-#: builtin.c:1924
+#: builtin.c:1928
+msgid "strftime: second argument out of range for time_t"
+msgstr "strftime: kohteen time_t toinen argumentti lukualueen ulkopuolella"
+
+#: builtin.c:1935
msgid "strftime: received non-string first argument"
msgstr "strftime: ensimmäinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:1931
+#: builtin.c:1942
msgid "strftime: received empty format string"
msgstr "strftime: vastaanotettu tyhjä muotomerkkijono"
-#: builtin.c:1997
+#: builtin.c:2011
msgid "mktime: received non-string argument"
msgstr "mktime: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2014
+#: builtin.c:2028
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: vähintään yksi arvoista on oletuslukualueen ulkopuolella"
-#: builtin.c:2049
+#: builtin.c:2063
msgid "'system' function not allowed in sandbox mode"
msgstr "’system’-funktio ei ole sallittu hiekkalaatikkotilassa"
-#: builtin.c:2054
+#: builtin.c:2068
msgid "system: received non-string argument"
msgstr "system: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2174
+#: builtin.c:2188
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "viite alustamattomaan kenttään ”$%d”"
-#: builtin.c:2259
+#: builtin.c:2273
msgid "tolower: received non-string argument"
msgstr "tolower: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2290
+#: builtin.c:2304
msgid "toupper: received non-string argument"
msgstr "toupper: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2323 mpfr.c:679
+#: builtin.c:2337 mpfr.c:679
msgid "atan2: received non-numeric first argument"
msgstr "atan2: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2325 mpfr.c:681
+#: builtin.c:2339 mpfr.c:681
msgid "atan2: received non-numeric second argument"
msgstr "atan2: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2344
+#: builtin.c:2358
msgid "sin: received non-numeric argument"
msgstr "sin: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2360
+#: builtin.c:2374
msgid "cos: received non-numeric argument"
msgstr "cos: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2413 mpfr.c:1176
+#: builtin.c:2427 mpfr.c:1176
msgid "srand: received non-numeric argument"
msgstr "srand: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2444
+#: builtin.c:2458
msgid "match: third argument is not an array"
msgstr "match: kolmas argumentti ei ole taulukko"
-#: builtin.c:2705
-#, fuzzy, c-format
+#: builtin.c:2719
+#, c-format
msgid "gensub: third argument `%.*s' treated as 1"
-msgstr "gensub: 0-arvoinen kolmas argumentti käsitellään kuin 1"
+msgstr "gensub: kolmatta argumenttia ”%.*s” käsiteltiin kuin 1:stä"
-#: builtin.c:2720
-#, fuzzy, c-format
+#: builtin.c:2734
+#, c-format
msgid "gensub: third argument %g treated as 1"
-msgstr "gensub: 0-arvoinen kolmas argumentti käsitellään kuin 1"
+msgstr "gensub: kolmas argumentti %g käsiteltiin kuin 1."
+
+#: builtin.c:3032
+#, c-format
+msgid "%s: can be called indirectly only with two arguments"
+msgstr "%s: voidaan kutsua epäsuorasti vain kahdella argumentilla"
+
+#: builtin.c:3122
+#, c-format
+msgid "indirect call to %s requires at least two arguments"
+msgstr "epäsuora kutsu kohteeseen %s vaatii vähintään kaksi argumenttia"
-#: builtin.c:3020
+#: builtin.c:3174
msgid "lshift: received non-numeric first argument"
msgstr "lshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3022
+#: builtin.c:3176
msgid "lshift: received non-numeric second argument"
msgstr "lshift: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3028
+#: builtin.c:3182
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:3030
+#: builtin.c:3184
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): jaosarvot typistetään"
-#: builtin.c:3032
+#: builtin.c:3186
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f): liian suuri siirrosarvo antaa outoja tuloksia"
-#: builtin.c:3057
+#: builtin.c:3211
msgid "rshift: received non-numeric first argument"
msgstr "rshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3059
+#: builtin.c:3213
msgid "rshift: received non-numeric second argument"
msgstr "rshift: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3065
+#: builtin.c:3219
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:3067
+#: builtin.c:3221
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): jaosarvot typistetään"
-#: builtin.c:3069
+#: builtin.c:3223
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f): liian suuri siirrosarvo antaa outoja tuloksia"
-#: builtin.c:3094 mpfr.c:988
+#: builtin.c:3248 mpfr.c:988
msgid "and: called with less than two arguments"
msgstr "and: kutsuttu vähemmällä kuin kahdella argumentilla"
-#: builtin.c:3099
+#: builtin.c:3253
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: argumentti %d ei ole numeeraaliargumentti"
-#: builtin.c:3103
+#: builtin.c:3257
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and: argumentin %d negatiivinen arvo %g antaa outoja tuloksia"
-#: builtin.c:3126 mpfr.c:1020
+#: builtin.c:3280 mpfr.c:1020
msgid "or: called with less than two arguments"
msgstr "or: kutsuttu vähemmällä kuin kahdella argumentilla"
-#: builtin.c:3131
+#: builtin.c:3285
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: argumentti %d ei ole numeraaliargumentti"
-#: builtin.c:3135
+#: builtin.c:3289
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or: argumentin %d negatiivinen arvo %g antaa outoja tuloksia"
-#: builtin.c:3157 mpfr.c:1051
+#: builtin.c:3311 mpfr.c:1051
msgid "xor: called with less than two arguments"
msgstr "xor: kutsuttu vähemmällä kuin kahdella argumentilla"
-#: builtin.c:3163
+#: builtin.c:3317
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: argumentti %d ei ole numeraaliargumentti"
-#: builtin.c:3167
+#: builtin.c:3321
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: argumentin %d negatiivinen arvo %g antaa outoja tuloksia"
-#: builtin.c:3192 mpfr.c:807
+#: builtin.c:3346 mpfr.c:807
msgid "compl: received non-numeric argument"
msgstr "compl: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3198
+#: builtin.c:3352
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): negatiivinen arvo antaa outoja tuloksia"
-#: builtin.c:3200
+#: builtin.c:3354
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): jaosarvo typistetään"
-#: builtin.c:3369
+#: builtin.c:3523
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: ”%s” ei ole kelvollinen paikallinen kategoria"
@@ -993,8 +975,7 @@ msgstr "save ”%s”: komento ei ole sallittu."
#: command.y:339
msgid "Can't use command `commands' for breakpoint/watchpoint commands"
-msgstr ""
-"Komennon ”commands” käyttö breakpoint/watchpoint-komentoja varten epäonnistui"
+msgstr "Komennon ”commands” käyttö breakpoint/watchpoint-komentoja varten epäonnistui"
#: command.y:341
msgid "no breakpoint/watchpoint has been set yet"
@@ -1068,36 +1049,24 @@ msgid "non-zero integer value"
msgstr "nollasta poikkeava kokonaislukuarvo"
#: command.y:817
-msgid ""
-"backtrace [N] - print trace of all or N innermost (outermost if N < 0) "
-"frames."
-msgstr ""
-"backtrace [N] - tulosta kaikkien tai N:n sisimmäisen (ulommaisin, jos N < 0) "
-"kehyksen jäljet."
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "backtrace [N] - tulosta kaikkien tai N:n sisimmäisen (ulommaisin, jos N < 0) kehyksen jäljet."
#: command.y:819
-msgid ""
-"break [[filename:]N|function] - set breakpoint at the specified location."
-msgstr ""
-"break [[filename:]N|function] - aseta breakpoint määriteltyyn sijaintiin."
+msgid "break [[filename:]N|function] - set breakpoint at the specified location."
+msgstr "break [[filename:]N|function] - aseta breakpoint määriteltyyn sijaintiin."
#: command.y:821
msgid "clear [[filename:]N|function] - delete breakpoints previously set."
-msgstr ""
-"clear [[filename:]N|function] - poista aiemmin asetetut breakpoint-kohdat."
+msgstr "clear [[filename:]N|function] - poista aiemmin asetetut breakpoint-kohdat."
#: command.y:823
-msgid ""
-"commands [num] - starts a list of commands to be executed at a "
-"breakpoint(watchpoint) hit."
-msgstr ""
-"commands [num] - aloittaa komentojen luettelon, joka suoritetaan "
-"keskeytyskohta(watchpoint)osumassa."
+msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit."
+msgstr "commands [num] - aloittaa komentojen luettelon, joka suoritetaan keskeytyskohta(watchpoint)osumassa."
#: command.y:825
msgid "condition num [expr] - set or clear breakpoint or watchpoint condition."
-msgstr ""
-"condition num [expr] - aseta tai nollaa keskeytyskohta- tai vahtikohtaehdot."
+msgstr "condition num [expr] - aseta tai nollaa keskeytyskohta- tai vahtikohtaehdot."
#: command.y:827
msgid "continue [COUNT] - continue program being debugged."
@@ -1105,19 +1074,15 @@ msgstr "continue [COUNT] - continue program being debugged."
#: command.y:829
msgid "delete [breakpoints] [range] - delete specified breakpoints."
-msgstr ""
-"delete [keskeytyskohdat] [lukualue] - poista määritellyt keskeytyskohdat."
+msgstr "delete [keskeytyskohdat] [lukualue] - poista määritellyt keskeytyskohdat."
#: command.y:831
msgid "disable [breakpoints] [range] - disable specified breakpoints."
-msgstr ""
-"disable [keskeytyskohdat] [lukualue] - ota pois käytöstä määritellyt "
-"keskeytyskohdat."
+msgstr "disable [keskeytyskohdat] [lukualue] - ota pois käytöstä määritellyt keskeytyskohdat."
#: command.y:833
msgid "display [var] - print value of variable each time the program stops."
-msgstr ""
-"display [muuttuja] - tulosta muuttujan arvo joka kerta kun ohjelma pysähtyy."
+msgstr "display [muuttuja] - tulosta muuttujan arvo joka kerta kun ohjelma pysähtyy."
#: command.y:835
msgid "down [N] - move N frames down the stack."
@@ -1129,9 +1094,7 @@ msgstr "dump [tiedostonimi] - vedosta käskyt tiedostoon tai vakiotulosteeseen."
#: command.y:839
msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints."
-msgstr ""
-"enable [once|del] [keskeytyskohdat] [lukualue] - ota käyttöön määritellyt "
-"keskeytyskohdat."
+msgstr "enable [once|del] [keskeytyskohdat] [lukualue] - ota käyttöön määritellyt keskeytyskohdat."
#: command.y:841
msgid "end - end a list of commands or awk statements."
@@ -1155,32 +1118,23 @@ msgstr "help [komento] - tulosta komentoluettelo tai komennon selitys."
#: command.y:851
msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
-msgstr ""
-"ignore N COUNT - aseta keskeytyskohdan ignore-count numero N arvoon COUNT."
+msgstr "ignore N COUNT - aseta keskeytyskohdan ignore-count numero N arvoon COUNT."
#: command.y:853
-msgid ""
-"info topic - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
-msgstr ""
-"info aihe - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
+msgid "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
+msgstr "info aihe - source|sources|variables|functions|break|frame|args|locals|display|watch."
#: command.y:855
msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
-msgstr ""
-"list [-|+|[tiedostonimi:]rivinumero|funktio|lukualue] - luettele määritellyt "
-"rivit."
+msgstr "list [-|+|[tiedostonimi:]rivinumero|funktio|lukualue] - luettele määritellyt rivit."
#: command.y:857
msgid "next [COUNT] - step program, proceeding through subroutine calls."
msgstr "next [COUNT] - askella ohjelmaa, etene alirutiinikutsujen kautta."
#: command.y:859
-msgid ""
-"nexti [COUNT] - step one instruction, but proceed through subroutine calls."
-msgstr ""
-"nexti [COUNT] - askella yksi käsky, mutta etene alirutiinikutsujen kautta."
+msgid "nexti [COUNT] - step one instruction, but proceed through subroutine calls."
+msgstr "nexti [COUNT] - askella yksi käsky, mutta etene alirutiinikutsujen kautta."
#: command.y:861
msgid "option [name[=value]] - set or display debugger option(s)."
@@ -1215,11 +1169,8 @@ msgid "set var = value - assign value to a scalar variable."
msgstr "set var = arvo - liitä arvo skalaarimuuttujaan."
#: command.y:879
-msgid ""
-"silent - suspends usual message when stopped at a breakpoint/watchpoint."
-msgstr ""
-"silent - pysäyttää tavallisen viestin kun pysähdytään katkaisukohdassa/"
-"vahtipisteessä."
+msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint."
+msgstr "silent - pysäyttää tavallisen viestin kun pysähdytään katkaisukohdassa/vahtipisteessä."
#: command.y:881
msgid "source file - execute commands from file."
@@ -1227,8 +1178,7 @@ msgstr "source file - suorita komennot tiedostosta."
#: command.y:883
msgid "step [COUNT] - step program until it reaches a different source line."
-msgstr ""
-"step [COUNT] - askella ohjelmaa, kunnes se saavuttaa eri lähdekoodirivin."
+msgstr "step [COUNT] - askella ohjelmaa, kunnes se saavuttaa eri lähdekoodirivin."
#: command.y:885
msgid "stepi [COUNT] - step one instruction exactly."
@@ -1247,12 +1197,8 @@ msgid "undisplay [N] - remove variable(s) from automatic display list."
msgstr "undisplay [N] - poista muuttuja(t) automaattisesta näyttöluettelosta."
#: command.y:893
-msgid ""
-"until [[filename:]N|function] - execute until program reaches a different "
-"line or line N within current frame."
-msgstr ""
-"until [[tiedostonimi:]N|funktio] - suorita kunnes ohjelma tavoittaa eri "
-"rivin tai rivin N nykyisen kehyksen sisällä."
+msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame."
+msgstr "until [[tiedostonimi:]N|funktio] - suorita kunnes ohjelma tavoittaa eri rivin tai rivin N nykyisen kehyksen sisällä."
#: command.y:895
msgid "unwatch [N] - remove variable(s) from watch list."
@@ -1267,13 +1213,8 @@ msgid "watch var - set a watchpoint for a variable."
msgstr "watch muuttuja - aseta vahtikohta muuttujalle."
#: command.y:901
-#, fuzzy
-msgid ""
-"where [N] - (same as backtrace) print trace of all or N innermost (outermost "
-"if N < 0) frames."
-msgstr ""
-"backtrace [N] - tulosta kaikkien tai N:n sisimmäisen (ulommaisin, jos N < 0) "
-"kehyksen jäljet."
+msgid "where [N] - (same as backtrace) print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "missä [N] - (sama kuin paluujälki) tulostaa kaikkien tai N-sisimmäisen (ulommaisen jos N < 0) kehyksen jäljen."
#: command.y:1013 debug.c:401 msg.c:135
#, c-format
@@ -1331,8 +1272,7 @@ msgstr "aseta tai näytä vianjäljittäjäkehote."
#: debug.c:260
msgid "(un)set or show saving of command history (value=on|off)."
-msgstr ""
-"aseta, poista asetus tai näytä komentohistoriatallennus (value=on|off)."
+msgstr "aseta, poista asetus tai näytä komentohistoriatallennus (value=on|off)."
#: debug.c:262
msgid "(un)set or show saving of options (value=on|off)."
@@ -1368,9 +1308,7 @@ msgstr "lähdetiedostoa nimeltä ”%s” (%s) ei kyetä lukemaan"
#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
-msgstr ""
-"VAROITUS: lähdekooditiedostoa ”%s” on muokattu ohjelman kääntämisen "
-"jälkeen.\n"
+msgstr "VAROITUS: lähdekooditiedostoa ”%s” on muokattu ohjelman kääntämisen jälkeen.\n"
#: debug.c:551
#, c-format
@@ -1380,14 +1318,12 @@ msgstr "rivinumero %d lukualueen ulkopuolella; kohteessa ”%s” on %d riviä"
#: debug.c:611
#, c-format
msgid "unexpected eof while reading file `%s', line %d"
-msgstr ""
-"odottamaton eof-tiedostonloppumerkki luettaessa tiedostoa ”%s”, rivi %d"
+msgstr "odottamaton eof-tiedostonloppumerkki luettaessa tiedostoa ”%s”, rivi %d"
#: debug.c:620
#, c-format
msgid "source file `%s' modified since start of program execution"
-msgstr ""
-"lähdekooditiedostoa ”%s” on muokattu ohjelman suorituksen aloituksen jälkeen"
+msgstr "lähdekooditiedostoa ”%s” on muokattu ohjelman suorituksen aloituksen jälkeen"
#: debug.c:732
#, c-format
@@ -1568,8 +1504,7 @@ msgstr "yritettiin käyttää skalaariarvoa taulukkona"
#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
-msgstr ""
-"Watchpoint %d poistettiin, koska parametri on lukualueen ulkopuolella.\n"
+msgstr "Watchpoint %d poistettiin, koska parametri on lukualueen ulkopuolella.\n"
#: debug.c:1867
#, c-format
@@ -1603,29 +1538,22 @@ msgstr "virheellinen kehysnumero"
#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Huomaa: keskeytyskohta %d (otettu käyttöön, ohita seuraavat %ld osumaa), "
-"asetettu myös osoitteessa %s:%d"
+msgstr "Huomaa: keskeytyskohta %d (otettu käyttöön, ohita seuraavat %ld osumaa), asetettu myös osoitteessa %s:%d"
#: debug.c:2207
#, c-format
msgid "Note: breakpoint %d (enabled), also set at %s:%d"
-msgstr ""
-"Huomaa: keskeytyskohta %d (otettu käyttöön), asetettu myös kohdassa %s:%d"
+msgstr "Huomaa: keskeytyskohta %d (otettu käyttöön), asetettu myös kohdassa %s:%d"
#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Huomaa: keskeytyskohta %d (otettu pois käytöstä, ohita seuraavat %ld "
-"osumaa), asetettu myös kohdassa %s:%d"
+msgstr "Huomaa: keskeytyskohta %d (otettu pois käytöstä, ohita seuraavat %ld osumaa), asetettu myös kohdassa %s:%d"
#: debug.c:2221
#, c-format
msgid "Note: breakpoint %d (disabled), also set at %s:%d"
-msgstr ""
-"Huomaa: keskeytyskohta %d (otettu pois käytöstä), asetettu myös kohdassa %s:"
-"%d"
+msgstr "Huomaa: keskeytyskohta %d (otettu pois käytöstä), asetettu myös kohdassa %s:%d"
#: debug.c:2238
#, c-format
@@ -1702,8 +1630,7 @@ msgstr "Pysähtyy seuraavalla kerralla kun keskeytyskohta %d saavutetaan.\n"
#: debug.c:2783
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
-msgstr ""
-"Vain ohjelmia, jotka tarjoavat valitsimen ”-f”, voidaan vikajäljittää.\n"
+msgstr "Vain ohjelmia, jotka tarjoavat valitsimen ”-f”, voidaan vikajäljittää.\n"
#: debug.c:2908
#, c-format
@@ -1727,8 +1654,7 @@ msgstr "virhe: uudelleenkäynnistys epäonnistui, toiminto ei ole sallittu\n"
#: debug.c:2942
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
-msgstr ""
-"virhe (%s): uudelleenkäynnistys epäonnistui, loput komennot ohitetaan\n"
+msgstr "virhe (%s): uudelleenkäynnistys epäonnistui, loput komennot ohitetaan\n"
#: debug.c:2950
#, c-format
@@ -1762,8 +1688,7 @@ msgstr "Ohittaa seuraavat %ld keskeytyskohdan %d ylitystä.\n"
#: debug.c:3207
#, c-format
msgid "'finish' not meaningful in the outermost frame main()\n"
-msgstr ""
-"’finish’ ei ole merkityksellinen ulommaisen kehyksen main()-funktiossa\n"
+msgstr "’finish’ ei ole merkityksellinen ulommaisen kehyksen main()-funktiossa\n"
#: debug.c:3212
#, c-format
@@ -1773,8 +1698,7 @@ msgstr "Suorita kunnes paluu kohteesta "
#: debug.c:3255
#, c-format
msgid "'return' not meaningful in the outermost frame main()\n"
-msgstr ""
-"’return’ ei ole merkityksellinen ulommaisen kehyksen main()-funktiossa\n"
+msgstr "’return’ ei ole merkityksellinen ulommaisen kehyksen main()-funktiossa\n"
#: debug.c:3369
#, c-format
@@ -1870,14 +1794,12 @@ msgid "unfinished \\ escape"
msgstr "päättymätön \\-koodinvaihtomerkki"
#: dfa.c:1474
-#, fuzzy
msgid "invalid content of \\{\\}"
-msgstr "Virheellinen \\{\\}-sisältö"
+msgstr "virheellinen \\{\\}-sisältö"
#: dfa.c:1477
-#, fuzzy
msgid "regular expression too big"
-msgstr "Säännöllinen lauseke on liian iso"
+msgstr "säännöllinen lauseke on liian suuri"
#: dfa.c:1912
msgid "unbalanced ("
@@ -2009,10 +1931,8 @@ msgstr "load_ext: kirjaston ”%s” (%s) avaus epäonnistui\n"
#: ext.c:80
#, c-format
-msgid ""
-"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
-msgstr ""
-"load_ext: kirjasto ”%s”: ei määrittele ”plugin_is_GPL_compatible” (%s)\n"
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgstr "load_ext: kirjasto ”%s”: ei määrittele ”plugin_is_GPL_compatible” (%s)\n"
#: ext.c:86
#, c-format
@@ -2030,7 +1950,7 @@ msgstr "”extension” on gawk-laajennus"
#: ext.c:153
msgid "extension: received NULL lib_name"
-msgstr "extension: vastaanotettiin NULL lib_name"
+msgstr "laajennos: vastaantotettu NULL lib_name"
#: ext.c:156
#, c-format
@@ -2039,10 +1959,8 @@ msgstr "extension: kirjaston ”%s” (%s) avaus epäonnistui"
#: ext.c:162
#, c-format
-msgid ""
-"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
-msgstr ""
-"extension: kirjasto ”%s”: ei määrittele ”plugin_is_GPL_compatible” (%s)"
+msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
+msgstr "extension: kirjasto ”%s”: ei määrittele ”plugin_is_GPL_compatible” (%s)"
#: ext.c:166
#, c-format
@@ -2071,9 +1989,7 @@ msgstr "make_builtin: funktionimi ”%s” on määritelty jo aiemmin"
#: ext.c:222
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
-msgstr ""
-"make_builtin: gawk-ohjelman sisäisen muuttujanimen ”%s” käyttö funktionimenä "
-"epäonnistui"
+msgstr "make_builtin: gawk-ohjelman sisäisen muuttujanimen ”%s” käyttö funktionimenä epäonnistui"
#: ext.c:225 ext.c:280
#, c-format
@@ -2107,9 +2023,7 @@ msgstr "extension: funktionimi ”%s” on määritelty jo aiemmin"
#: ext.c:277
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr ""
-"extension: gawk-ohjelman sisäisen muuttujanimen käyttö ”%s” funktionimenä "
-"epäonnistui"
+msgstr "extension: gawk-ohjelman sisäisen muuttujanimen käyttö ”%s” funktionimenä epäonnistui"
#: ext.c:351
#, c-format
@@ -2278,21 +2192,16 @@ msgstr "inplace_begin: kohdallaanmuokkaus on jo aktivoitu"
#: extension/inplace.c:133 extension/inplace.c:210
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
-msgstr ""
-"inplace_begin: odotetaan 2 argumenttia, mutta kutsussa oli %d argumenttia"
+msgstr "inplace_begin: odotetaan 2 argumenttia, mutta kutsussa oli %d argumenttia"
#: extension/inplace.c:136
msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
-msgstr ""
-"inplace_begin: ensimmäisen argumentin noutaminen merkkijonotiedostonimenä "
-"epäonnistui"
+msgstr "inplace_begin: ensimmäisen argumentin noutaminen merkkijonotiedostonimenä epäonnistui"
#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
-msgstr ""
-"inplace_begin: ottaen pois käytöstä virheellisen TIEDOSTONIMI ”%s” "
-"muokkauksen"
+msgstr "inplace_begin: ottaen pois käytöstä virheellisen TIEDOSTONIMI ”%s” muokkauksen"
#: extension/inplace.c:151
#, c-format
@@ -2331,9 +2240,7 @@ msgstr "inplace_begin: close(%d) epäonnistui (%s)"
#: extension/inplace.c:213
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
-msgstr ""
-"inplace_end: ensimmäisen argumentin noutaminen merkkijonotiedostonimenä "
-"epäonnistui"
+msgstr "inplace_end: ensimmäisen argumentin noutaminen merkkijonotiedostonimenä epäonnistui"
#: extension/inplace.c:220
msgid "inplace_end: in-place editing not active"
@@ -2403,7 +2310,7 @@ msgstr "readfile: kutsuttu ilman argumentteja"
#: extension/revoutput.c:125
msgid "revoutput: could not initialize REVOUT variable"
-msgstr ""
+msgstr "revoutput: REVOUT-muuttujan alustaminen epäonnistui"
#: extension/rwarray.c:124 extension/rwarray0.c:109
msgid "writea: called with too many arguments"
@@ -2495,20 +2402,15 @@ msgstr "split: toinen argumentti ei ole taulukko"
#: field.c:980
msgid "split: cannot use the same array for second and fourth args"
-msgstr ""
-"split: saman taulukon käyttö toiselle ja neljännelle argumentille epäonnistui"
+msgstr "split: saman taulukon käyttö toiselle ja neljännelle argumentille epäonnistui"
#: field.c:985
msgid "split: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"split: toisen argumentin käyttö alitaulukkoa neljännelle argumentille "
-"epäonnistui"
+msgstr "split: toisen argumentin käyttö alitaulukkoa neljännelle argumentille epäonnistui"
#: field.c:988
msgid "split: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"split: neljännen argumentin käyttö alitaulukkoa toiselle argumentille "
-"epäonnistui"
+msgstr "split: neljännen argumentin käyttö alitaulukkoa toiselle argumentille epäonnistui"
#: field.c:1019
msgid "split: null string for third arg is a gawk extension"
@@ -2528,21 +2430,15 @@ msgstr "patsplit: kolmas argumentti ei ole taulukko"
#: field.c:1074
msgid "patsplit: cannot use the same array for second and fourth args"
-msgstr ""
-"patsplit: saman taulukon käyttö toiselle ja neljännelle argumentille "
-"epäonnistui"
+msgstr "patsplit: saman taulukon käyttö toiselle ja neljännelle argumentille epäonnistui"
#: field.c:1079
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"patsplit: toisen argumentin käyttö alitaulukkkoa neljännelle argumentille "
-"epäonnistui"
+msgstr "patsplit: toisen argumentin käyttö alitaulukkkoa neljännelle argumentille epäonnistui"
#: field.c:1082
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"patsplit: neljännen argumentin käyttö alitaulukkoa toiselle argumentille "
-"epäonnistui"
+msgstr "patsplit: neljännen argumentin käyttö alitaulukkoa toiselle argumentille epäonnistui"
#: field.c:1120
msgid "`FIELDWIDTHS' is a gawk extension"
@@ -2682,9 +2578,7 @@ msgstr "lausekkeella ”%s”-uudelleenohjauksessa on null-merkkijonoarvo"
#: io.c:794
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
-msgstr ""
-"tiedostonimi ”%s” ”%s”-uudelleenohjaukselle saattaa olla loogisen lausekkeen "
-"tulos"
+msgstr "tiedostonimi ”%s” ”%s”-uudelleenohjaukselle saattaa olla loogisen lausekkeen tulos"
#: io.c:842
#, c-format
@@ -2704,8 +2598,7 @@ msgstr "putken ”%s” avaaminen syötteelle (%s) epäonnistui"
#: io.c:937
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
-msgstr ""
-"kaksisuuntaisen putken ”%s” avaaminen syötteelle/tulosteelle (%s) epäonnistui"
+msgstr "kaksisuuntaisen putken ”%s” avaaminen syötteelle/tulosteelle (%s) epäonnistui"
#: io.c:1019
#, c-format
@@ -2718,11 +2611,8 @@ msgid "can't redirect to `%s' (%s)"
msgstr "uudelleenohjaus putkeen ”%s” (%s) epäonnistui"
#: io.c:1073
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"saavutettiin avoimien tiedostojen järjestelmäraja: aloitetaan "
-"tiedostomäärittelijöiden lomittaminen"
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "saavutettiin avoimien tiedostojen järjestelmäraja: aloitetaan tiedostomäärittelijöiden lomittaminen"
#: io.c:1089
#, c-format
@@ -2749,9 +2639,7 @@ msgstr "suljettiin uudelleenohjaus, jota ei avattu koskaan"
#: io.c:1238
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: uudelleenohjaus ”%s” ei ole avattu operaattoreilla ”|&”, toinen "
-"argumentti ohitettu"
+msgstr "close: uudelleenohjaus ”%s” ei ole avattu operaattoreilla ”|&”, toinen argumentti ohitettu"
#: io.c:1255
#, c-format
@@ -2783,12 +2671,12 @@ msgstr "putken ”%s” eksplisiittistä sulkemista ei tarjota"
msgid "no explicit close of file `%s' provided"
msgstr "tiedoston ”%s” eksplisiittistä sulkemista ei tarjota"
-#: io.c:1317 io.c:1375 main.c:628 main.c:670
+#: io.c:1317 io.c:1375 main.c:632 main.c:674
#, c-format
msgid "error writing standard output (%s)"
msgstr "virhe kirjoitettaessa vakiotulosteeseen (%s)"
-#: io.c:1322 io.c:1381 main.c:630
+#: io.c:1322 io.c:1381 main.c:634
#, c-format
msgid "error writing standard error (%s)"
msgstr "virhe kirjoitettaessa vakiovirheeseen (%s)"
@@ -2818,161 +2706,144 @@ msgstr "paikallinen portti %s virheellinen pistokkeessa ”/inet”"
msgid "remote host and port information (%s, %s) invalid"
msgstr "etäkone- ja porttitiedot (%s, %s) ovat virheellisiä"
-#: io.c:1673
+#: io.c:1699
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-viestintää ei tueta"
-#: io.c:1854
+#: io.c:1880
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "laitteen ”%s” avaus epäonnistui, tila ”%s”"
-#: io.c:1904
+#: io.c:1930
#, c-format
msgid "close of master pty failed (%s)"
msgstr "”master pty”-sulkeminen epäonnistui (%s)"
-#: io.c:1906 io.c:2092 io.c:2293
+#: io.c:1932 io.c:2118 io.c:2319
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "vakiotulosteen sulkeminen lapsiprosessissa epäonnistui (%s)"
-#: io.c:1909
+#: io.c:1935
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
-msgstr ""
-"”slave pty”:n siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui "
-"(dup: %s)"
+msgstr "”slave pty”:n siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:1911 io.c:2097
+#: io.c:1937 io.c:2123
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "vakiosyötteen sulkeminen lapsiprosessissa epäonnistui (%s)"
-#: io.c:1914
+#: io.c:1940
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
-msgstr ""
-"”slave pty”:n siirtäminen vakiosyötteeseen lapsiprosessissa epäonnistui "
-"(dup: %s)"
+msgstr "”slave pty”:n siirtäminen vakiosyötteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:1916 io.c:1938
+#: io.c:1942 io.c:1964
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "”slave pty”:n sulkeminen epäonnistui (%s)"
-#: io.c:2027 io.c:2095 io.c:2264 io.c:2296
+#: io.c:2053 io.c:2121 io.c:2290 io.c:2322
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
-msgstr ""
-"putken siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)"
+msgstr "putken siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:2034 io.c:2100
+#: io.c:2060 io.c:2126
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
-msgstr ""
-"putken siirtäminen vakiosyötteeseen lapsiprosessissa epäonnistui (dup: %s)"
+msgstr "putken siirtäminen vakiosyötteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:2060 io.c:2286
+#: io.c:2086 io.c:2312
msgid "restoring stdout in parent process failed\n"
msgstr "vakiotulosteen palauttaminen äitiprosessissa epäonnistui\n"
-#: io.c:2068
+#: io.c:2094
msgid "restoring stdin in parent process failed\n"
msgstr "vakiosyötön palauttaminen äitiprosessissa epäonnistui\n"
-#: io.c:2103 io.c:2298 io.c:2313
+#: io.c:2129 io.c:2324 io.c:2339
#, c-format
msgid "close of pipe failed (%s)"
msgstr "putken sulkeminen epäonnistui (%s)"
-#: io.c:2162
+#: io.c:2188
msgid "`|&' not supported"
msgstr "”|&” ei tueta"
-#: io.c:2249
+#: io.c:2275
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "putken ”%s” (%s) avaaminen epäonnistui"
-#: io.c:2307
+#: io.c:2333
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "lapsiprosessin luominen komennolle ”%s” (fork: %s) epäonnistui"
-#: io.c:2734
+#: io.c:2760
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser: vastaanotettiin NULL-osoitin"
-#: io.c:2762
+#: io.c:2788
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
-msgstr ""
-"syötejäsennin ”%s” on ristiriidassa aiemmin asennetun syötejäsentimen ”%s” "
-"kanssa"
+msgstr "syötejäsennin ”%s” on ristiriidassa aiemmin asennetun syötejäsentimen ”%s” kanssa"
-#: io.c:2769
+#: io.c:2795
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "syötejäsentäjä ”%s” epäonnistui kohteen ”%s” avaamisessa"
-#: io.c:2789
+#: io.c:2815
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper: vastaanotti NULL-osoittimen"
-#: io.c:2817
+#: io.c:2843
#, c-format
-msgid ""
-"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
-msgstr ""
-"tulostekäärin ”%s” on ristiriidassa aiemmin asennetun tulostekäärimen ”%s” "
-"kanssa"
+msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
+msgstr "tulostekäärin ”%s” on ristiriidassa aiemmin asennetun tulostekäärimen ”%s” kanssa"
-#: io.c:2824
+#: io.c:2850
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "tulostekäärin ”%s” epäonnistui avaamaan ”%s”"
-#: io.c:2845
+#: io.c:2871
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor: vastaanotti NULL-osoittimen"
-#: io.c:2874
+#: io.c:2900
#, c-format
-msgid ""
-"two-way processor `%s' conflicts with previously installed two-way processor "
-"`%s'"
-msgstr ""
-"kaksisuuntainen prosessori ”%s” on ristiriidassa aiemmin asennetun "
-"kaksisuuntaisen prosessorin ”%s” kanssa"
+msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
+msgstr "kaksisuuntainen prosessori ”%s” on ristiriidassa aiemmin asennetun kaksisuuntaisen prosessorin ”%s” kanssa"
-#: io.c:2883
+#: io.c:2909
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "kaksisuuntainen prosessori ”%s” epäonnistui avaamaan ”%s”"
-#: io.c:3008
+#: io.c:3034
#, c-format
msgid "data file `%s' is empty"
msgstr "data-tiedosto ”%s” on tyhjä"
-#: io.c:3050 io.c:3058
+#: io.c:3076 io.c:3084
msgid "could not allocate more input memory"
msgstr "lisäsyötemuistin varaus epäonnistui"
-#: io.c:3636
+#: io.c:3662
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "”RS”-monimerkkiarvo on gawk-laajennus"
-#: io.c:3783
+#: io.c:3809
msgid "IPv6 communication is not supported"
msgstr "IPv6-viestintää ei tueta"
#: main.c:321
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
-msgstr ""
-"ympäristömuuttuja ”POSIXLY_CORRECT” asetettu: käännetään päälle valitsin ”--"
-"posix”"
+msgstr "ympäristömuuttuja ”POSIXLY_CORRECT” asetettu: käännetään päälle valitsin ”--posix”"
#: main.c:327
msgid "`--posix' overrides `--traditional'"
@@ -2980,8 +2851,7 @@ msgstr "valitsin ”--posix” korvaa valitsimen ”--traditional”"
#: main.c:338
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
-msgstr ""
-"valitsin ”--posix” tai ”--traditional” korvaa valitsimen ”--non-decimal-data”"
+msgstr "valitsin ”--posix” tai ”--traditional” korvaa valitsimen ”--non-decimal-data”"
#: main.c:342
#, c-format
@@ -3014,16 +2884,12 @@ msgstr "ei ohjelmatekstiä ollenkaan!"
#: main.c:563
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
-msgstr ""
-"Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] -f ohjelmatiedosto [--] "
-"tiedosto ...\n"
+msgstr "Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] -f ohjelmatiedosto [--] tiedosto ...\n"
#: main.c:565
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
-msgstr ""
-"Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] [--] %cohjelma%c "
-"tiedosto ...\n"
+msgstr "Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] [--] %cohjelma%c tiedosto ...\n"
#: main.c:570
msgid "POSIX options:\t\tGNU long options: (standard)\n"
@@ -3089,60 +2955,62 @@ msgstr "\t-i include-tiedosto\t\t--include=include-tiedosto\n"
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l kirjasto\t\t--load=kirjasto\n"
-#: main.c:586
-#, fuzzy
+#. TRANSLATORS: the "fatal" and "invalid" here are literal
+#. values, they should not be translated. Thanks.
+#.
+#: main.c:590
msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
-msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
+msgstr "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
-#: main.c:587
+#: main.c:591
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:588
+#: main.c:592
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:589
+#: main.c:593
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:590
+#: main.c:594
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[tiedosto]\t\t--pretty-print[=tiedosto]\n"
-#: main.c:591
+#: main.c:595
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:592
+#: main.c:596
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[tiedosto]\t\t--profile[=tiedosto]\n"
-#: main.c:593
+#: main.c:597
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:594
+#: main.c:598
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:595
+#: main.c:599
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:596
+#: main.c:600
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:597
+#: main.c:601
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:599
+#: main.c:603
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:602
+#: main.c:606
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3151,7 +3019,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:611
+#: main.c:615
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3159,12 +3027,11 @@ msgid ""
"\n"
msgstr ""
"\n"
-"Virheiden ilmoittamista varten, katso solmua ”Bugs” tiedostossa ”gawk."
-"info”,\n"
+"Virheiden ilmoittamista varten, katso solmua ”Bugs” tiedostossa ”gawk.info”,\n"
"joka on kappale ”Reporting Problems and Bugs” painetussa versiossa.\n"
"\n"
-#: main.c:615
+#: main.c:619
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3174,7 +3041,7 @@ msgstr ""
"Oletuksena se lukee vakiosyötettä ja kirjoittaa vakiotulosteeseen.\n"
"\n"
-#: main.c:619
+#: main.c:623
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3184,7 +3051,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' tiedosto\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:644
+#: main.c:648
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3203,7 +3070,7 @@ msgstr ""
"ehtojen mukaisesti.\n"
"\n"
-#: main.c:652
+#: main.c:656
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"
@@ -3217,7 +3084,7 @@ msgstr ""
"GNU General Public License-ehdoista.\n"
"\n"
-#: main.c:658
+#: main.c:662
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"
@@ -3225,16 +3092,16 @@ msgstr ""
"Sinun pitäisi vastaanottaa kopion GNU General Public Licence-lisenssistä\n"
"tämän ohjelman mukana. Jos näin ei ole, katso http://www.gnu.org/licenses/.\n"
-#: main.c:695
+#: main.c:699
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft ei aseta FS välilehteen POSIX awk:ssa"
-#: main.c:982
+#: main.c:986
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "tuntematon arvo kenttämääritteelle: %d\n"
-#: main.c:1080
+#: main.c:1084
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3243,68 +3110,66 @@ msgstr ""
"%s: ”%s” argumentti valitsimelle ”-v” ei ole ”var=arvo”-muodossa\n"
"\n"
-#: main.c:1106
+#: main.c:1110
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "”%s” ei ole laillinen muuttujanimi"
-#: main.c:1109
+#: main.c:1113
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "”%s” ei ole muuttujanimi, etsitään tiedostoa ”%s=%s”"
-#: main.c:1113
+#: main.c:1117
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr ""
-"gawk-ohjelman sisäisen ”%s”-määrittelyn käyttö muuttujanimenä epäonnistui"
+msgstr "gawk-ohjelman sisäisen ”%s”-määrittelyn käyttö muuttujanimenä epäonnistui"
-#: main.c:1118
+#: main.c:1122
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "funktionimen ”%s” käyttö muuttujanimenä epäonnistui"
-#: main.c:1171
+#: main.c:1175
msgid "floating point exception"
msgstr "liukulukupoikkeus"
-#: main.c:1178
+#: main.c:1182
msgid "fatal error: internal error"
msgstr "tuhoisa virhe: sisäinen virhe"
-#: main.c:1193
+#: main.c:1197
msgid "fatal error: internal error: segfault"
msgstr "tuhoisa virhe: sisäinen virhe: segmenttivirhe"
-#: main.c:1205
+#: main.c:1209
msgid "fatal error: internal error: stack overflow"
msgstr "tuhoisa virhe: sisäinen virhe: pinoylivuoto"
-#: main.c:1264
+#: main.c:1268
#, c-format
msgid "no pre-opened fd %d"
msgstr "ei avattu uudelleen tiedostomäärittelijää %d"
-#: main.c:1271
+#: main.c:1275
#, c-format
msgid "could not pre-open /dev/null for fd %d"
-msgstr ""
-"laitteen /dev/null avaaminen uudelleen tiedostomäärittelijälle %d epäonnistui"
+msgstr "laitteen /dev/null avaaminen uudelleen tiedostomäärittelijälle %d epäonnistui"
-#: main.c:1485
+#: main.c:1489
msgid "empty argument to `-e/--source' ignored"
msgstr "tyhjä argumentti valitsimelle ”-e/--source” ohitetaan"
-#: main.c:1556
+#: main.c:1560
msgid "-M ignored: MPFR/GMP support not compiled in"
-msgstr ""
+msgstr "-M ohitettu: MPFR/GMP-tuki ei ole käännetty kohteessa"
-#: main.c:1577
+#: main.c:1581
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: valitsin ”-W %s” on tunnistamaton, ohitetaan\n"
-#: main.c:1630
+#: main.c:1634
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: valitsin vaatii argumentin -- %c\n"
@@ -3383,12 +3248,8 @@ msgstr "ei heksadesimaalilukuja ”\\x”-koodinvaihtosekvenssissä"
#: node.c:567
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
-msgstr ""
-"heksadesimaalikoodinvaihtomerkkejä \\x%.*s / %d ei ole luultavasti tulkittu "
-"sillä tavalla kuin odotat"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
+msgstr "heksadesimaalikoodinvaihtomerkkejä \\x%.*s / %d ei ole luultavasti tulkittu sillä tavalla kuin odotat"
#: node.c:582
#, c-format
@@ -3396,12 +3257,8 @@ msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "koodinvaihtosekvenssi ”\\%c” käsitelty kuin pelkkä ”%c”"
#: node.c:726
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
-msgstr ""
-"Virheellinen monitavutieto havaittu. Paikallisasetuksesi ja tietojesi "
-"välillä saattaa olla täsmäämättömyys."
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
+msgstr "Virheellinen monitavutieto havaittu. Paikallisasetuksesi ja tietojesi välillä saattaa olla täsmäämättömyys."
#: posix/gawkmisc.c:177
#, c-format
@@ -3411,28 +3268,27 @@ msgstr "%s %s ”%s”: fd-lippujen hakeminen epäonnistui: (fcntl F_GETFD: %s)"
#: posix/gawkmisc.c:189
#, c-format
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
-msgstr ""
-"%s %s ”%s”: close-on-exec -asettaminen epäonnistui: (fcntl F_SETFD: %s)"
+msgstr "%s %s ”%s”: close-on-exec -asettaminen epäonnistui: (fcntl F_SETFD: %s)"
-#: profile.c:71
+#: profile.c:91
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "tiedoston ”%s” avaaminen kirjoittamista varten epäonnistui: %s"
-#: profile.c:73
+#: profile.c:93
msgid "sending profile to standard error"
msgstr "lähetetään profiili vakiovirheeseen"
-#: profile.c:193
-#, fuzzy, c-format
+#: profile.c:213
+#, c-format
msgid ""
"\t# %s rule(s)\n"
"\n"
msgstr ""
-"\t# Säännöt\n"
+"\t# %s säännöt\n"
"\n"
-#: profile.c:198
+#: profile.c:218
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3441,16 +3297,16 @@ msgstr ""
"\t# Säännöt\n"
"\n"
-#: profile.c:272
+#: profile.c:292
#, c-format
msgid "internal error: %s with null vname"
msgstr "sisäinen virhe: %s null vname-arvolla"
-#: profile.c:538
+#: profile.c:558
msgid "internal error: builtin with null fname"
msgstr "sisäinen virhe: builtin null-funktionimellä"
-#: profile.c:958
+#: profile.c:978
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3459,12 +3315,12 @@ msgstr ""
"\t# Ladatut laajennukset (-l ja/tai @load)\n"
"\n"
-#: profile.c:981
+#: profile.c:1001
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-profiili, luotu %s\n"
-#: profile.c:1521
+#: profile.c:1555
#, c-format
msgid ""
"\n"
@@ -3473,7 +3329,7 @@ msgstr ""
"\n"
"\t# Funktiot, luetteloitu aakkosjärjestyksessä\n"
-#: profile.c:1559
+#: profile.c:1593
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: tuntematon edelleenohjaustyyppi %d"
@@ -3481,8 +3337,7 @@ msgstr "redir2str: tuntematon edelleenohjaustyyppi %d"
#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr ""
-"säännöllisen lausekkeen komponentin ”%.*s” pitäisi luultavasti olla ”[%.*s]”"
+msgstr "säännöllisen lausekkeen komponentin ”%.*s” pitäisi luultavasti olla ”[%.*s]”"
#: regcomp.c:139
msgid "Success"
@@ -3513,9 +3368,8 @@ msgid "Invalid back reference"
msgstr "Virheellinen paluuviite"
#: regcomp.c:160
-#, fuzzy
msgid "Unmatched [, [^, [:, [., or [="
-msgstr "Pariton [ tai [^"
+msgstr "Pariton [, [^, [:, [., or [="
#: regcomp.c:163
msgid "Unmatched ( or \\("
@@ -3558,9 +3412,9 @@ msgid "No previous regular expression"
msgstr "Ei edellistä säännöllistä lauseketta"
#: symbol.c:677
-#, fuzzy, c-format
+#, c-format
msgid "function `%s': can't use function `%s' as a parameter name"
-msgstr "funktio ”%s”: funktionimen käyttö parametrinimenä epäonnistui"
+msgstr "funktio ”%s”: funktion ”%s” käyttö parametrinimenä epäonnistui"
#: symbol.c:809
msgid "can not pop main context"
@@ -3660,11 +3514,8 @@ msgstr "pääsisällön pop-toiminto epäonnistui"
#~ msgid "statement has no effect"
#~ msgstr "käskyllä ei ole vaikutusta"
-#~ msgid ""
-#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
-#~ msgstr ""
-#~ "for-silmukka: taulukon ”%s” koko muuttui arvosta %ld arvoon %ld silmukan "
-#~ "suorituksen aikana"
+#~ msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr "for-silmukka: taulukon ”%s” koko muuttui arvosta %ld arvoon %ld silmukan suorituksen aikana"
#~ msgid "function called indirectly through `%s' does not exist"
#~ msgstr "kohteen ”%s” kautta epäsuorasti kutsuttu funktio ei ole olemassa"
@@ -3709,8 +3560,7 @@ msgstr "pääsisällön pop-toiminto epäonnistui"
#~ msgstr "muisti loppui"
#~ msgid "call of `length' without parentheses is deprecated by POSIX"
-#~ msgstr ""
-#~ "”length”-kutsu ilman sulkumerkkejä on vanhentunut POSIX-standardissa"
+#~ msgstr "”length”-kutsu ilman sulkumerkkejä on vanhentunut POSIX-standardissa"
#~ msgid "division by zero attempted in `/'"
#~ msgstr "jakoa nollalla yritettiin operaatiossa ”/”"
@@ -3733,12 +3583,8 @@ msgstr "pääsisällön pop-toiminto epäonnistui"
#~ msgid "`nextfile' cannot be called from a BEGIN rule"
#~ msgstr "”nextfile” ei voida kutsua BEGIN-säännöstä"
-#~ msgid ""
-#~ "concatenation: side effects in one expression have changed the length of "
-#~ "another!"
-#~ msgstr ""
-#~ "concatenation: sivuvaikutukset yhdessä lausekkeessa ovat muuttaneet "
-#~ "toisen pituutta!"
+#~ msgid "concatenation: side effects in one expression have changed the length of another!"
+#~ msgstr "concatenation: sivuvaikutukset yhdessä lausekkeessa ovat muuttaneet toisen pituutta!"
#~ msgid "illegal type (%s) in tree_eval"
#~ msgstr "virheellinen tyyppi (%s) funktiossa tree_eval"
@@ -3802,12 +3648,22 @@ msgstr "pääsisällön pop-toiminto epäonnistui"
#~ msgstr "Tuntematon solmutyyppi %s funktiossa pp_var"
#~ msgid "can't open two way socket `%s' for input/output (%s)"
-#~ msgstr ""
-#~ "kaksisuuntaisen vastakkeen ”%s” avaaminen syötteelle/tulosteelle (%s) "
-#~ "epäonnistui"
+#~ msgstr "kaksisuuntaisen vastakkeen ”%s” avaaminen syötteelle/tulosteelle (%s) epäonnistui"
#~ msgid "attempt to use scalar `%s' as array"
#~ msgstr "yritettiin käyttää skalaaria ”%s” taulukkona"
#~ msgid "cannot pop main context"
#~ msgstr "pääsisällön pop-toiminto epäonnistui"
+
+#~ msgid "gensub: third argument of 0 treated as 1"
+#~ msgstr "gensub: 0-arvoinen kolmas argumentti käsitellään kuin 1"
+
+#~ msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
+#~ msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
+
+#~ msgid "Unmatched [ or [^"
+#~ msgstr "Pariton [ tai [^"
+
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "yritettiin käyttää funktiota ”%s” taulukkona"
diff --git a/po/fr.po b/po/fr.po
index 966172ec..4ceacad7 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.1.1c\n"
+"Project-Id-Version: gawk 4.1.1d\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
-"POT-Creation-Date: 2015-04-07 17:32+0300\n"
-"PO-Revision-Date: 2015-04-08 00:39+0200\n"
+"POT-Creation-Date: 2015-04-16 17:16+0300\n"
+"PO-Revision-Date: 2015-04-16 22:57+0200\n"
"Last-Translator: Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir.org>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -39,7 +39,7 @@ msgid "attempt to use scalar `%s' as an array"
msgstr "tentative d'utiliser le scalaire « %s » comme tableau"
#: array.c:409 array.c:576 builtin.c:85 builtin.c:1606 builtin.c:1652
-#: builtin.c:1665 builtin.c:2092 builtin.c:2106 eval.c:1149 eval.c:1153
+#: builtin.c:1665 builtin.c:2106 builtin.c:2120 eval.c:1149 eval.c:1153
#: eval.c:1558
#, c-format
msgid "attempt to use array `%s' in a scalar context"
@@ -746,202 +746,206 @@ 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)"
# Exemple : gawk --lint 'BEGIN { PROCINFO["strftime"]=123 ; print strftime() }'
-#: builtin.c:1890
+#: builtin.c:1892
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime : la valeur de formatage PROCINFO[\"strftime\"] est de type numérique"
-#: builtin.c:1913
+#: builtin.c:1915
msgid "strftime: received non-numeric second argument"
msgstr "strftime : le second argument n'est pas numérique"
-#: builtin.c:1917
+#: builtin.c:1924
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: second argument négatif ou trop grand pour time_t"
-#: builtin.c:1924
+#: builtin.c:1928
+msgid "strftime: second argument out of range for time_t"
+msgstr "strftime: second argument hors plage pour time_t"
+
+#: builtin.c:1935
msgid "strftime: received non-string first argument"
msgstr "strftim : le premier argument n'est pas une chaîne"
-#: builtin.c:1931
+#: builtin.c:1942
msgid "strftime: received empty format string"
msgstr "strftime : la chaîne de formatage est vide"
-#: builtin.c:1997
+#: builtin.c:2011
msgid "mktime: received non-string argument"
msgstr "mktime : l'argument n'est pas une chaîne"
-#: builtin.c:2014
+#: builtin.c:2028
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:2049
+#: builtin.c:2063
msgid "'system' function not allowed in sandbox mode"
msgstr "La fonction « system » est interdite en isolement (mode sandbox)"
-#: builtin.c:2054
+#: builtin.c:2068
msgid "system: received non-string argument"
msgstr "system : l'argument n'est pas une chaîne"
-#: builtin.c:2174
+#: builtin.c:2188
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "référence à un champ non initialisé « $%d »"
-#: builtin.c:2259
+#: builtin.c:2273
msgid "tolower: received non-string argument"
msgstr "tolower : l'argument n'est pas une chaîne"
-#: builtin.c:2290
+#: builtin.c:2304
msgid "toupper: received non-string argument"
msgstr "toupper : l'argument n'est pas une chaîne"
-#: builtin.c:2323 mpfr.c:679
+#: builtin.c:2337 mpfr.c:679
msgid "atan2: received non-numeric first argument"
msgstr "atan2 : le premier argument n'est pas numérique"
-#: builtin.c:2325 mpfr.c:681
+#: builtin.c:2339 mpfr.c:681
msgid "atan2: received non-numeric second argument"
msgstr "atan2 : le second argument n'est pas numérique"
-#: builtin.c:2344
+#: builtin.c:2358
msgid "sin: received non-numeric argument"
msgstr "sin : l'argument n'est pas numérique"
-#: builtin.c:2360
+#: builtin.c:2374
msgid "cos: received non-numeric argument"
msgstr "cos : l'argument n'est pas numérique"
-#: builtin.c:2413 mpfr.c:1176
+#: builtin.c:2427 mpfr.c:1176
msgid "srand: received non-numeric argument"
msgstr "srand : l'argument n'est pas numérique"
-#: builtin.c:2444
+#: builtin.c:2458
msgid "match: third argument is not an array"
msgstr "match : le 3e argument n'est pas un tableau"
-#: builtin.c:2705
+#: builtin.c:2719
#, c-format
msgid "gensub: third argument `%.*s' treated as 1"
msgstr "gensub : le 3e argument « %.*s » sera traité comme un 1"
-#: builtin.c:2720
+#: builtin.c:2734
#, c-format
msgid "gensub: third argument %g treated as 1"
msgstr "gensub : le 3e argument %g sera traité comme un 1"
-#: builtin.c:3018
+#: builtin.c:3032
#, c-format
msgid "%s: can be called indirectly only with two arguments"
msgstr "%s : un appel indirect nécessite deux arguments"
-#: builtin.c:3108
+#: builtin.c:3122
#, c-format
msgid "indirect call to %s requires at least two arguments"
msgstr "un appel indirect à %s demande au moins 2 arguments"
-#: builtin.c:3160
+#: builtin.c:3174
msgid "lshift: received non-numeric first argument"
msgstr "lshift : le premier argument n'est pas numérique"
-#: builtin.c:3162
+#: builtin.c:3176
msgid "lshift: received non-numeric second argument"
msgstr "lshift : le second argument reçu n'est pas numérique"
-#: builtin.c:3168
+#: builtin.c:3182
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f) : les valeurs négatives donnent des résultats inattendus"
-#: builtin.c:3170
+#: builtin.c:3184
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f) : les valeurs non entières seront tronquées"
-#: builtin.c:3172
+#: builtin.c:3186
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f) : un décalage trop grand donne des résultats inattendus"
-#: builtin.c:3197
+#: builtin.c:3211
msgid "rshift: received non-numeric first argument"
msgstr "rshift : le premier argument n'est pas numérique"
-#: builtin.c:3199
+#: builtin.c:3213
msgid "rshift: received non-numeric second argument"
msgstr "rshift : le second argument reçu n'est pas numérique"
-#: builtin.c:3205
+#: builtin.c:3219
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:3207
+#: builtin.c:3221
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f) : les valeurs non entières seront tronquées"
-#: builtin.c:3209
+#: builtin.c:3223
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f) : un décalage trop grand donnera des résultats inattendus"
-#: builtin.c:3234 mpfr.c:988
+#: builtin.c:3248 mpfr.c:988
msgid "and: called with less than two arguments"
msgstr "and : appelé avec moins de 2 arguments"
-#: builtin.c:3239
+#: builtin.c:3253
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and : l'argument %d n'est pas numérique"
-#: builtin.c:3243
+#: builtin.c:3257
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and : l'argument %d est négatif (%g) ce qui aura des résultats inattendus"
-#: builtin.c:3266 mpfr.c:1020
+#: builtin.c:3280 mpfr.c:1020
msgid "or: called with less than two arguments"
msgstr "or : appelé avec moins de 2 arguments"
-#: builtin.c:3271
+#: builtin.c:3285
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or : l'argument %d n'est pas numérique"
-#: builtin.c:3275
+#: builtin.c:3289
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or : l'argument %d est négatif (%g) ce qui aura des résultats inattendus"
-#: builtin.c:3297 mpfr.c:1051
+#: builtin.c:3311 mpfr.c:1051
msgid "xor: called with less than two arguments"
msgstr "xor : appelé avec moins de 2 arguments"
-#: builtin.c:3303
+#: builtin.c:3317
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor : l'argument %d n'est pas numérique"
-#: builtin.c:3307
+#: builtin.c:3321
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor : l'argument %d est négatif (%g) ce qui aura des résultats inattendus"
-#: builtin.c:3332 mpfr.c:807
+#: builtin.c:3346 mpfr.c:807
msgid "compl: received non-numeric argument"
msgstr "compl : l'argument n'est pas numérique"
-#: builtin.c:3338
+#: builtin.c:3352
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:3340
+#: builtin.c:3354
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f) : les valeurs non entières seront tronquées"
-#: builtin.c:3509
+#: builtin.c:3523
#, 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"
@@ -2670,12 +2674,12 @@ msgstr "aucune fermeture explicite du tube « %s » fournie"
msgid "no explicit close of file `%s' provided"
msgstr "aucune fermeture explicite du fichier « %s » fournie"
-#: io.c:1317 io.c:1375 main.c:628 main.c:670
+#: io.c:1317 io.c:1375 main.c:632 main.c:674
#, c-format
msgid "error writing standard output (%s)"
msgstr "erreur lors de l'écriture vers la sortie standard (%s)"
-#: io.c:1322 io.c:1381 main.c:630
+#: io.c:1322 io.c:1381 main.c:634
#, c-format
msgid "error writing standard error (%s)"
msgstr "erreur lors de l'écriture vers l'erreur standard (%s)"
@@ -2705,138 +2709,138 @@ msgstr "le port local %s n'est pas valide dans « /inet »"
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:1673
+#: io.c:1699
msgid "TCP/IP communications are not supported"
msgstr "les communications TCP/IP ne sont pas disponibles"
-#: io.c:1854
+#: io.c:1880
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "impossible d'ouvrir « %s », mode « %s »"
-#: io.c:1904
+#: io.c:1930
#, c-format
msgid "close of master pty failed (%s)"
msgstr "échec de la fermeture du pty maître (%s)"
-#: io.c:1906 io.c:2092 io.c:2293
+#: io.c:1932 io.c:2118 io.c:2319
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "échec de la fermeture de stdout du processus fils (%s)"
-#: io.c:1909
+#: io.c:1935
#, 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)"
-#: io.c:1911 io.c:2097
+#: io.c:1937 io.c:2123
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "échec de fermeture du stdin du processus fils (%s)"
-#: io.c:1914
+#: io.c:1940
#, 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)"
-#: io.c:1916 io.c:1938
+#: io.c:1942 io.c:1964
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "échec de la fermeture du pty esclave (%s)"
-#: io.c:2027 io.c:2095 io.c:2264 io.c:2296
+#: io.c:2053 io.c:2121 io.c:2290 io.c:2322
#, 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)"
-#: io.c:2034 io.c:2100
+#: io.c:2060 io.c:2126
#, 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)"
-#: io.c:2060 io.c:2286
+#: io.c:2086 io.c:2312
msgid "restoring stdout in parent process failed\n"
msgstr "échec de la restauration du stdout dans le processus parent\n"
-#: io.c:2068
+#: io.c:2094
msgid "restoring stdin in parent process failed\n"
msgstr "échec de la restauration du stdin dans le processus parent\n"
-#: io.c:2103 io.c:2298 io.c:2313
+#: io.c:2129 io.c:2324 io.c:2339
#, c-format
msgid "close of pipe failed (%s)"
msgstr "échec de la fermeture du tube (%s)"
-#: io.c:2162
+#: io.c:2188
msgid "`|&' not supported"
msgstr "« |& » non disponible"
-#: io.c:2249
+#: io.c:2275
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "impossible d'ouvrir le tube « %s » (%s)"
-#: io.c:2307
+#: io.c:2333
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "impossible de créer le processus fils pour « %s » (fork : %s)"
-#: io.c:2734
+#: io.c:2760
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser : pointeur NULL reçu"
-#: io.c:2762
+#: io.c:2788
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
msgstr "l'analyseur d'entrée « %s » est en conflit avec l'analyseur « %s » déjà installé"
-#: io.c:2769
+#: io.c:2795
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "l'analyseur d'entrée « %s » n'a pu ouvrir « %s »"
-#: io.c:2789
+#: io.c:2815
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper : pointeur NULL reçu"
-#: io.c:2817
+#: io.c:2843
#, c-format
msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
msgstr "le filtre de sortie « %s » est en conflit avec le filtre « %s » déjà installé"
-#: io.c:2824
+#: io.c:2850
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "le filtre de sortie « %s » n'a pu ouvrir « %s »"
-#: io.c:2845
+#: io.c:2871
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor : pointeur NULL reçu"
-#: io.c:2874
+#: io.c:2900
#, c-format
msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
msgstr "le gestionnaire bidirectionnel « %s » est en conflit avec le gestionnaire « %s » déjà installé"
-#: io.c:2883
+#: io.c:2909
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "le gestionnaire bidirectionnel « %s » n'a pu ouvrir « %s »"
-#: io.c:3008
+#: io.c:3034
#, c-format
msgid "data file `%s' is empty"
msgstr "le fichier de données « %s » est vide"
-#: io.c:3050 io.c:3058
+#: io.c:3076 io.c:3084
msgid "could not allocate more input memory"
msgstr "impossible d'allouer plus de mémoire d'entrée"
-#: io.c:3636
+#: io.c:3662
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "l'utilisation d'un « RS » de plusieurs caractères est une extension gawk"
-#: io.c:3783
+#: io.c:3809
msgid "IPv6 communication is not supported"
msgstr "les communications IPv6 ne sont pas disponibles"
@@ -2954,59 +2958,62 @@ msgstr "\t-i fichier\t\t--include=fichier\n"
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l bibliothèque\t\t--load=bibliothèque\n"
-#: main.c:586
+#. TRANSLATORS: the "fatal" and "invalid" here are literal
+#. values, they should not be translated. Thanks.
+#.
+#: main.c:590
msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
msgstr "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
-#: main.c:587
+#: main.c:591
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:588
+#: main.c:592
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:589
+#: main.c:593
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:590
+#: main.c:594
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[fichier]\t\t--pretty-print[=fichier]\n"
-#: main.c:591
+#: main.c:595
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:592
+#: main.c:596
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fichier]\t\t--profile[=fichier]\n"
-#: main.c:593
+#: main.c:597
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:594
+#: main.c:598
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:595
+#: main.c:599
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:596
+#: main.c:600
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:597
+#: main.c:601
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:599
+#: main.c:603
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:602
+#: main.c:606
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3015,7 +3022,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:611
+#: main.c:615
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3030,7 +3037,7 @@ msgstr ""
"<traduc CHEZ traduc POINT org>.\n"
"\n"
-#: main.c:615
+#: main.c:619
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3040,7 +3047,7 @@ msgstr ""
"Par défaut, il lit l'entrée standard et écrit sur la sortie standard.\n"
"\n"
-#: main.c:619
+#: main.c:623
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3050,7 +3057,7 @@ msgstr ""
"\tgawk '{ somme += $1 }; END { print somme }' fichier\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:644
+#: main.c:648
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3070,7 +3077,7 @@ msgstr ""
"version ultérieure de votre choix.\n"
"\n"
-#: main.c:652
+#: main.c:656
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"
@@ -3085,7 +3092,7 @@ msgstr ""
"General Public License).\n"
"\n"
-#: main.c:658
+#: main.c:662
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"
@@ -3094,16 +3101,16 @@ msgstr ""
"(GNU General Public License) avec ce programme. Sinon, consultez\n"
"http://www.gnu.org/licenses/.\n"
-#: main.c:695
+#: main.c:699
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"
-#: main.c:982
+#: main.c:986
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "valeur inconnue pour la définition de champ : %d\n"
-#: main.c:1080
+#: main.c:1084
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3112,66 +3119,66 @@ msgstr ""
"%s : « %s » l'argument de « -v » ne respecte pas la forme « var=valeur »\n"
"\n"
-#: main.c:1106
+#: main.c:1110
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "« %s » n'est pas un nom de variable valide"
-#: main.c:1109
+#: main.c:1113
#, 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 »"
-#: main.c:1113
+#: main.c:1117
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "impossible d'utiliser le mot clef gawk « %s » comme variable"
-#: main.c:1118
+#: main.c:1122
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "impossible d'utiliser la fonction « %s » comme variable"
-#: main.c:1171
+#: main.c:1175
msgid "floating point exception"
msgstr "exception du traitement en virgule flottante"
-#: main.c:1178
+#: main.c:1182
msgid "fatal error: internal error"
msgstr "fatal : erreur interne"
-#: main.c:1193
+#: main.c:1197
msgid "fatal error: internal error: segfault"
msgstr "fatal : erreur interne : erreur de segmentation"
-#: main.c:1205
+#: main.c:1209
msgid "fatal error: internal error: stack overflow"
msgstr "fatal : erreur interne : débordement de la pile"
-#: main.c:1264
+#: main.c:1268
#, c-format
msgid "no pre-opened fd %d"
msgstr "aucun descripteur fd %d pré-ouvert"
-#: main.c:1271
+#: main.c:1275
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "impossible de pré-ouvrir /dev/null pour le descripteur fd %d"
-#: main.c:1485
+#: main.c:1489
msgid "empty argument to `-e/--source' ignored"
msgstr "argument vide de l'option « -e / --source » ignoré"
-#: main.c:1556
+#: main.c:1560
msgid "-M ignored: MPFR/GMP support not compiled in"
msgstr "-M sans effet : version compilée sans MPFR/GMP"
-#: main.c:1577
+#: main.c:1581
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s : option « -W %s » non reconnue, ignorée\n"
-#: main.c:1630
+#: main.c:1634
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s : l'option requiert un argument - %c\n"
@@ -3272,16 +3279,16 @@ msgstr "%s %s « %s » : impossible d'obtenir les drapeaux du fd : (fcntl F_
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s « %s »: impossible de positionner close-on-exec: (fcntl F_SETFD: %s)"
-#: profile.c:71
+#: profile.c:91
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "impossible d'ouvrir « %s » en écriture : %s"
-#: profile.c:73
+#: profile.c:93
msgid "sending profile to standard error"
msgstr "envoi du profil vers la sortie d'erreur standard"
-#: profile.c:193
+#: profile.c:213
#, c-format
msgid ""
"\t# %s rule(s)\n"
@@ -3290,7 +3297,7 @@ msgstr ""
"\t# %s règle(s)\n"
"\n"
-#: profile.c:198
+#: profile.c:218
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3299,16 +3306,16 @@ msgstr ""
"\t# Règle(s)\n"
"\n"
-#: profile.c:272
+#: profile.c:292
#, c-format
msgid "internal error: %s with null vname"
msgstr "erreur interne : %s avec un vname nul"
-#: profile.c:538
+#: profile.c:558
msgid "internal error: builtin with null fname"
msgstr "erreur interne : fonction interne avec un fname nul"
-#: profile.c:958
+#: profile.c:978
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3317,12 +3324,12 @@ msgstr ""
"\t# Extensions chargées (-l ou @load)\n"
"\n"
-#: profile.c:981
+#: profile.c:1001
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profile gawk, créé %s\n"
-#: profile.c:1535
+#: profile.c:1555
#, c-format
msgid ""
"\n"
@@ -3331,7 +3338,7 @@ msgstr ""
"\n"
"\t# Fonctions, par ordre alphabétique\n"
-#: profile.c:1573
+#: profile.c:1593
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str : type de redirection %d inconnu"
diff --git a/po/it.po b/po/it.po
index 88e537f6..8c4ab070 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: GNU Awk 4.0.73, API: 0.0\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
"POT-Creation-Date: 2015-02-26 20:05+0200\n"
-"PO-Revision-Date: 2014-12-14 22:10+0100\n"
+"PO-Revision-Date: 2015-04-27 10:10+0100\n"
"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
"Language-Team: Italian <it@li.org>\n"
"Language: it\n"
@@ -230,7 +230,7 @@ msgstr ""
#: awkgram.y:1635
#, c-format
msgid "attempt to use non-function `%s' in function call"
-msgstr ""
+msgstr "tentativo di usare la non-funzione `%s' in una chiamata di funzione"
#: awkgram.y:1699
msgid "invalid subscript expression"
@@ -2384,7 +2384,7 @@ msgstr "readfile: chiamata senza argomenti"
#: extension/revoutput.c:125
msgid "revoutput: could not initialize REVOUT variable"
-msgstr ""
+msgstr "revoutput: non riesco a inizializzare la variabile REVOUT"
#: extension/rwarray.c:124 extension/rwarray0.c:109
msgid "writea: called with too many arguments"
@@ -3526,23 +3526,11 @@ msgid "No previous regular expression"
msgstr "Nessuna espressione regolare precedente"
#: symbol.c:677
-#, fuzzy, c-format
msgid "function `%s': can't use function `%s' as a parameter name"
msgstr ""
-"funzione `%s': non possibile usare nome della funzione come nome parametro"
+"funzione `%s': non possibile come nome parametro quello della funzione `%s'"
#: symbol.c:809
msgid "can not pop main context"
msgstr "non posso salire pi in alto nello stack"
-#~ msgid "div: third argument is not an array"
-#~ msgstr "div: terzo argomento non-vettoriale"
-
-#~ msgid "div: received non-numeric first argument"
-#~ msgstr "div: il primo argomento ricevuto non numerico"
-
-#~ msgid "div: received non-numeric second argument"
-#~ msgstr "div: il secondo argomento ricevuto non numerico"
-
-#~ msgid "div: division by zero attempted"
-#~ msgstr "div: tentativo di dividere per zero"
diff --git a/po/nl.po b/po/nl.po
index 9cb253f8..907f8ba4 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -8,10 +8,10 @@
# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2010, 2011, 2012, 2013, 2014, 2015.
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.1.1c\n"
+"Project-Id-Version: gawk 4.1.1d\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
-"POT-Creation-Date: 2015-04-07 17:32+0300\n"
-"PO-Revision-Date: 2015-04-08 17:04+0200\n"
+"POT-Creation-Date: 2015-04-16 17:16+0300\n"
+"PO-Revision-Date: 2015-04-17 11:01+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -41,7 +41,7 @@ msgid "attempt to use scalar `%s' as an array"
msgstr "scalair '%s' wordt gebruikt als array"
#: array.c:409 array.c:576 builtin.c:85 builtin.c:1606 builtin.c:1652
-#: builtin.c:1665 builtin.c:2092 builtin.c:2106 eval.c:1149 eval.c:1153
+#: builtin.c:1665 builtin.c:2106 builtin.c:2120 eval.c:1149 eval.c:1153
#: eval.c:1558
#, c-format
msgid "attempt to use array `%s' in a scalar context"
@@ -746,203 +746,207 @@ msgstr "substr: startindex %g ligt voorbij het einde van de string"
msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
msgstr "substr: lengte %g bij startindex %g is groter dan de lengte van het eerste argument (%lu)"
-#: builtin.c:1890
+#: builtin.c:1892
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: opmaakwaarde in PROCINFO[\"strftime\"] is numeriek"
-#: builtin.c:1913
+#: builtin.c:1915
msgid "strftime: received non-numeric second argument"
msgstr "strftime: tweede argument is geen getal"
-#: builtin.c:1917
+#: builtin.c:1924
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: tweede argument is kleiner dan nul of te groot voor 'time_t'"
-#: builtin.c:1924
+#: builtin.c:1928
+msgid "strftime: second argument out of range for time_t"
+msgstr "strftime: tweede argument ligt buiten toegestaan bereik voor 'time_t'"
+
+#: builtin.c:1935
msgid "strftime: received non-string first argument"
msgstr "strftime: eerste argument is geen string"
-#: builtin.c:1931
+#: builtin.c:1942
msgid "strftime: received empty format string"
msgstr "strftime: opmaakstring is leeg"
-#: builtin.c:1997
+#: builtin.c:2011
msgid "mktime: received non-string argument"
msgstr "mktime: argument is geen string"
-#: builtin.c:2014
+#: builtin.c:2028
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: minstens één van waarden valt buiten het standaardbereik"
-#: builtin.c:2049
+#: builtin.c:2063
msgid "'system' function not allowed in sandbox mode"
msgstr "'system'-functie is niet toegestaan in sandbox-modus"
-#: builtin.c:2054
+#: builtin.c:2068
msgid "system: received non-string argument"
msgstr "system: argument is geen string"
-#: builtin.c:2174
+#: builtin.c:2188
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "verwijzing naar ongeïnitialiseerd veld '$%d'"
-#: builtin.c:2259
+#: builtin.c:2273
msgid "tolower: received non-string argument"
msgstr "tolower: argument is geen string"
-#: builtin.c:2290
+#: builtin.c:2304
msgid "toupper: received non-string argument"
msgstr "toupper: argument is geen string"
-#: builtin.c:2323 mpfr.c:679
+#: builtin.c:2337 mpfr.c:679
msgid "atan2: received non-numeric first argument"
msgstr "atan2: eerste argument is geen getal"
-#: builtin.c:2325 mpfr.c:681
+#: builtin.c:2339 mpfr.c:681
msgid "atan2: received non-numeric second argument"
msgstr "atan2: tweede argument is geen getal"
-#: builtin.c:2344
+#: builtin.c:2358
msgid "sin: received non-numeric argument"
msgstr "sin: argument is geen getal"
-#: builtin.c:2360
+#: builtin.c:2374
msgid "cos: received non-numeric argument"
msgstr "cos: argument is geen getal"
-#: builtin.c:2413 mpfr.c:1176
+#: builtin.c:2427 mpfr.c:1176
msgid "srand: received non-numeric argument"
msgstr "srand: argument is geen getal"
-#: builtin.c:2444
+#: builtin.c:2458
msgid "match: third argument is not an array"
msgstr "match: derde argument is geen array"
-#: builtin.c:2705
+#: builtin.c:2719
#, c-format
msgid "gensub: third argument `%.*s' treated as 1"
msgstr "gensub: derde argument is '%.*s'; wordt beschouwd als 1"
-#: builtin.c:2720
+#: builtin.c:2734
#, c-format
msgid "gensub: third argument %g treated as 1"
msgstr "gensub: derde argument is %g; wordt beschouwd als 1"
# FIXME: ambiguous
-#: builtin.c:3018
+#: builtin.c:3032
#, c-format
msgid "%s: can be called indirectly only with two arguments"
msgstr "%s: kan alleen indirect aangeroepen worden met twee argumenten"
-#: builtin.c:3108
+#: builtin.c:3122
#, c-format
msgid "indirect call to %s requires at least two arguments"
msgstr "indirecte aanroep van %s vereist minstens twee argumenten"
-#: builtin.c:3160
+#: builtin.c:3174
msgid "lshift: received non-numeric first argument"
msgstr "lshift: eerste argument is geen getal"
-#: builtin.c:3162
+#: builtin.c:3176
msgid "lshift: received non-numeric second argument"
msgstr "lshift: tweede argument is geen getal"
-#: builtin.c:3168
+#: builtin.c:3182
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): negatieve waarden geven rare resultaten"
-#: builtin.c:3170
+#: builtin.c:3184
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): cijfers na de komma worden afgekapt"
-#: builtin.c:3172
+#: builtin.c:3186
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f): te grote opschuifwaarden geven rare resultaten"
-#: builtin.c:3197
+#: builtin.c:3211
msgid "rshift: received non-numeric first argument"
msgstr "rshift: eerste argument is geen getal"
-#: builtin.c:3199
+#: builtin.c:3213
msgid "rshift: received non-numeric second argument"
msgstr "rshift: tweede argument is geen getal"
-#: builtin.c:3205
+#: builtin.c:3219
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): negatieve waarden geven rare resultaten"
-#: builtin.c:3207
+#: builtin.c:3221
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): cijfers na de komma worden afgekapt"
-#: builtin.c:3209
+#: builtin.c:3223
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f): te grote opschuifwaarden geven rare resultaten"
-#: builtin.c:3234 mpfr.c:988
+#: builtin.c:3248 mpfr.c:988
msgid "and: called with less than two arguments"
msgstr "and: aangeroepen met minder dan twee argumenten"
-#: builtin.c:3239
+#: builtin.c:3253
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: argument %d is niet-numeriek"
-#: builtin.c:3243
+#: builtin.c:3257
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and: negatieve waarde %2$g van argument %1$d geeft rare resultaten"
-#: builtin.c:3266 mpfr.c:1020
+#: builtin.c:3280 mpfr.c:1020
msgid "or: called with less than two arguments"
msgstr "or: aangeroepen met minder dan twee argumenten"
-#: builtin.c:3271
+#: builtin.c:3285
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: argument %d is niet-numeriek"
-#: builtin.c:3275
+#: builtin.c:3289
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or: negatieve waarde %2$g van argument %1$d geeft rare resultaten"
-#: builtin.c:3297 mpfr.c:1051
+#: builtin.c:3311 mpfr.c:1051
msgid "xor: called with less than two arguments"
msgstr "xor: aangeroepen met minder dan twee argumenten"
-#: builtin.c:3303
+#: builtin.c:3317
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: argument %d is niet-numeriek"
-#: builtin.c:3307
+#: builtin.c:3321
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: negatieve waarde %2$g van argument %1$d geeft rare resultaten"
-#: builtin.c:3332 mpfr.c:807
+#: builtin.c:3346 mpfr.c:807
msgid "compl: received non-numeric argument"
msgstr "compl: argument is geen getal"
-#: builtin.c:3338
+#: builtin.c:3352
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): negatieve waarden geven rare resultaten"
-#: builtin.c:3340
+#: builtin.c:3354
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): cijfers na de komma worden afgekapt"
-#: builtin.c:3509
+#: builtin.c:3523
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: '%s' is geen geldige taalregio-deelcategorie"
@@ -2670,12 +2674,12 @@ msgstr "geen expliciete sluiting van pijp '%s' aangegeven"
msgid "no explicit close of file `%s' provided"
msgstr "geen expliciete sluiting van bestand '%s' aangegeven"
-#: io.c:1317 io.c:1375 main.c:628 main.c:670
+#: io.c:1317 io.c:1375 main.c:632 main.c:674
#, c-format
msgid "error writing standard output (%s)"
msgstr "fout tijdens schrijven van standaarduitvoer (%s)"
-#: io.c:1322 io.c:1381 main.c:630
+#: io.c:1322 io.c:1381 main.c:634
#, c-format
msgid "error writing standard error (%s)"
msgstr "fout tijdens schrijven van standaardfoutuitvoer (%s)"
@@ -2705,138 +2709,138 @@ msgstr "lokale poort %s is ongeldig in '/inet'"
msgid "remote host and port information (%s, %s) invalid"
msgstr "host- en poortinformatie (%s, %s) zijn ongeldig"
-#: io.c:1673
+#: io.c:1699
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-communicatie wordt niet ondersteund"
-#: io.c:1854
+#: io.c:1880
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kan '%s' niet openen -- modus '%s'"
-#: io.c:1904
+#: io.c:1930
#, c-format
msgid "close of master pty failed (%s)"
msgstr "kan meester-pty van dochterproces niet sluiten (%s)"
-#: io.c:1906 io.c:2092 io.c:2293
+#: io.c:1932 io.c:2118 io.c:2319
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "kan standaarduitvoer van dochterproces niet sluiten (%s)"
-#: io.c:1909
+#: io.c:1935
#, 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:1911 io.c:2097
+#: io.c:1937 io.c:2123
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "kan standaardinvoer van dochterproces niet sluiten (%s)"
-#: io.c:1914
+#: io.c:1940
#, 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:1916 io.c:1938
+#: io.c:1942 io.c:1964
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "kan slaaf-pty niet sluiten (%s)"
-#: io.c:2027 io.c:2095 io.c:2264 io.c:2296
+#: io.c:2053 io.c:2121 io.c:2290 io.c:2322
#, 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:2034 io.c:2100
+#: io.c:2060 io.c:2126
#, 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:2060 io.c:2286
+#: io.c:2086 io.c:2312
msgid "restoring stdout in parent process failed\n"
msgstr "kan standaarduitvoer van ouderproces niet herstellen\n"
-#: io.c:2068
+#: io.c:2094
msgid "restoring stdin in parent process failed\n"
msgstr "kan standaardinvoer van ouderproces niet herstellen\n"
-#: io.c:2103 io.c:2298 io.c:2313
+#: io.c:2129 io.c:2324 io.c:2339
#, c-format
msgid "close of pipe failed (%s)"
msgstr "kan pijp niet sluiten (%s)"
-#: io.c:2162
+#: io.c:2188
msgid "`|&' not supported"
msgstr "'|&' wordt niet ondersteund"
-#: io.c:2249
+#: io.c:2275
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan pijp '%s' niet openen (%s)"
-#: io.c:2307
+#: io.c:2333
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan voor '%s' geen dochterproces starten (fork: %s)"
-#: io.c:2734
+#: io.c:2760
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser(): NULL-pointer gekregen"
-#: io.c:2762
+#: io.c:2788
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
msgstr "invoer-parser '%s' botst met eerder geïnstalleerde invoer-parser '%s'"
-#: io.c:2769
+#: io.c:2795
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "invoer-parser '%s' kan '%s' niet openen"
-#: io.c:2789
+#: io.c:2815
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper(): NULL-pointer gekregen"
-#: io.c:2817
+#: io.c:2843
#, c-format
msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
msgstr "uitvoer-wrapper '%s' botst met eerder geïnstalleerde uitvoer-wrapper '%s'"
-#: io.c:2824
+#: io.c:2850
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "uitvoer-wrapper '%s' kan '%s' niet openen"
-#: io.c:2845
+#: io.c:2871
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor(): NULL-pointer gekregen"
-#: io.c:2874
+#: io.c:2900
#, c-format
msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
msgstr "tweeweg-processor '%s' botst met eerder geïnstalleerde tweeweg-processor '%s'"
-#: io.c:2883
+#: io.c:2909
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "tweeweg-processor '%s' kan '%s' niet openen"
-#: io.c:3008
+#: io.c:3034
#, c-format
msgid "data file `%s' is empty"
msgstr "databestand '%s' is leeg"
-#: io.c:3050 io.c:3058
+#: io.c:3076 io.c:3084
msgid "could not allocate more input memory"
msgstr "kan geen extra invoergeheugen meer toewijzen"
-#: io.c:3636
+#: io.c:3662
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "een 'RS' van meerdere tekens is een gawk-uitbreiding"
-#: io.c:3783
+#: io.c:3809
msgid "IPv6 communication is not supported"
msgstr "IPv6-communicatie wordt niet ondersteund"
@@ -2959,59 +2963,62 @@ msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l bibliotheek\t\t--load=bibliotheek\n"
# FIXME: are arguments literal or translatable?
-#: main.c:586
+#. TRANSLATORS: the "fatal" and "invalid" here are literal
+#. values, they should not be translated. Thanks.
+#.
+#: main.c:590
msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
msgstr "\t-L[fatal|invalid]\t\t--lint[=fatal|invalid]\n"
-#: main.c:587
+#: main.c:591
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:588
+#: main.c:592
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:589
+#: main.c:593
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:590
+#: main.c:594
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[bestand]\t\t--pretty-print[=bestand]\n"
-#: main.c:591
+#: main.c:595
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:592
+#: main.c:596
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[bestand]\t\t--profile[=bestand]\n"
-#: main.c:593
+#: main.c:597
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:594
+#: main.c:598
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:595
+#: main.c:599
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:596
+#: main.c:600
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:597
+#: main.c:601
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:599
+#: main.c:603
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t\t--nostalgia\n"
-#: main.c:602
+#: main.c:606
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t\t--parsedebug\n"
@@ -3020,7 +3027,7 @@ msgstr "\t-Y\t\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:611
+#: main.c:615
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3033,7 +3040,7 @@ msgstr ""
"Meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
"\n"
-#: main.c:615
+#: main.c:619
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3043,7 +3050,7 @@ msgstr ""
"Standaard leest het van standaardinvoer en schrijft naar standaarduitvoer.\n"
"\n"
-#: main.c:619
+#: main.c:623
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3053,7 +3060,7 @@ msgstr ""
"\tgawk '{ som += $1 }; END { print som }' bestand\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:644
+#: main.c:648
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3071,7 +3078,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:652
+#: main.c:656
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"
@@ -3085,7 +3092,7 @@ msgstr ""
"Zie de GNU General Public License voor meer details.\n"
"\n"
-#: main.c:658
+#: main.c:662
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"
@@ -3094,16 +3101,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:695
+#: main.c:699
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft maakt van FS geen tab in POSIX-awk"
-#: main.c:982
+#: main.c:986
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "onbekende waarde voor veldspecificatie: %d\n"
-#: main.c:1080
+#: main.c:1084
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3112,66 +3119,66 @@ msgstr ""
"%s: argument '%s' van '-v' is niet van de vorm 'var=waarde'\n"
"\n"
-#: main.c:1106
+#: main.c:1110
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "'%s' is geen geldige variabelenaam"
-#: main.c:1109
+#: main.c:1113
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "'%s' is geen variabelenaam; zoekend naar bestand '%s=%s'"
-#: main.c:1113
+#: main.c:1117
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "kan in gawk ingebouwde '%s' niet als variabelenaam gebruiken"
-#: main.c:1118
+#: main.c:1122
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "kan functie '%s' niet als variabelenaam gebruiken"
-#: main.c:1171
+#: main.c:1175
msgid "floating point exception"
msgstr "drijvendekomma-berekeningsfout"
-#: main.c:1178
+#: main.c:1182
msgid "fatal error: internal error"
msgstr "fatale fout: **interne fout**"
-#: main.c:1193
+#: main.c:1197
msgid "fatal error: internal error: segfault"
msgstr "fatale fout: **interne fout**: segmentatiefout"
-#: main.c:1205
+#: main.c:1209
msgid "fatal error: internal error: stack overflow"
msgstr "fatale fout: **interne fout**: stack is vol"
-#: main.c:1264
+#: main.c:1268
#, c-format
msgid "no pre-opened fd %d"
msgstr "geen reeds-geopende bestandsdescriptor %d"
-#: main.c:1271
+#: main.c:1275
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "kan /dev/null niet openen voor bestandsdescriptor %d"
-#: main.c:1485
+#: main.c:1489
msgid "empty argument to `-e/--source' ignored"
msgstr "argument van '-e/--source' is leeg; genegeerd"
-#: main.c:1556
+#: main.c:1560
msgid "-M ignored: MPFR/GMP support not compiled in"
msgstr "optie '-M' is genegeerd; ondersteuning voor MPFR/GMP is niet meegecompileerd"
-#: main.c:1577
+#: main.c:1581
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: optie '-W %s' is onbekend; genegeerd\n"
-#: main.c:1630
+#: main.c:1634
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: optie vereist een argument -- %c\n"
@@ -3274,16 +3281,16 @@ msgstr "%s %s '%s': kan bestandsdescriptorvlaggen niet verkrijgen: (fcntl F_GETF
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s '%s': kan 'close-on-exec' niet activeren: (fcntl F_SETFD: %s)"
-#: profile.c:71
+#: profile.c:91
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "kan '%s' niet openen om te schrijven: %s"
-#: profile.c:73
+#: profile.c:93
msgid "sending profile to standard error"
msgstr "profiel gaat naar standaardfoutuitvoer"
-#: profile.c:193
+#: profile.c:213
#, c-format
msgid ""
"\t# %s rule(s)\n"
@@ -3292,7 +3299,7 @@ msgstr ""
"\t# %s regel(s)\n"
"\n"
-#: profile.c:198
+#: profile.c:218
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3301,16 +3308,16 @@ msgstr ""
"\t# Regel(s)\n"
"\n"
-#: profile.c:272
+#: profile.c:292
#, c-format
msgid "internal error: %s with null vname"
msgstr "**interne fout**: %s met lege 'vname'"
-#: profile.c:538
+#: profile.c:558
msgid "internal error: builtin with null fname"
msgstr "**interne fout**: ingebouwde functie met lege 'fname'"
-#: profile.c:958
+#: profile.c:978
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3319,12 +3326,12 @@ msgstr ""
"\t# Geladen uitbreidingen ('-l' en/of '@load')\n"
"\n"
-#: profile.c:981
+#: profile.c:1001
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-profiel, gemaakt op %s\n"
-#: profile.c:1535
+#: profile.c:1555
#, c-format
msgid ""
"\n"
@@ -3333,7 +3340,7 @@ msgstr ""
"\n"
"\t# Functies, alfabetisch geordend\n"
-#: profile.c:1573
+#: profile.c:1593
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str(): onbekend omleidingstype %d"
diff --git a/po/sv.po b/po/sv.po
index 08118ae4..6becf207 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,13 +6,13 @@
# Christer Andersson <klamm@comhem.se>, 2007.
# Göran Uddeborg <goeran@uddeborg.se>, 2011, 2012, 2013, 2014, 2015.
#
-# $Revision: 1.17 $
+# $Revision: 1.20 $
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.1.1c\n"
+"Project-Id-Version: gawk 4.1.1d\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
-"POT-Creation-Date: 2015-04-07 17:32+0300\n"
-"PO-Revision-Date: 2015-04-10 22:33+0200\n"
+"POT-Creation-Date: 2015-04-16 17:16+0300\n"
+"PO-Revision-Date: 2015-04-22 22:34+0200\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -40,7 +40,7 @@ msgid "attempt to use scalar `%s' as an array"
msgstr "försök att använda skalären ”%s” som en vektor"
#: array.c:409 array.c:576 builtin.c:85 builtin.c:1606 builtin.c:1652
-#: builtin.c:1665 builtin.c:2092 builtin.c:2106 eval.c:1149 eval.c:1153
+#: builtin.c:1665 builtin.c:2106 builtin.c:2120 eval.c:1149 eval.c:1153
#: eval.c:1558
#, c-format
msgid "attempt to use array `%s' in a scalar context"
@@ -306,7 +306,7 @@ msgstr "källfilen \"%s\" är tom"
#: awkgram.y:2827
#, c-format
msgid "PEBKAC error: invalid character '\\%03o' in source code"
-msgstr "PEBKAC-fel: ogiltigt tecken ”\\%03o” i källkodenc"
+msgstr "PEBKAC-fel: ogiltigt tecken ”\\%03o” i källkoden"
#: awkgram.y:2958
msgid "source file does not end in newline"
@@ -745,202 +745,206 @@ msgstr "substr: startindex %g är bortom strängens slut"
msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
msgstr "substr: längden %g vid startindex %g överskrider det första argumentets längd (%lu)"
-#: builtin.c:1890
+#: builtin.c:1892
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: formatvärde i PROCINFO[\"strftime\"] har numerisk typ"
-#: builtin.c:1913
+#: builtin.c:1915
msgid "strftime: received non-numeric second argument"
msgstr "strftime: fick ett ickenumeriskt andra argument"
-#: builtin.c:1917
+#: builtin.c:1924
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: andra argumentet mindre än 0 eller för stort för time_t"
-#: builtin.c:1924
+#: builtin.c:1928
+msgid "strftime: second argument out of range for time_t"
+msgstr "strftime: andra argumentet utanför intervallet för för time_t"
+
+#: builtin.c:1935
msgid "strftime: received non-string first argument"
msgstr "strftime: fick ett första argument som inte är en sträng"
-#: builtin.c:1931
+#: builtin.c:1942
msgid "strftime: received empty format string"
msgstr "strftime: fick en tom formatsträng"
-#: builtin.c:1997
+#: builtin.c:2011
msgid "mktime: received non-string argument"
msgstr "mktime: fick ett argument som inte är en sträng"
-#: builtin.c:2014
+#: builtin.c:2028
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: åtminstone ett av värdena är utanför standardintervallet"
-#: builtin.c:2049
+#: builtin.c:2063
msgid "'system' function not allowed in sandbox mode"
msgstr "funktionen \"system\" är inte tillåten i sandlådeläge"
-#: builtin.c:2054
+#: builtin.c:2068
msgid "system: received non-string argument"
msgstr "system: fick ett argument som inte är en sträng"
-#: builtin.c:2174
+#: builtin.c:2188
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "referens till icke initierat fält \"$%d\""
-#: builtin.c:2259
+#: builtin.c:2273
msgid "tolower: received non-string argument"
msgstr "tolower: fick ett argument som inte är en sträng"
-#: builtin.c:2290
+#: builtin.c:2304
msgid "toupper: received non-string argument"
msgstr "toupper: fick ett argument som inte är en sträng"
-#: builtin.c:2323 mpfr.c:679
+#: builtin.c:2337 mpfr.c:679
msgid "atan2: received non-numeric first argument"
msgstr "atan2: fick ett ickenumeriskt första argument"
-#: builtin.c:2325 mpfr.c:681
+#: builtin.c:2339 mpfr.c:681
msgid "atan2: received non-numeric second argument"
msgstr "atan2: fick ett ickenumeriskt andra argument"
-#: builtin.c:2344
+#: builtin.c:2358
msgid "sin: received non-numeric argument"
msgstr "sin: fick ett ickenumeriskt argument"
-#: builtin.c:2360
+#: builtin.c:2374
msgid "cos: received non-numeric argument"
msgstr "cos: fick ett ickenumeriskt argument"
-#: builtin.c:2413 mpfr.c:1176
+#: builtin.c:2427 mpfr.c:1176
msgid "srand: received non-numeric argument"
msgstr "srand: fick ett ickenumeriskt argument"
-#: builtin.c:2444
+#: builtin.c:2458
msgid "match: third argument is not an array"
msgstr "match: tredje argumentet är inte en vektor"
-#: builtin.c:2705
+#: builtin.c:2719
#, c-format
msgid "gensub: third argument `%.*s' treated as 1"
msgstr "gensub: tredje argumentet ”%.*s” behandlat som 1"
-#: builtin.c:2720
+#: builtin.c:2734
#, c-format
msgid "gensub: third argument %g treated as 1"
msgstr "gensub: tredje argumentet %g behandlat som 1"
-#: builtin.c:3018
+#: builtin.c:3032
#, c-format
msgid "%s: can be called indirectly only with two arguments"
msgstr "%s: kan anropas indirekt endast med två argument"
-#: builtin.c:3108
+#: builtin.c:3122
#, c-format
msgid "indirect call to %s requires at least two arguments"
msgstr "indirekt anrop till %s kräver åtminstone två argument"
-#: builtin.c:3160
+#: builtin.c:3174
msgid "lshift: received non-numeric first argument"
msgstr "lshift: fick ett ickenumeriskt första argument"
-#: builtin.c:3162
+#: builtin.c:3176
msgid "lshift: received non-numeric second argument"
msgstr "lshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:3168
+#: builtin.c:3182
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): negativa värden kommer ge konstiga resultat"
-#: builtin.c:3170
+#: builtin.c:3184
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): flyttalsvärden kommer huggas av"
-#: builtin.c:3172
+#: builtin.c:3186
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f): för stort skiftvärde kommer ge konstiga resultat"
-#: builtin.c:3197
+#: builtin.c:3211
msgid "rshift: received non-numeric first argument"
msgstr "rshift: fick ett ickenumeriskt första argument"
-#: builtin.c:3199
+#: builtin.c:3213
msgid "rshift: received non-numeric second argument"
msgstr "rshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:3205
+#: builtin.c:3219
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): negativa värden kommer ge konstiga resultat"
-#: builtin.c:3207
+#: builtin.c:3221
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): flyttalsvärden kommer huggas av"
-#: builtin.c:3209
+#: builtin.c:3223
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f): för stor skiftvärde kommer ge konstiga resultat"
-#: builtin.c:3234 mpfr.c:988
+#: builtin.c:3248 mpfr.c:988
msgid "and: called with less than two arguments"
msgstr "and: anropad med mindre än två argument"
-#: builtin.c:3239
+#: builtin.c:3253
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: argument %d är inte numeriskt"
-#: builtin.c:3243
+#: builtin.c:3257
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and: argument %d med negativt värde %g kommer ge konstiga resultat"
-#: builtin.c:3266 mpfr.c:1020
+#: builtin.c:3280 mpfr.c:1020
msgid "or: called with less than two arguments"
msgstr "or: anropad med färre än två argument"
-#: builtin.c:3271
+#: builtin.c:3285
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: argument %d är inte numeriskt"
-#: builtin.c:3275
+#: builtin.c:3289
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or: argument %d med negativt värde %g kommer ge konstiga resultat"
-#: builtin.c:3297 mpfr.c:1051
+#: builtin.c:3311 mpfr.c:1051
msgid "xor: called with less than two arguments"
msgstr "xor: anropad med färre än två argument"
-#: builtin.c:3303
+#: builtin.c:3317
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: argument %d är inte numeriskt"
-#: builtin.c:3307
+#: builtin.c:3321
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: argument %d med negativt värde %g kommer ge konstiga resultat"
-#: builtin.c:3332 mpfr.c:807
+#: builtin.c:3346 mpfr.c:807
msgid "compl: received non-numeric argument"
msgstr "compl: fick ett ickenumeriskt argument"
-#: builtin.c:3338
+#: builtin.c:3352
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): negativt värde kommer ge konstiga resultat"
-#: builtin.c:3340
+#: builtin.c:3354
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): flyttalsvärde kommer huggas av"
-#: builtin.c:3509
+#: builtin.c:3523
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: \"%s\" är inte en giltig lokalkategori"
@@ -1545,7 +1549,7 @@ msgstr "Observera: brytpunkt %d (aktiverad), är också satt vid %s:%d"
#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
-msgstr "Observera: brytpunkt %d (avaktiverad, intorera följande %ld träffar), är också satt vid %s:%d"
+msgstr "Observera: brytpunkt %d (avaktiverad, ignorera följande %ld träffar), är också satt vid %s:%d"
#: debug.c:2221
#, c-format
@@ -2614,7 +2618,7 @@ msgstr "nådde systembegränsningen för öppna filer: börjar multiplexa fildes
#: io.c:1089
#, c-format
msgid "close of `%s' failed (%s)."
-msgstr "stängning av \"%s\" misslyckades (%s)"
+msgstr "stängning av \"%s\" misslyckades (%s)."
#: io.c:1097
msgid "too many pipes or input files open"
@@ -2668,12 +2672,12 @@ msgstr "ingen explicit stängning av röret \"%s\" tillhandahållen"
msgid "no explicit close of file `%s' provided"
msgstr "ingen explicit stängning av filen \"%s\" tillhandahållen"
-#: io.c:1317 io.c:1375 main.c:628 main.c:670
+#: io.c:1317 io.c:1375 main.c:632 main.c:674
#, c-format
msgid "error writing standard output (%s)"
msgstr "fel vid skrivning till standard ut (%s)"
-#: io.c:1322 io.c:1381 main.c:630
+#: io.c:1322 io.c:1381 main.c:634
#, c-format
msgid "error writing standard error (%s)"
msgstr "fel vid skrivning till standard fel (%s)"
@@ -2681,17 +2685,17 @@ msgstr "fel vid skrivning till standard fel (%s)"
#: io.c:1330
#, c-format
msgid "pipe flush of `%s' failed (%s)."
-msgstr "rörspolning av \"%s\" misslyckades (%s)"
+msgstr "rörspolning av \"%s\" misslyckades (%s)."
#: io.c:1333
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
-msgstr "koprocesspolning av röret till \"%s\" misslyckades (%s)"
+msgstr "koprocesspolning av röret till \"%s\" misslyckades (%s)."
#: io.c:1336
#, c-format
msgid "file flush of `%s' failed (%s)."
-msgstr "filspolning av \"%s\" misslyckades (%s)"
+msgstr "filspolning av \"%s\" misslyckades (%s)."
#: io.c:1453
#, c-format
@@ -2703,138 +2707,138 @@ msgstr "lokal port %s ogiltig i \"/inet\""
msgid "remote host and port information (%s, %s) invalid"
msgstr "ogiltig information (%s, %s) för fjärrvärd och fjärrport"
-#: io.c:1673
+#: io.c:1699
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-kommunikation stöds inte"
-#: io.c:1854
+#: io.c:1880
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kunde inte öppna \"%s\", läge \"%s\""
-#: io.c:1904
+#: io.c:1930
#, c-format
msgid "close of master pty failed (%s)"
msgstr "stängning av huvudpty misslyckades (%s)"
-#: io.c:1906 io.c:2092 io.c:2293
+#: io.c:1932 io.c:2118 io.c:2319
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "stängning av standard ut i barnet misslyckades (%s)"
-#: io.c:1909
+#: io.c:1935
#, 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:1911 io.c:2097
+#: io.c:1937 io.c:2123
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "stängning av standard in i barnet misslyckades (%s)"
-#: io.c:1914
+#: io.c:1940
#, 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:1916 io.c:1938
+#: io.c:1942 io.c:1964
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "stängning av slavpty misslyckades (%s)"
-#: io.c:2027 io.c:2095 io.c:2264 io.c:2296
+#: io.c:2053 io.c:2121 io.c:2290 io.c:2322
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr "flyttande av rör till standard ut i barnet misslyckades (dup: %s)"
-#: io.c:2034 io.c:2100
+#: io.c:2060 io.c:2126
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr "flyttande av rör till standard in i barnet misslyckades (dup: %s)"
-#: io.c:2060 io.c:2286
+#: io.c:2086 io.c:2312
msgid "restoring stdout in parent process failed\n"
msgstr "återställande av standard ut i föräldraprocessen misslyckades\n"
-#: io.c:2068
+#: io.c:2094
msgid "restoring stdin in parent process failed\n"
msgstr "återställande av standard in i föräldraprocessen misslyckades\n"
-#: io.c:2103 io.c:2298 io.c:2313
+#: io.c:2129 io.c:2324 io.c:2339
#, c-format
msgid "close of pipe failed (%s)"
msgstr "stängning av röret misslyckades (%s)"
-#: io.c:2162
+#: io.c:2188
msgid "`|&' not supported"
msgstr "\"|&\" stöds inte"
-#: io.c:2249
+#: io.c:2275
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan inte öppna röret \"%s\" (%s)"
-#: io.c:2307
+#: io.c:2333
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan inte skapa barnprocess för \"%s\" (fork: %s)"
-#: io.c:2734
+#: io.c:2760
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser: mottog NULL-pekare"
-#: io.c:2762
+#: io.c:2788
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
msgstr "inmatningstolken ”%s” står i konflikt med tidigare installerad inmatningstolk ”%s”"
-#: io.c:2769
+#: io.c:2795
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "inmatningstolken ”%s” misslyckades att öppna ”%s”"
-#: io.c:2789
+#: io.c:2815
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper: mottog NULL-pekare"
-#: io.c:2817
+#: io.c:2843
#, c-format
msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
msgstr "utmatningsomslag ”%s” står i konflikt med tidigare installerat utmatningsomslag ”%s”"
-#: io.c:2824
+#: io.c:2850
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "utmatningsomslag ”%s” misslyckades att öppna ”%s”"
-#: io.c:2845
+#: io.c:2871
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor: mottog NULL-pekare"
-#: io.c:2874
+#: io.c:2900
#, c-format
msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
msgstr "tvåvägsprocessorn ”%s” står i konflikt med tidigare installerad tvåvägsprocessor ”%s”"
-#: io.c:2883
+#: io.c:2909
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "tvåvägsprocessorn ”%s” misslyckades att öppna ”%s”"
-#: io.c:3008
+#: io.c:3034
#, c-format
msgid "data file `%s' is empty"
msgstr "datafilen \"%s\" är tom"
-#: io.c:3050 io.c:3058
+#: io.c:3076 io.c:3084
msgid "could not allocate more input memory"
msgstr "kunde inte allokera mer indataminne"
-#: io.c:3636
+#: io.c:3662
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "flerteckensvärdet av \"RS\" är en gawk-utökning"
-#: io.c:3783
+#: io.c:3809
msgid "IPv6 communication is not supported"
msgstr "IPv6-kommunikation stöds inte"
@@ -2952,59 +2956,62 @@ msgstr "\t-i inkluderingsfil\t--include=inkluderingsfil\n"
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l bibliotek\t\t--load=bibliotek\n"
-#: main.c:586
+#. TRANSLATORS: the "fatal" and "invalid" here are literal
+#. values, they should not be translated. Thanks.
+#.
+#: main.c:590
msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
msgstr "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
-#: main.c:587
+#: main.c:591
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:588
+#: main.c:592
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:589
+#: main.c:593
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:590
+#: main.c:594
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[fil]\t\t\t--pretty-print[=fil]\n"
-#: main.c:591
+#: main.c:595
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:592
+#: main.c:596
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fil]\t\t\t--profile[=fil]\n"
-#: main.c:593
+#: main.c:597
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:594
+#: main.c:598
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:595
+#: main.c:599
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:596
+#: main.c:600
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:597
+#: main.c:601
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:599
+#: main.c:603
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:602
+#: main.c:606
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3013,7 +3020,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:611
+#: main.c:615
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3027,7 +3034,7 @@ msgstr ""
"Rapportera synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
"\n"
-#: main.c:615
+#: main.c:619
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3037,7 +3044,7 @@ msgstr ""
"Normalt läser det från standard in och skriver till standard ut.\n"
"\n"
-#: main.c:619
+#: main.c:623
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3047,7 +3054,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' fil\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:644
+#: main.c:648
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3066,7 +3073,7 @@ msgstr ""
"någon senare version.\n"
"\n"
-#: main.c:652
+#: main.c:656
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"
@@ -3080,7 +3087,7 @@ msgstr ""
"General Public License för ytterligare information.\n"
"\n"
-#: main.c:658
+#: main.c:662
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"
@@ -3088,82 +3095,82 @@ msgstr ""
"Du bör ha fått en kopia av GNU General Public License tillsammans\n"
"med detta program. Om inte, se http://www.gnu.org/licenses/.\n"
-#: main.c:695
+#: main.c:699
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft sätter inte FS till tab i POSIX-awk"
-#: main.c:982
+#: main.c:986
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "okänt värde till fältspecifikation: %d\n"
-#: main.c:1080
+#: main.c:1084
#, 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=värde\"\n"
-#: main.c:1106
+#: main.c:1110
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "\"%s\" är inte ett giltigt variabelnamn"
-#: main.c:1109
+#: main.c:1113
#, 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:1113
+#: main.c:1117
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
-#: main.c:1118
+#: main.c:1122
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "kan inte använda funktionen \"%s\" som variabelnamn"
-#: main.c:1171
+#: main.c:1175
msgid "floating point exception"
msgstr "flyttalsundantag"
-#: main.c:1178
+#: main.c:1182
msgid "fatal error: internal error"
msgstr "ödesdigert fel: internt fel"
-#: main.c:1193
+#: main.c:1197
msgid "fatal error: internal error: segfault"
msgstr "ödesdigert fel: internt fel: segmenteringsfel"
-#: main.c:1205
+#: main.c:1209
msgid "fatal error: internal error: stack overflow"
msgstr "ödesdigert fel: internt fel: stackspill"
-#: main.c:1264
+#: main.c:1268
#, c-format
msgid "no pre-opened fd %d"
msgstr "ingen föröppnad fd %d"
-#: main.c:1271
+#: main.c:1275
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "kunde inte föröppna /dev/null för fd %d"
-#: main.c:1485
+#: main.c:1489
msgid "empty argument to `-e/--source' ignored"
msgstr "tomt argument till \"-e/--source\" ignorerat"
-#: main.c:1556
+#: main.c:1560
msgid "-M ignored: MPFR/GMP support not compiled in"
msgstr "-M ignoreras: MPFR/GMP-stöd är inte inkompilerat"
-#: main.c:1577
+#: main.c:1581
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: flaggan \"-W %s\" okänd, ignorerad\n"
-#: main.c:1630
+#: main.c:1634
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: flaggan kräver ett argument -- %c\n"
@@ -3264,16 +3271,16 @@ msgstr "%s %s \"%s\": kunde inte hämta fb-flaggor: (fcntl F_GETFD: %s)"
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s \"%s\": kunde inte sätta stäng-vid-exec (fcntl F_SETFD: %s)"
-#: profile.c:71
+#: profile.c:91
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "kunde inte öppna \"%s\" för skrivning: %s"
-#: profile.c:73
+#: profile.c:93
msgid "sending profile to standard error"
msgstr "skickar profilen till standard fel"
-#: profile.c:193
+#: profile.c:213
#, c-format
msgid ""
"\t# %s rule(s)\n"
@@ -3282,7 +3289,7 @@ msgstr ""
"\t# %s-regler\n"
"\n"
-#: profile.c:198
+#: profile.c:218
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3291,16 +3298,16 @@ msgstr ""
"\t# Regel/regler\n"
"\n"
-#: profile.c:272
+#: profile.c:292
#, c-format
msgid "internal error: %s with null vname"
msgstr "internt fel: %s med null vname"
-#: profile.c:538
+#: profile.c:558
msgid "internal error: builtin with null fname"
msgstr "internt fel: inbyggd med tomt fname"
-#: profile.c:958
+#: profile.c:978
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3309,12 +3316,12 @@ msgstr ""
"\t# Laddade utvidgningar (-l och/eller @load)\n"
"\n"
-#: profile.c:981
+#: profile.c:1001
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawkprofil, skapad %s\n"
-#: profile.c:1535
+#: profile.c:1555
#, c-format
msgid ""
"\n"
@@ -3323,7 +3330,7 @@ msgstr ""
"\n"
"\t# Funktioner, listade alfabetiskt\n"
-#: profile.c:1573
+#: profile.c:1593
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: okänd omdirigeringstyp %d"
diff --git a/po/vi.po b/po/vi.po
index 7d4733e5..cb8a4440 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.1.1c\n"
+"Project-Id-Version: gawk 4.1.1d\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
-"POT-Creation-Date: 2015-04-07 17:32+0300\n"
-"PO-Revision-Date: 2015-04-08 08:06+0700\n"
+"POT-Creation-Date: 2015-04-16 17:16+0300\n"
+"PO-Revision-Date: 2015-04-17 07:37+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -39,7 +39,7 @@ msgid "attempt to use scalar `%s' as an array"
msgstr "cố dùng “%s” vô hướng như là mảng"
#: array.c:409 array.c:576 builtin.c:85 builtin.c:1606 builtin.c:1652
-#: builtin.c:1665 builtin.c:2092 builtin.c:2106 eval.c:1149 eval.c:1153
+#: builtin.c:1665 builtin.c:2106 builtin.c:2120 eval.c:1149 eval.c:1153
#: eval.c:1558
#, c-format
msgid "attempt to use array `%s' in a scalar context"
@@ -305,11 +305,11 @@ msgstr "tập tin nguồn “%s” là rỗng"
#: awkgram.y:2827
#, c-format
msgid "PEBKAC error: invalid character '\\%03o' in source code"
-msgstr "lỗi PEBKAC: gặp ký tự không hợp lệ “\\%03o” trong mã nguồn"
+msgstr "Lỗi PEBKAC: gặp ký tự không hợp lệ “\\%03o” trong mã nguồn"
#: awkgram.y:2958
msgid "source file does not end in newline"
-msgstr "tập tin nguồn không kết thúc với một dòng mới"
+msgstr "tập tin nguồn không kết thúc bằng một dòng trống"
#: awkgram.y:3061
msgid "unterminated regexp ends with `\\' at end of file"
@@ -744,202 +744,206 @@ msgstr "substr: (chuỗi con) chỉ số đầu %g nằm sau kết thúc của c
msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
msgstr "substr: (chuỗi con) độ dài %g chỉ số đầu %g vượt quá độ dài của đối số đầu (%lu)"
-#: builtin.c:1890
+#: builtin.c:1892
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: giá trị định dạng trong PROCINFO[\"strftime\"] phải thuộc kiểu số"
-#: builtin.c:1913
+#: builtin.c:1915
msgid "strftime: received non-numeric second argument"
msgstr "strftime: đã nhận đối số thứ hai khác thuộc số"
-#: builtin.c:1917
+#: builtin.c:1924
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: tham số thứ hai nhỏ hơn 0 hay quá lớn dành cho time_t"
-#: builtin.c:1924
+#: builtin.c:1928
+msgid "strftime: second argument out of range for time_t"
+msgstr "strftime: tham số thứ hai nằm ngoài phạm vi cho phép của kiểu time_t"
+
+#: builtin.c:1935
msgid "strftime: received non-string first argument"
msgstr "strftime: đã nhận đối số thứ nhất khác chuỗi"
-#: builtin.c:1931
+#: builtin.c:1942
msgid "strftime: received empty format string"
msgstr "strftime: đã nhận chuỗi định dạng rỗng"
-#: builtin.c:1997
+#: builtin.c:2011
msgid "mktime: received non-string argument"
msgstr "mktime: đã nhận đối số khác chuỗi"
-#: builtin.c:2014
+#: builtin.c:2028
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"
-#: builtin.c:2049
+#: builtin.c:2063
msgid "'system' function not allowed in sandbox mode"
msgstr "hàm “system” không cho phép ở chế độ khuôn đúc"
-#: builtin.c:2054
+#: builtin.c:2068
msgid "system: received non-string argument"
msgstr "system: (hệ thống) đã nhận đối số khác chuỗi"
-#: builtin.c:2174
+#: builtin.c:2188
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "gặp tham chiếu đến trường chưa được khởi tạo “$%d”"
-#: builtin.c:2259
+#: builtin.c:2273
msgid "tolower: received non-string argument"
msgstr "tolower: (thành chư thường) đã nhận đối số khác chuỗi"
-#: builtin.c:2290
+#: builtin.c:2304
msgid "toupper: received non-string argument"
msgstr "toupper: (thành chữ HOA) đã nhận đối số khác chuỗi"
-#: builtin.c:2323 mpfr.c:679
+#: builtin.c:2337 mpfr.c:679
msgid "atan2: received non-numeric first argument"
msgstr "atan2: đã nhận đối số thứ nhất khác thuộc số"
-#: builtin.c:2325 mpfr.c:681
+#: builtin.c:2339 mpfr.c:681
msgid "atan2: received non-numeric second argument"
msgstr "atan2: đã nhận đối số thứ hai khác thuộc số"
-#: builtin.c:2344
+#: builtin.c:2358
msgid "sin: received non-numeric argument"
msgstr "sin: đã nhận đối số không thuộc kiểu số học"
-#: builtin.c:2360
+#: builtin.c:2374
msgid "cos: received non-numeric argument"
msgstr "cos: đã nhận đối số không thuộc kiểu số học"
-#: builtin.c:2413 mpfr.c:1176
+#: builtin.c:2427 mpfr.c:1176
msgid "srand: received non-numeric argument"
msgstr "srand: đã nhận đối số không thuộc kiểu số học"
-#: builtin.c:2444
+#: builtin.c:2458
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:2705
+#: builtin.c:2719
#, c-format
msgid "gensub: third argument `%.*s' treated as 1"
msgstr "gensub: đối số thứ ba “%.*s” được xử lý như 1"
-#: builtin.c:2720
+#: builtin.c:2734
#, c-format
msgid "gensub: third argument %g treated as 1"
msgstr "gensub: đối số thứ ba %g được xử lý như 1"
-#: builtin.c:3018
+#: builtin.c:3032
#, c-format
msgid "%s: can be called indirectly only with two arguments"
msgstr "%s: được gọi một cách gián tiếp với ít hơn hai đối số"
-#: builtin.c:3108
+#: builtin.c:3122
#, c-format
msgid "indirect call to %s requires at least two arguments"
msgstr "cú gọi gián tiếp đến %s cần ít nhất hai đối số"
-#: builtin.c:3160
+#: builtin.c:3174
msgid "lshift: received non-numeric first argument"
msgstr "lshift: đã nhận đối số đầu không phải thuộc số"
-#: builtin.c:3162
+#: builtin.c:3176
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:3168
+#: builtin.c:3182
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): giá trị âm sẽ gây ra kết quả không như mong muốn"
-#: builtin.c:3170
+#: builtin.c:3184
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): giá trị thuộc phân số sẽ bị cắt ngắn"
-#: builtin.c:3172
+#: builtin.c:3186
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f): giá trị dịch quá lớn sẽ gây ra kết quả không như mong muốn"
-#: builtin.c:3197
+#: builtin.c:3211
msgid "rshift: received non-numeric first argument"
msgstr "rshift: đã nhận đối số thứ nhất khác thuộc số"
-#: builtin.c:3199
+#: builtin.c:3213
msgid "rshift: received non-numeric second argument"
msgstr "rshift: (dịch phải) đã nhận đối số thứ hai khác thuộc số"
-#: builtin.c:3205
+#: builtin.c:3219
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): giá trị âm sẽ gây ra kết quả không như mong muốn"
-#: builtin.c:3207
+#: builtin.c:3221
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): giá trị thuộc kiểu phân số sẽ bị xén ngắn"
-#: builtin.c:3209
+#: builtin.c:3223
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f): giá trị dịch quá lớn sẽ gây ra kết quả không như mong muốn"
-#: builtin.c:3234 mpfr.c:988
+#: builtin.c:3248 mpfr.c:988
msgid "and: called with less than two arguments"
msgstr "and: được gọi với ít hơn hai đối số"
-#: builtin.c:3239
+#: builtin.c:3253
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: đối số %d không phải thuộc số"
-#: builtin.c:3243
+#: builtin.c:3257
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and: (và) đối số %d giá trị âm %g sẽ đưa lại kết quả không như mong muốn"
-#: builtin.c:3266 mpfr.c:1020
+#: builtin.c:3280 mpfr.c:1020
msgid "or: called with less than two arguments"
msgstr "or: (hoặc) được gọi với ít hơn hai đối số"
-#: builtin.c:3271
+#: builtin.c:3285
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: (hoặc) đối số %d không thuộc kiểu số"
-#: builtin.c:3275
+#: builtin.c:3289
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or: (hoặc) đối số %d giá trị âm %g sẽ đưa lại kết quả không như mong muốn"
-#: builtin.c:3297 mpfr.c:1051
+#: builtin.c:3311 mpfr.c:1051
msgid "xor: called with less than two arguments"
msgstr "xor: được gọi với ít hơn hai đối số"
-#: builtin.c:3303
+#: builtin.c:3317
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: đối số %d không thuộc kiểu số"
-#: builtin.c:3307
+#: builtin.c:3321
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: đối số %d giá trị âm %g sẽ đưa lại kết quả không như mong muốn"
-#: builtin.c:3332 mpfr.c:807
+#: builtin.c:3346 mpfr.c:807
msgid "compl: received non-numeric argument"
msgstr "compl: (biên dịch) đã nhận được đối số không-phải-số"
-#: builtin.c:3338
+#: builtin.c:3352
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): giá trị âm sẽ gây ra kết quả không như mong đợi"
-#: builtin.c:3340
+#: builtin.c:3354
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): giá trị thuộc phân số sẽ bị cắt ngắn"
-#: builtin.c:3509
+#: builtin.c:3523
#, 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ệ"
@@ -2667,12 +2671,12 @@ msgstr "không cung cấp lệnh đóng đường ống dẫn lệnh “%s” r
msgid "no explicit close of file `%s' provided"
msgstr "không cung cấp lệnh đóng tập tin “%s” rõ ràng"
-#: io.c:1317 io.c:1375 main.c:628 main.c:670
+#: io.c:1317 io.c:1375 main.c:632 main.c:674
#, c-format
msgid "error writing standard output (%s)"
msgstr "gặp lỗi khi ghi đầu ra tiêu chuẩn (%s)"
-#: io.c:1322 io.c:1381 main.c:630
+#: io.c:1322 io.c:1381 main.c:634
#, c-format
msgid "error writing standard error (%s)"
msgstr "gặp lỗi khi ghi thiết bị lỗi chuẩn (%s)"
@@ -2702,138 +2706,138 @@ msgstr "cổng cục bộ %s không hợp lệ trong “/inet”"
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:1673
+#: io.c:1699
msgid "TCP/IP communications are not supported"
msgstr "truyền thông TCP/IP không được hỗ trợ"
-#: io.c:1854
+#: io.c:1880
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "không mở được “%s”, chế độ “%s”"
-#: io.c:1904
+#: io.c:1930
#, c-format
msgid "close of master pty failed (%s)"
msgstr "gặp lỗi khi đóng thiết bị cuối giả (%s)"
-#: io.c:1906 io.c:2092 io.c:2293
+#: io.c:1932 io.c:2118 io.c:2319
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "lỗi đóng đầu ra tiêu chuẩn trong tiến trình con (%s)"
-#: io.c:1909
+#: io.c:1935
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr "gặp lỗi khi di chuyển pty (thiết bị cuối giả) phụ thuộc đến thiết bị đầu ra tiêu chuẩn trong con (trùng: %s)"
-#: io.c:1911 io.c:2097
+#: io.c:1937 io.c:2123
#, 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:1914
+#: io.c:1940
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr "lỗi di chuyển pty (thiết bị cuối giả) phụ tới thiết bị nhập chuẩn trong điều con (nhân đôi: %s)"
-#: io.c:1916 io.c:1938
+#: io.c:1942 io.c:1964
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "đóng pty (thiết bị cuối giả) phụ thuộc gặp lỗi (%s)"
-#: io.c:2027 io.c:2095 io.c:2264 io.c:2296
+#: io.c:2053 io.c:2121 io.c:2290 io.c:2322
#, 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 (trùng: %s)"
-#: io.c:2034 io.c:2100
+#: io.c:2060 io.c:2126
#, 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 (trùng: %s)"
-#: io.c:2060 io.c:2286
+#: io.c:2086 io.c:2312
msgid "restoring stdout in parent process failed\n"
msgstr "phục hồi đầu ra tiêu chuẩn trong tiến trình mẹ gặp lỗi\n"
-#: io.c:2068
+#: io.c:2094
msgid "restoring stdin in parent process failed\n"
msgstr "phục hồi đầu vào tiêu chuẩn trong tiến trình mẹ gặp lỗi\n"
-#: io.c:2103 io.c:2298 io.c:2313
+#: io.c:2129 io.c:2324 io.c:2339
#, c-format
msgid "close of pipe failed (%s)"
msgstr "đóng ống dẫn gặp lỗi (%s)"
-#: io.c:2162
+#: io.c:2188
msgid "`|&' not supported"
msgstr "“|&” không được hỗ trợ"
-#: io.c:2249
+#: io.c:2275
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "không thể mở ống dẫn “%s” (%s)"
-#: io.c:2307
+#: io.c:2333
#, 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:2734
+#: io.c:2760
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser: nhận được con trỏ NULL"
-#: io.c:2762
+#: io.c:2788
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
msgstr "bộ phân tích đầu vào “%s” xung đột với bộ phân tích đầu vào được cài đặt trước đó “%s”"
-#: io.c:2769
+#: io.c:2795
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "bộ phân tích đầu vào “%s” gặp lỗi khi mở “%s”"
-#: io.c:2789
+#: io.c:2815
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper: nhận được con trỏ NULL"
-#: io.c:2817
+#: io.c:2843
#, c-format
msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
msgstr "bộ bao kết xuất “%s” xung đột với bộ bao kết xuất được cài đặt trước đó “%s”"
-#: io.c:2824
+#: io.c:2850
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "bộ bao kết xuất “%s” gặp lỗi khi mở “%s”"
-#: io.c:2845
+#: io.c:2871
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor: nhận được con trỏ NULL"
-#: io.c:2874
+#: io.c:2900
#, c-format
msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
msgstr "bộ xử lý hai hướng “%s” xung đột với bộ xử lý hai hướng đã được cài đặt trước đó “%s”"
-#: io.c:2883
+#: io.c:2909
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "bộ xử lý hai hướng “%s” gặp lỗi khi mở “%s”"
-#: io.c:3008
+#: io.c:3034
#, c-format
msgid "data file `%s' is empty"
msgstr "tập tin dữ liệu “%s” là rỗng"
-#: io.c:3050 io.c:3058
+#: io.c:3076 io.c:3084
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:3636
+#: io.c:3662
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"
-#: io.c:3783
+#: io.c:3809
msgid "IPv6 communication is not supported"
msgstr "Truyền thông trên IPv6 không được hỗ trợ"
@@ -2953,61 +2957,64 @@ msgstr "\t-i includefile\t\t--include=tập-tin-bao-gồm\n"
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l library\t\t--load=thư-viện\n"
-#: main.c:586
+#. TRANSLATORS: the "fatal" and "invalid" here are literal
+#. values, they should not be translated. Thanks.
+#.
+#: main.c:590
msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
msgstr "\t-L [fatal|invalid]\t--lint[=fatal|invalid]\n"
-#: main.c:587
+#: main.c:591
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:588
+#: main.c:592
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:589
+#: main.c:593
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:590
+#: main.c:594
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[tập_tin]\t\t--pretty-print[=tập_tin]\n"
-#: main.c:591
+#: main.c:595
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize (tối_ưu_hóa)\n"
-#: main.c:592
+#: main.c:596
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[tập_tin]\t\t--profile[=tập_tin]\n"
-#: main.c:593
+#: main.c:597
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:594
+#: main.c:598
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:595
+#: main.c:599
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:596
+#: main.c:600
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:597
+#: main.c:601
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:599
+#: main.c:603
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:602
+#: main.c:606
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3016,7 +3023,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:611
+#: main.c:615
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3030,7 +3037,7 @@ msgstr ""
"Thông báo lỗi dịch cho: <http://translationproject.org/team/vi.html>.\n"
"\n"
-#: main.c:615
+#: main.c:619
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3040,7 +3047,7 @@ msgstr ""
"Mặc định, nó đọc từ đầu vào tiêu chuẩn và ghi ra đầu ra tiêu chuẩn.\n"
"\n"
-#: main.c:619
+#: main.c:623
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3050,7 +3057,7 @@ msgstr ""
"\tgawk \"{ sum += $1 }; END { print sum }\" tập_tin\n"
"\tgawk -F: \"{ print $1 }\" /etc/passwd\n"
-#: main.c:644
+#: main.c:648
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3069,7 +3076,7 @@ msgstr ""
"của Giấy Phép này, hoặc là (tùy chọn) bất kỳ phiên bản mới hơn.\n"
"\n"
-#: main.c:652
+#: main.c:656
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"
@@ -3083,7 +3090,7 @@ msgstr ""
"Hãy xem Giấy phép Công Chung GNU (GPL) để biết chi tiết.\n"
"\n"
-#: main.c:658
+#: main.c:662
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"
@@ -3091,16 +3098,16 @@ msgstr ""
"Bạn nên nhận một bản sao của Giấy Phép Công Cộng GNU cùng với chương\n"
"trình này. Nếu chưa có, bạn xem tại <http://www.gnu.org/licenses/>.\n"
-#: main.c:695
+#: main.c:699
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft không đặt FS (hệ thống tập tin?) vào tab trong awk POSIX"
-#: main.c:982
+#: main.c:986
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "không hiểu giá trị dành cho đặc tả trường: %d\n"
-#: main.c:1080
+#: main.c:1084
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3109,66 +3116,66 @@ msgstr ""
"%s: đối số “%s” cho “-v” không có dạng “biến=giá_trị”\n"
"\n"
-#: main.c:1106
+#: main.c:1110
#, 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:1109
+#: main.c:1113
#, 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:1113
+#: main.c:1117
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "không thể dùng builtin (dựng sẵn) của gawk “%s” như là tên biến"
-#: main.c:1118
+#: main.c:1122
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "không thể dùng hàm “%s” như là tên biến"
-#: main.c:1171
+#: main.c:1175
msgid "floating point exception"
msgstr "ngoại lệ số thực dấu chấm động"
-#: main.c:1178
+#: main.c:1182
msgid "fatal error: internal error"
msgstr "lỗi nghiêm trọng: lỗi nội bộ"
-#: main.c:1193
+#: main.c:1197
msgid "fatal error: internal error: segfault"
msgstr "lỗi nghiêm trọng: lỗi nội bộ: lỗi phân đoạn"
-#: main.c:1205
+#: main.c:1209
msgid "fatal error: internal error: stack overflow"
msgstr "lỗi nghiêm trọng: lỗi nội bộ: tràn ngăn xếp"
-#: main.c:1264
+#: main.c:1268
#, c-format
msgid "no pre-opened fd %d"
msgstr "không có fd (bộ mô tả tập tin) %d đã mở trước"
-#: main.c:1271
+#: main.c:1275
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "không thể mở trước “/dev/null” cho fd %d"
-#: main.c:1485
+#: main.c:1489
msgid "empty argument to `-e/--source' ignored"
msgstr "đối số rỗng cho tùy chọn “-e/--source” bị bỏ qua"
-#: main.c:1556
+#: main.c:1560
msgid "-M ignored: MPFR/GMP support not compiled in"
msgstr "-M bị bỏ qua: chưa biên dịch phần hỗ trợ MPFR/GMP"
-#: main.c:1577
+#: main.c:1581
#, 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:1630
+#: main.c:1634
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: tùy chọn cần đến đối số “-- %c”\n"
@@ -3269,16 +3276,16 @@ msgstr "%s %s “%s”: không thể lấy cờ mô tả (fd): (fcntl F_GETFD: %
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s “%s”: không thể đặt “close-on-exec” (đóng một khi thực hiện): (fcntl F_SETFD: %s)"
-#: profile.c:71
+#: profile.c:91
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "không thể mở “%s” để ghi: %s"
-#: profile.c:73
+#: profile.c:93
msgid "sending profile to standard error"
msgstr "đang gửi hồ sơ cho thiết bị lỗi chuẩn"
-#: profile.c:193
+#: profile.c:213
#, c-format
msgid ""
"\t# %s rule(s)\n"
@@ -3287,7 +3294,7 @@ msgstr ""
"\t# Quy tắc %s\n"
"\n"
-#: profile.c:198
+#: profile.c:218
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3296,16 +3303,16 @@ msgstr ""
"\t# Quy tắc\n"
"\n"
-#: profile.c:272
+#: profile.c:292
#, c-format
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:538
+#: profile.c:558
msgid "internal error: builtin with null fname"
msgstr "lỗi nội bộ: phần dựng sẵn với fname là null"
-#: profile.c:958
+#: profile.c:978
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3314,12 +3321,12 @@ msgstr ""
"\t# Các phần mở rộng được tải (-l và/hoặc @load)\n"
"\n"
-#: profile.c:981
+#: profile.c:1001
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# hồ sơ gawk, được tạo %s\n"
-#: profile.c:1535
+#: profile.c:1555
#, c-format
msgid ""
"\n"
@@ -3328,7 +3335,7 @@ msgstr ""
"\n"
"\t# Danh sách các hàm theo thứ tự abc\n"
-#: profile.c:1573
+#: profile.c:1593
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: không hiểu kiểu chuyển hướng %d"
diff --git a/profile.c b/profile.c
index dc887e97..dcc2946c 100644
--- a/profile.c
+++ b/profile.c
@@ -1359,7 +1359,7 @@ pp_string(const char *in_str, size_t len, int delim)
osiz *= 2; \
} ofre -= (l)
- osiz = len + 3 + 2; /* initial size; 3 for delim + terminating null */
+ osiz = len + 3 + 1; /* initial size; 3 for delim + terminating null */
emalloc(obuf, char *, osiz, "pp_string");
obufout = obuf;
ofre = osiz - 1;
@@ -1371,10 +1371,9 @@ pp_string(const char *in_str, size_t len, int delim)
*obufout++ = '\\';
*obufout++ = delim;
} else if (*str == '\0') {
- chksize(4);
-
*obufout++ = '\\';
*obufout++ = '0';
+ chksize(2); /* need 2 more chars for this case */
*obufout++ = '0';
*obufout++ = '0';
} else if ((cp = strchr(escapes, *str)) != NULL) {
@@ -1384,7 +1383,7 @@ pp_string(const char *in_str, size_t len, int delim)
/* NB: Deliberate use of lower-case versions. */
} else if (isascii(*str) && isprint(*str)) {
*obufout++ = *str;
- ofre += 1;
+ ofre += 1; /* used 1 less than expected */
} else {
size_t len;
@@ -1607,7 +1606,7 @@ pp_group3(const char *s1, const char *s2, const char *s3)
len1 = strlen(s1);
len2 = strlen(s2);
len3 = strlen(s3);
- l = len1 + len2 + len3 + 2;
+ l = len1 + len2 + len3 + 1;
emalloc(str, char *, l, "pp_group3");
s = str;
if (len1 > 0) {
diff --git a/re.c b/re.c
index c0d2e90e..39453b1c 100644
--- a/re.c
+++ b/re.c
@@ -75,10 +75,10 @@ make_regexp(const char *s, size_t len, bool ignorecase, bool dfa, bool canfatal)
* from that.
*/
if (buf == NULL) {
- emalloc(buf, char *, len + 2, "make_regexp");
+ emalloc(buf, char *, len + 1, "make_regexp");
buflen = len;
} else if (len > buflen) {
- erealloc(buf, char *, len + 2, "make_regexp");
+ erealloc(buf, char *, len + 1, "make_regexp");
buflen = len;
}
dest = buf;
diff --git a/test/ChangeLog b/test/ChangeLog
index 2cd78a91..b84345f9 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (shadowbuiltin): New test.
+ * shadowbuiltin.awk, shadowbuiltin.ok: New files.
+
2015-04-14 Arnold D. Robbins <arnold@skeeve.com>
* indirectbuiltin.awk: Add another test (gensub 3 args).
diff --git a/test/Makefile.am b/test/Makefile.am
index 9ec3fc6c..d700f475 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -868,6 +868,8 @@ EXTRA_DIST = \
sclifin.ok \
shadow.awk \
shadow.ok \
+ shadowbuiltin.awk \
+ shadowbuiltin.ok \
sort1.awk \
sort1.ok \
sortempty.awk \
@@ -1075,7 +1077,8 @@ GAWK_EXT_TESTS = \
profile0 profile1 profile2 profile3 profile4 profile5 profile6 profile7 \
profile8 pty1 \
rebuf regnul1 regnul2 regx8bit reginttrad reint reint2 rsgetline rsglstdin rsstart1 \
- rsstart2 rsstart3 rstest6 shadow sortfor sortu split_after_fpat \
+ rsstart2 rsstart3 rstest6 shadow shadowbuiltin \
+ sortfor sortu split_after_fpat \
splitarg4 strftime \
strtonum switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 \
symtab7 symtab8 symtab9 \
diff --git a/test/Makefile.in b/test/Makefile.in
index 9c01d192..b3a07283 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1125,6 +1125,8 @@ EXTRA_DIST = \
sclifin.ok \
shadow.awk \
shadow.ok \
+ shadowbuiltin.awk \
+ shadowbuiltin.ok \
sort1.awk \
sort1.ok \
sortempty.awk \
@@ -1331,7 +1333,8 @@ GAWK_EXT_TESTS = \
profile0 profile1 profile2 profile3 profile4 profile5 profile6 profile7 \
profile8 pty1 \
rebuf regnul1 regnul2 regx8bit reginttrad reint reint2 rsgetline rsglstdin rsstart1 \
- rsstart2 rsstart3 rstest6 shadow sortfor sortu split_after_fpat \
+ rsstart2 rsstart3 rstest6 shadow shadowbuiltin \
+ sortfor sortu split_after_fpat \
splitarg4 strftime \
strtonum switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 \
symtab7 symtab8 symtab9 \
@@ -3786,6 +3789,11 @@ shadow:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+shadowbuiltin:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
sortfor:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index 219d592d..aa328bf7 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1247,6 +1247,11 @@ shadow:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+shadowbuiltin:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
sortfor:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/shadowbuiltin.awk b/test/shadowbuiltin.awk
new file mode 100644
index 00000000..3ae21725
--- /dev/null
+++ b/test/shadowbuiltin.awk
@@ -0,0 +1,10 @@
+function foo(gensub)
+{
+ print gensub
+ print lshift(1, 1)
+}
+
+BEGIN {
+ x = 5
+ foo(x)
+}
diff --git a/test/shadowbuiltin.ok b/test/shadowbuiltin.ok
new file mode 100644
index 00000000..47586a86
--- /dev/null
+++ b/test/shadowbuiltin.ok
@@ -0,0 +1,2 @@
+5
+2