summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-04-13 10:56:48 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-04-13 10:56:48 +0300
commit06a351f8774409db0d9c72ac4a51652f7c855c06 (patch)
tree2d881ae0c120539dc57c597e04cdf7d1b10cefd4
parent894bf983b22e22e46c1df0460a6f215ca21fc76e (diff)
parent0325b4daf737414c3b811b05c70b897b807a436b (diff)
downloadgawk-06a351f8774409db0d9c72ac4a51652f7c855c06.tar.gz
Merge branch 'gawk-4.1-stable'
-rw-r--r--ChangeLog18
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in2
-rw-r--r--README_d/ChangeLog4
-rw-r--r--README_d/README.macosx12
-rw-r--r--po/sv.po592
-rw-r--r--regcomp.c7
-rw-r--r--regex_internal.h30
-rw-r--r--regexec.c16
9 files changed, 308 insertions, 375 deletions
diff --git a/ChangeLog b/ChangeLog
index 21a77c8b..1e697ec6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,21 @@
+2015-04-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * regcomp.c (analyze): Prevent malloc(0).
+ * regex_internal.h (test_malloc, test_realloc): New functions
+ that check for zero count.
+ (re_malloc, re_realloc): Adjust to call the new functions for gawk.
+ * regexec.c (buid_trtable, match_ctx_clean): Replace malloc/free
+ with re_malloc/re_free.
+
+2015-04-12 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (efence): Make this link again.
+ Thanks to Michal Jaegermann for pointing out the problem.
+
2015-04-08 John E. Malmberg <wb8tyw@qsl.net>
- * custom.h: VMS shares some code paths with ZOS_USS in
- building gawkfts extension.
+ * custom.h: VMS shares some code paths with ZOS_USS in
+ building gawkfts extension.
2015-04-08 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/Makefile.am b/Makefile.am
index 9119ad91..ac3b227b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -204,7 +204,7 @@ command.c: command.y
# This is for my development & testing.
efence: gawk
- $(CC) $(LDFLAGS) -o gawk $$(ls *.o | grep -v '_p.o$$') $(LIBS) -lefence
+ $(CC) $(LDFLAGS) -o gawk $$(ls *.o | grep -v '_p.o$$') $(LDADD) $(LIBS) -lefence
diffout valgrind-scan:
@cd test && $(MAKE) $(AM_MAKEFLAGS) $@
diff --git a/Makefile.in b/Makefile.in
index 7e39cbf7..c7da008e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1222,7 +1222,7 @@ command.c: command.y
# This is for my development & testing.
efence: gawk
- $(CC) $(LDFLAGS) -o gawk $$(ls *.o | grep -v '_p.o$$') $(LIBS) -lefence
+ $(CC) $(LDFLAGS) -o gawk $$(ls *.o | grep -v '_p.o$$') $(LDADD) $(LIBS) -lefence
diffout valgrind-scan:
@cd test && $(MAKE) $(AM_MAKEFLAGS) $@
diff --git a/README_d/ChangeLog b/README_d/ChangeLog
index 8fe1b447..861891bd 100644
--- a/README_d/ChangeLog
+++ b/README_d/ChangeLog
@@ -1,3 +1,7 @@
+2015-04-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * README.macosx: Updated.
+
2015-04-09 Arnold D. Robbins <arnold@skeeve.com>
* README.macosx: New file.
diff --git a/README_d/README.macosx b/README_d/README.macosx
index 884ad59a..92745bea 100644
--- a/README_d/README.macosx
+++ b/README_d/README.macosx
@@ -1,3 +1,15 @@
+Mon Apr 13 09:49:40 IDT 2015
+============================
+
+I have reports of success on this compiler:
+
+$ gcc --version
+Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr
+--with-gxx-include-dir=/usr/include/c++/4.2.1
+Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
+Target: x86_64-apple-darwin14.1.0
+Thread model: posix
+
Thu Apr 9 10:39:26 IDT 2015
============================
diff --git a/po/sv.po b/po/sv.po
index 5c53e5f8..08118ae4 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,18 +1,18 @@
# Swedish translation of gawk
-# Copyright © 2003, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+# Copyright © 2003, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
#
# Martin Sjögren <md9ms@mdstud.chalmers.se>, 2001-2002.
# Christer Andersson <klamm@comhem.se>, 2007.
-# Göran Uddeborg <goeran@uddeborg.se>, 2011, 2012, 2013, 2014.
+# Göran Uddeborg <goeran@uddeborg.se>, 2011, 2012, 2013, 2014, 2015.
#
-# $Revision: 1.15 $
+# $Revision: 1.17 $
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.1.0b\n"
+"Project-Id-Version: gawk 4.1.1c\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
-"POT-Creation-Date: 2015-02-26 20:05+0200\n"
-"PO-Revision-Date: 2014-09-22 09:12+0200\n"
+"POT-Creation-Date: 2015-04-07 17:32+0300\n"
+"PO-Revision-Date: 2015-04-10 22:33+0200\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -78,27 +78,19 @@ msgstr "asorti: första argumentet är inte en vektor"
#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asort: det går inte att använda en delvektor av första argumentet som andra "
-"argument"
+msgstr "asort: det går inte att använda en delvektor av första argumentet som andra argument"
#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asorti: det går inte att använda en delvektor av första argumentet som andra "
-"argument"
+msgstr "asorti: det går inte att använda en delvektor av första argumentet som andra argument"
#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asort: det går inte att använda en delvektor av andra argumentet som första "
-"argument"
+msgstr "asort: det går inte att använda en delvektor av andra argumentet som första argument"
#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asorti: det går inte att använda en delvektor av andra argumentet som första "
-"argument"
+msgstr "asorti: det går inte att använda en delvektor av andra argumentet som första argument"
#: array.c:1313
#, c-format
@@ -110,408 +102,396 @@ msgstr "”%s” är ogiltigt som ett funktionsnamn"
msgid "sort comparison function `%s' is not defined"
msgstr "jämförelsefunktionen ”%s” för sortering är inte definierad"
-#: awkgram.y:226
+#: awkgram.y:225
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s-block måste ha en åtgärdsdel"
-#: awkgram.y:229
+#: awkgram.y:228
msgid "each rule must have a pattern or an action part"
msgstr "varje regel måste ha ett mönster eller en åtgärdsdel"
-#: awkgram.y:320 awkgram.y:331
+#: awkgram.y:319 awkgram.y:330
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "gamla awk stöder inte flera ”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“ är en inbyggd funktion, den kan inte definieras om"
-#: awkgram.y:417
+#: awkgram.y:416
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr "regexp-konstanten \"//\" ser ut som en C++-kommentar men är inte det"
-#: 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 ut som en C-kommentar men är inte det"
-#: awkgram.y:513
+#: awkgram.y:512
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "upprepade case-värden i switch-sats: %s"
-#: awkgram.y:534
+#: awkgram.y:533
msgid "duplicate `default' detected in switch body"
msgstr "flera \"default\" upptäcktes i switch-sats"
-#: awkgram.y:794 awkgram.y:3751
+#: awkgram.y:793 awkgram.y:3750
msgid "`break' is not allowed outside a loop or switch"
msgstr "\"break\" är inte tillåtet utanför en slinga eller switch"
-#: awkgram.y:803 awkgram.y:3743
+#: awkgram.y:802 awkgram.y:3742
msgid "`continue' is not allowed outside a loop"
msgstr "\"continue\" är inte tillåtet utanför en slinga"
-#: awkgram.y:813
+#: awkgram.y:812
#, c-format
msgid "`next' used in %s action"
msgstr "\"next\" använt i %s-åtgärd"
-#: awkgram.y:822
+#: awkgram.y:821
#, c-format
msgid "`nextfile' used in %s action"
msgstr "\"nextfile\" använt i %s-åtgärd"
-#: awkgram.y:846
+#: awkgram.y:845
msgid "`return' used outside function context"
msgstr "\"return\" använd utanför funktion"
-#: awkgram.y:920
+#: awkgram.y:919
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
-msgstr ""
-"ensamt \"print\" i BEGIN eller END-regel bör troligen vara 'print \"\"'"
+msgstr "ensamt \"print\" i BEGIN eller END-regel bör troligen vara 'print \"\"'"
-#: awkgram.y:986 awkgram.y:1035
+#: awkgram.y:985 awkgram.y:1034
msgid "`delete' is not allowed with SYMTAB"
msgstr "”delete” är inte tillåtet med SYMTAB"
-#: awkgram.y:988 awkgram.y:1037
+#: awkgram.y:987 awkgram.y:1036
msgid "`delete' is not allowed with FUNCTAB"
msgstr "”delete” är inte tillåtet med 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)\" är en icke portabel tawk-utökning"
-#: awkgram.y:1147
+#: awkgram.y:1146
msgid "multistage two-way pipelines don't work"
msgstr "flerstegs dubbelriktade rör fungerar inte"
-#: awkgram.y:1262
+#: awkgram.y:1261
msgid "regular expression on right of assignment"
msgstr "reguljärt uttryck i högerledet av en tilldelning"
-#: awkgram.y:1273
+#: awkgram.y:1272
msgid "regular expression on left of `~' or `!~' operator"
msgstr "reguljärt uttryck på vänster sida om 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 "gamla awk stöder inte operatorn \"**\""
-#: awkgram.y:1299
+#: awkgram.y:1298
msgid "regular expression on right of comparison"
msgstr "reguljärt uttryck i högerledet av en jämförelse"
-#: awkgram.y:1411
-#, fuzzy, c-format
+#: awkgram.y:1410
+#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "\"getline är ogiltigt inuti \"%s\"-regel"
+msgstr "icke omdirigerad ”getline” är ogiltigt inuti \"%s\"-regel"
-#: awkgram.y:1414
+#: awkgram.y:1413
msgid "non-redirected `getline' undefined inside END action"
msgstr "icke omdirigerad \"getline\" odefinierad inuti END-åtgärd"
-#: awkgram.y:1433
+#: awkgram.y:1432
msgid "old awk does not support multidimensional arrays"
msgstr "gamla awk stöder inte flerdimensionella vektorer"
-#: awkgram.y:1530
+#: awkgram.y:1529
msgid "call of `length' without parentheses is not portable"
msgstr "anrop av \"length\" utan parenteser är inte portabelt"
-#: awkgram.y:1596
+#: awkgram.y:1595
msgid "indirect function calls are a gawk extension"
msgstr "indirekta funktionsanrop är en gawk-utökning"
-#: awkgram.y:1609
+#: awkgram.y:1608
#, c-format
msgid "can not use special variable `%s' for indirect function call"
-msgstr ""
-"det går inte att använda specialvariabeln \"%s\" för indirekta fuktionsanrop"
+msgstr "det går inte att använda specialvariabeln \"%s\" för indirekta fuktionsanrop"
-#: awkgram.y:1635
+#: awkgram.y:1634
#, c-format
msgid "attempt to use non-function `%s' in function call"
-msgstr ""
+msgstr "försök att använda en icke-funktion ”%s” i ett funktionsanrop"
-#: awkgram.y:1699
+#: awkgram.y:1698
msgid "invalid subscript expression"
msgstr "ogiltig indexuttryck"
-#: 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 "varning: "
-#: 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 "ödesdigert: "
-#: awkgram.y:2113
+#: awkgram.y:2112
msgid "unexpected newline or end of string"
msgstr "oväntat nyradstecken eller slut på strängen"
-#: 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 inte öppna källfilen \"%s\" för läsning (%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 "kan inte öppna det delade biblioteket ”%s” för läsning (%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 "okänd anledning"
-#: 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 "kan inte inkludera ”%s” och använda den som en programfil"
-#: awkgram.y:2417
+#: awkgram.y:2416
#, c-format
msgid "already included source file `%s'"
msgstr "inkluderade redan källfilen \"%s\""
-#: awkgram.y:2418
+#: awkgram.y:2417
#, c-format
msgid "already loaded shared library `%s'"
msgstr "inkluderade redan det delade biblioteket ”%s”"
-#: awkgram.y:2453
+#: awkgram.y:2452
msgid "@include is a gawk extension"
msgstr "@include är en gawk-utökning"
-#: awkgram.y:2459
+#: awkgram.y:2458
msgid "empty filename after @include"
msgstr "tomt filnamn efter @include"
-#: awkgram.y:2503
+#: awkgram.y:2502
msgid "@load is a gawk extension"
msgstr "@load är en gawk-utökning"
-#: awkgram.y:2509
+#: awkgram.y:2508
msgid "empty filename after @load"
msgstr "tomt filnamn efter @load"
-#: awkgram.y:2643
+#: awkgram.y:2642
msgid "empty program text on command line"
msgstr "tom programtext på kommandoraden"
-#: awkgram.y:2758
+#: awkgram.y:2757
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "kan inte läsa källfilen \"%s\" (%s)"
-#: awkgram.y:2769
+#: awkgram.y:2768
#, c-format
msgid "source file `%s' is empty"
msgstr "källfilen \"%s\" är tom"
-#: awkgram.y:2828
+#: awkgram.y:2827
#, c-format
msgid "PEBKAC error: invalid character '\\%03o' in source code"
-msgstr ""
+msgstr "PEBKAC-fel: ogiltigt tecken ”\\%03o” i källkodenc"
-#: awkgram.y:2959
+#: awkgram.y:2958
msgid "source file does not end in newline"
msgstr "källfilen slutar inte med en ny rad"
-#: awkgram.y:3062
+#: awkgram.y:3061
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "oavslutat reguljärt uttryck slutar med \"\\\" i slutet av filen"
-#: awkgram.y:3089
+#: awkgram.y:3088
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"%s: %d: tawk-modifierare för reguljära uttryck \"/.../%c\" fungerar inte i "
-"gawk"
+msgstr "%s: %d: tawk-modifierare för reguljära uttryck \"/.../%c\" fungerar inte i gawk"
-#: awkgram.y:3093
+#: awkgram.y:3092
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"tawk-modifierare för reguljära uttryck \"/.../%c\" fungerar inte i gawk"
+msgstr "tawk-modifierare för reguljära uttryck \"/.../%c\" fungerar inte i gawk"
-#: awkgram.y:3100
+#: awkgram.y:3099
msgid "unterminated regexp"
msgstr "oavslutat reguljärt uttryck"
-#: awkgram.y:3104
+#: awkgram.y:3103
msgid "unterminated regexp at end of file"
msgstr "oavslutat reguljärt uttryck i slutet av filen"
-#: awkgram.y:3162
+#: awkgram.y:3161
msgid "use of `\\ #...' line continuation is not portable"
msgstr "Användning av \"\\ #...\" för radfortsättning är inte portabelt"
-#: awkgram.y:3178
+#: awkgram.y:3177
msgid "backslash not last character on line"
msgstr "sista tecknet på raden är inte ett omvänt snedstreck"
-#: awkgram.y:3239
+#: awkgram.y:3238
msgid "POSIX does not allow operator `**='"
msgstr "POSIX tillåter inte operatorn \"**=\""
-#: awkgram.y:3241
+#: awkgram.y:3240
msgid "old awk does not support operator `**='"
msgstr "gamla awk stöder inte operatorn \"**=\""
-#: awkgram.y:3250
+#: awkgram.y:3249
msgid "POSIX does not allow operator `**'"
msgstr "POSIX tillåter inte operatorn \"**\""
-#: awkgram.y:3252
+#: awkgram.y:3251
msgid "old awk does not support operator `**'"
msgstr "gamla awk stöder inte operatorn \"**\""
-#: awkgram.y:3287
+#: awkgram.y:3286
msgid "operator `^=' is not supported in old awk"
msgstr "operatorn \"^=\" stöds inte i gamla awk"
-#: awkgram.y:3295
+#: awkgram.y:3294
msgid "operator `^' is not supported in old awk"
msgstr "operatorn \"^\" stöds inte i gamla awk"
-#: awkgram.y:3392 awkgram.y:3410 command.y:1180
+#: awkgram.y:3391 awkgram.y:3409 command.y:1180
msgid "unterminated string"
msgstr "oavslutad sträng"
-#: awkgram.y:3631
+#: awkgram.y:3630
#, c-format
msgid "invalid char '%c' in expression"
msgstr "ogiltigt tecken \"%c\" i uttryck"
-#: awkgram.y:3678
+#: awkgram.y:3677
#, c-format
msgid "`%s' is a gawk extension"
msgstr "\"%s\" är en gawk-utökning"
-#: awkgram.y:3683
+#: awkgram.y:3682
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX tillåter inte \"%s\""
-#: awkgram.y:3691
+#: awkgram.y:3690
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "\"%s\" stöds inte i gamla awk"
-#: awkgram.y:3781
+#: awkgram.y:3780
msgid "`goto' considered harmful!\n"
msgstr "\"goto\" anses skadlig!\n"
-#: awkgram.y:3815
+#: awkgram.y:3814
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d är ett ogiltigt antal argument 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: bokstavlig sträng som sista argument till ersättning har ingen effekt"
+msgstr "%s: bokstavlig sträng som sista argument till ersättning har ingen effekt"
-#: awkgram.y:3855
+#: awkgram.y:3854
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s: tredje argumentet är inte ett ä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 argumentet är en gawk-utökning"
-#: awkgram.y:3995 awkgram.y:3998
+#: awkgram.y:3994 awkgram.y:3997
msgid "close: second argument is a gawk extension"
msgstr "close: andra argumentet är en gawk-utökning"
-#: awkgram.y:4010
+#: awkgram.y:4009
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"användandet av dcgettext(_\"...\") är felaktigt: ta bort det inledande "
-"understrykningstecknet"
+msgstr "användandet av dcgettext(_\"...\") är felaktigt: ta bort det inledande understrykningstecknet"
-#: awkgram.y:4025
+#: awkgram.y:4024
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"användandet av dcngettext(_\"...\") är felaktigt: ta bort det inledande "
-"understrykningstecknet"
+msgstr "användandet av dcngettext(_\"...\") är felaktigt: ta bort det inledande understrykningstecknet"
-#: awkgram.y:4044
+#: awkgram.y:4043
msgid "index: regexp constant as second argument is not allowed"
msgstr "index: reguljäruttryck som andra argumentet är inte tillåtet"
-#: awkgram.y:4097
+#: awkgram.y:4096
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktionen \"%s\": parametern \"%s\" överskuggar 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 "kunde inte öppna \"%s\" för skrivning (%s)"
-#: awkgram.y:4155
+#: awkgram.y:4154
msgid "sending variable list to standard error"
msgstr "skickar variabellista till standard fel"
-#: awkgram.y:4163
+#: awkgram.y:4162
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: misslyckades att stänga (%s)"
-#: awkgram.y:4188
+#: awkgram.y:4187
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() anropad två gånger!"
-#: awkgram.y:4196
+#: awkgram.y:4195
msgid "there were shadowed variables."
msgstr "det fanns överskuggade variabler."
-#: awkgram.y:4267
+#: awkgram.y:4266
#, c-format
msgid "function name `%s' previously defined"
msgstr "funktionsnamnet \"%s\" är definierat sedan tidigare"
-#: awkgram.y:4313
+#: awkgram.y:4312
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funktionen \"%s\": kan inte använda funktionsnamn som parameternamn"
-#: awkgram.y:4316
+#: awkgram.y:4315
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
-msgstr ""
-"funktionen \"%s\": det går inte att använda specialvariabeln \"%s\" som en "
-"funktionsparameter"
+msgstr "funktionen \"%s\": det går inte att använda specialvariabeln \"%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\", är samma 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\" anropad men aldrig definierad"
-#: awkgram.y:4421
+#: awkgram.y:4420
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktionen \"%s\" definierad men aldrig anropad direkt"
-#: awkgram.y:4453
+#: awkgram.y:4452
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "konstant reguljärt uttryck för parameter %d ger ett booleskt värde"
-#: awkgram.y:4468
+#: awkgram.y:4467
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -520,23 +500,20 @@ msgstr ""
"funktionen \"%s\" anropad med blanktecken mellan namnet och \"(\",\n"
"eller använd som variabel eller vektor"
-#: awkgram.y:4674
+#: awkgram.y:4673
msgid "division by zero attempted"
msgstr "försökte dividera med noll"
-#: awkgram.y:4683
+#: awkgram.y:4682
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "försökte dividera med noll i \"%%\""
-#: awkgram.y:5003
-msgid ""
-"cannot assign a value to the result of a field post-increment expression"
-msgstr ""
-"kan inte tilldela ett värde till uttryck som är en efterinkrementering av "
-"ett fält"
+#: awkgram.y:5002
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr "kan inte tilldela ett värde till uttryck som är en efterinkrementering av ett fält"
-#: awkgram.y:5006
+#: awkgram.y:5005
#, c-format
msgid "invalid target of assignment (opcode %s)"
msgstr "ogiltigt mål för tilldelning (op-kod %s)"
@@ -562,14 +539,12 @@ msgstr "exp: argumentet %g är inte inom tillåten gräns"
#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
-msgstr ""
-"fflush: kan inte spola: röret \"%s\" öppnat för läsning, inte skrivning"
+msgstr "fflush: kan inte spola: röret \"%s\" öppnat för läsning, inte skrivning"
#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
-msgstr ""
-"fflush: kan inte spola: filen \"%s\" öppnad för läsning, inte skrivning"
+msgstr "fflush: kan inte spola: filen \"%s\" öppnad för läsning, inte skrivning"
#: builtin.c:244
#, c-format
@@ -647,9 +622,7 @@ msgstr "ödesdigert: \"$\" tillåts inte efter en punkt i formatet"
#: builtin.c:921
msgid "fatal: no `$' supplied for positional field width or precision"
-msgstr ""
-"ödesdigert: inget \"$\" bifogat för positionsangiven fältbredd eller "
-"precision"
+msgstr "ödesdigert: inget \"$\" bifogat för positionsangiven fältbredd eller precision"
#: builtin.c:991
msgid "`l' is meaningless in awk formats; ignored"
@@ -676,14 +649,14 @@ msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"h\" tillåts inte i POSIX awk-format"
#: builtin.c:1055
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is too big for %%c format"
-msgstr "[s]printf: värdet %g är utanför \"%%%c\"-formatets giltiga intervall"
+msgstr "[s]printf: värdet %g är utanför formatet %%c giltiga intervall"
#: builtin.c:1068
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is not a valid wide character"
-msgstr "[s]printf: värdet %g är utanför \"%%%c\"-formatets giltiga intervall"
+msgstr "[s]printf: värdet %g är inte ett giltigt brett tecken "
#: builtin.c:1454
#, c-format
@@ -693,8 +666,7 @@ msgstr "[s]printf: värdet %g är utanför \"%%%c\"-formatets giltiga intervall"
#: builtin.c:1552
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"ignorerar okänt formatspecifikationstecken \"%c\": inget argument konverterat"
+msgstr "ignorerar okänt formatspecifikationstecken \"%c\": inget argument konverterat"
#: builtin.c:1557
msgid "fatal: not enough arguments to satisfy format string"
@@ -770,11 +742,8 @@ msgstr "substr: startindex %g är bortom strängens slut"
#: builtin.c:1820
#, c-format
-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)"
+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
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
@@ -850,118 +819,128 @@ msgid "match: third argument is not an array"
msgstr "match: tredje argumentet är inte en vektor"
#: builtin.c:2705
-#, fuzzy, c-format
+#, c-format
msgid "gensub: third argument `%.*s' treated as 1"
-msgstr "gensub: nollan i tredje argumentet behandlad som en etta"
+msgstr "gensub: tredje argumentet ”%.*s” behandlat som 1"
#: builtin.c:2720
-#, fuzzy, c-format
+#, c-format
msgid "gensub: third argument %g treated as 1"
-msgstr "gensub: nollan i tredje argumentet behandlad som en etta"
+msgstr "gensub: tredje argumentet %g behandlat som 1"
+
+#: builtin.c:3018
+#, c-format
+msgid "%s: can be called indirectly only with two arguments"
+msgstr "%s: kan anropas indirekt endast med två argument"
-#: builtin.c:3020
+#: builtin.c:3108
+#, 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
msgid "lshift: received non-numeric first argument"
msgstr "lshift: fick ett ickenumeriskt första argument"
-#: builtin.c:3022
+#: builtin.c:3162
msgid "lshift: received non-numeric second argument"
msgstr "lshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:3028
+#: builtin.c:3168
#, 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:3030
+#: builtin.c:3170
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): flyttalsvärden kommer huggas av"
-#: builtin.c:3032
+#: builtin.c:3172
#, 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:3057
+#: builtin.c:3197
msgid "rshift: received non-numeric first argument"
msgstr "rshift: fick ett ickenumeriskt första argument"
-#: builtin.c:3059
+#: builtin.c:3199
msgid "rshift: received non-numeric second argument"
msgstr "rshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:3065
+#: builtin.c:3205
#, 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:3067
+#: builtin.c:3207
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): flyttalsvärden kommer huggas av"
-#: builtin.c:3069
+#: builtin.c:3209
#, 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:3094 mpfr.c:988
+#: builtin.c:3234 mpfr.c:988
msgid "and: called with less than two arguments"
msgstr "and: anropad med mindre än två argument"
-#: builtin.c:3099
+#: builtin.c:3239
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: argument %d är inte numeriskt"
-#: builtin.c:3103
+#: builtin.c:3243
#, 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:3126 mpfr.c:1020
+#: builtin.c:3266 mpfr.c:1020
msgid "or: called with less than two arguments"
msgstr "or: anropad med färre än två argument"
-#: builtin.c:3131
+#: builtin.c:3271
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: argument %d är inte numeriskt"
-#: builtin.c:3135
+#: builtin.c:3275
#, 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:3157 mpfr.c:1051
+#: builtin.c:3297 mpfr.c:1051
msgid "xor: called with less than two arguments"
msgstr "xor: anropad med färre än två argument"
-#: builtin.c:3163
+#: builtin.c:3303
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: argument %d är inte numeriskt"
-#: builtin.c:3167
+#: builtin.c:3307
#, 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:3192 mpfr.c:807
+#: builtin.c:3332 mpfr.c:807
msgid "compl: received non-numeric argument"
msgstr "compl: fick ett ickenumeriskt argument"
-#: builtin.c:3198
+#: builtin.c:3338
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): negativt värde kommer ge konstiga resultat"
-#: builtin.c:3200
+#: builtin.c:3340
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): flyttalsvärde kommer huggas av"
-#: builtin.c:3369
+#: builtin.c:3509
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: \"%s\" är inte en giltig lokalkategori"
@@ -993,9 +972,7 @@ msgstr "save \"%s\": kommandot inte tillåtet."
#: command.y:339
msgid "Can't use command `commands' for breakpoint/watchpoint commands"
-msgstr ""
-"Det går inte att använda kommandot ”commands” i brytpunkts-/"
-"observationspunktskommandon"
+msgstr "Det går inte att använda kommandot ”commands” i brytpunkts-/observationspunktskommandon"
#: command.y:341
msgid "no breakpoint/watchpoint has been set yet"
@@ -1069,16 +1046,11 @@ msgid "non-zero integer value"
msgstr "heltalsvärde som inte är noll"
#: command.y:817
-msgid ""
-"backtrace [N] - print trace of all or N innermost (outermost if N < 0) "
-"frames."
-msgstr ""
-"backtrace [N] - skriv ett spår över alla eller N innersta (yttersta om N < "
-"0) ramar."
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "backtrace [N] - skriv ett spår över alla eller N innersta (yttersta om N < 0) ramar."
#: 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 "break [[filename:]N|function] - sätt brytpunkt på den angivna platsen."
#: command.y:821
@@ -1086,18 +1058,12 @@ msgid "clear [[filename:]N|function] - delete breakpoints previously set."
msgstr "clear [[filnamn:]N|funktion] - radera tidigare satta brytpunkter."
#: command.y:823
-msgid ""
-"commands [num] - starts a list of commands to be executed at a "
-"breakpoint(watchpoint) hit."
-msgstr ""
-"commands [num] - startar en lista av kommandon att köra när en "
-"brytpunkt(observationspunkt) träffas."
+msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit."
+msgstr "commands [num] - startar en lista av kommandon att köra när en brytpunkt(observationspunkt) träffas."
#: command.y:825
msgid "condition num [expr] - set or clear breakpoint or watchpoint condition."
-msgstr ""
-"condition num [uttr] - sätt eller töm en brytpunkts eller observationspunkts "
-"villkor."
+msgstr "condition num [uttr] - sätt eller töm en brytpunkts eller observationspunkts villkor."
#: command.y:827
msgid "continue [COUNT] - continue program being debugged."
@@ -1113,8 +1079,7 @@ msgstr "disable [brytpunkter] [intervall] - avaktivera angivna brytpunkter."
#: command.y:833
msgid "display [var] - print value of variable each time the program stops."
-msgstr ""
-"display [var] - skriv ut värdet på variabeln varje gång programmet stoppar."
+msgstr "display [var] - skriv ut värdet på variabeln varje gång programmet stoppar."
#: command.y:835
msgid "down [N] - move N frames down the stack."
@@ -1126,8 +1091,7 @@ msgstr "dump [filnamn] - skriv instruktioner till filen eller standard ut."
#: command.y:839
msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints."
-msgstr ""
-"enable [once|del] [brytpunkter] [intervall] - aktivera angivna brytpunkter."
+msgstr "enable [once|del] [brytpunkter] [intervall] - aktivera angivna brytpunkter."
#: command.y:841
msgid "end - end a list of commands or awk statements."
@@ -1147,21 +1111,15 @@ msgstr "frame [N] - välj och skriv ut stackram nummer N."
#: command.y:849
msgid "help [command] - print list of commands or explanation of command."
-msgstr ""
-"help [kommando] - skriv listan av kommandon eller en förklaring av kommando."
+msgstr "help [kommando] - skriv listan av kommandon eller en förklaring av kommando."
#: command.y:851
msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
-msgstr ""
-"ignore N ANTAL - sätt ignoreringsantal på brytpunkt nummer N till ANTAL."
+msgstr "ignore N ANTAL - sätt ignoreringsantal på brytpunkt nummer N till ANTAL."
#: command.y:853
-msgid ""
-"info topic - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
-msgstr ""
-"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 "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
#: command.y:855
msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
@@ -1172,8 +1130,7 @@ msgid "next [COUNT] - step program, proceeding through subroutine calls."
msgstr "next [ANTAL] - stega programmet, passera genom subrutinanrop."
#: 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 "nexti [ANTAL] - stega en instruktion, men passera genom subrutinanrop."
#: command.y:861
@@ -1209,11 +1166,8 @@ msgid "set var = value - assign value to a scalar variable."
msgstr "set var = värde - tilldela värde till en skalär variabel."
#: command.y:879
-msgid ""
-"silent - suspends usual message when stopped at a breakpoint/watchpoint."
-msgstr ""
-"silent - undertrycker normala meddelanden vid stopp på en brytpunkt/"
-"observationspunkt. "
+msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint."
+msgstr "silent - undertrycker normala meddelanden vid stopp på en brytpunkt/observationspunkt. "
#: command.y:881
msgid "source file - execute commands from file."
@@ -1240,12 +1194,8 @@ msgid "undisplay [N] - remove variable(s) from automatic display list."
msgstr "undisplay [N] - ta bort variabler från listan över automatiskt visade."
#: command.y:893
-msgid ""
-"until [[filename:]N|function] - execute until program reaches a different "
-"line or line N within current frame."
-msgstr ""
-"until [[filenamn:]N|funktion] - kör tills programmet når en annan rad eller "
-"rad N inom aktuell ram."
+msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame."
+msgstr "until [[filenamn:]N|funktion] - kör tills programmet når en annan rad eller rad N inom aktuell ram."
#: command.y:895
msgid "unwatch [N] - remove variable(s) from watch list."
@@ -1260,13 +1210,8 @@ msgid "watch var - set a watchpoint for a variable."
msgstr "watch var - sätt en observationspunkt för en variabel."
#: 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] - skriv ett spår över alla eller N innersta (yttersta om N < "
-"0) ramar."
+msgid "where [N] - (same as backtrace) print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "where [N] - (samma som backtrace) skriv ett spår över alla eller N innersta (yttersta om N < 0) ramar."
#: command.y:1013 debug.c:401 msg.c:135
#, c-format
@@ -1556,8 +1501,7 @@ msgstr "försök att använda ett skalärt värde som vektor"
#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
-msgstr ""
-"Observationspunkt %d raderad för att parametern är utanför sin räckvidd.\n"
+msgstr "Observationspunkt %d raderad för att parametern är utanför sin räckvidd.\n"
#: debug.c:1867
#, c-format
@@ -1591,9 +1535,7 @@ msgstr "Ogiltigt ramnummer"
#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Observera: brytpunkt %d (aktiverad, ignorera följande %ld träffar), är också "
-"satt vid %s:%d"
+msgstr "Observera: brytpunkt %d (aktiverad, ignorera följande %ld träffar), är också satt vid %s:%d"
#: debug.c:2207
#, c-format
@@ -1603,9 +1545,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, intorera följande %ld träffar), är också satt vid %s:%d"
#: debug.c:2221
#, c-format
@@ -1799,8 +1739,7 @@ msgstr "”until” är inte meningsfullt med icke lokalt hopp ”%s”\n"
#: debug.c:4185
msgid "\t------[Enter] to continue or q [Enter] to quit------"
-msgstr ""
-"\t------[Retur] för att fortsätta eller a [Retur] för att avsluta------"
+msgstr "\t------[Retur] för att fortsätta eller a [Retur] för att avsluta------"
#: debug.c:4186
msgid "q"
@@ -1827,8 +1766,7 @@ msgstr "”%s” är inte tillåtet i det aktuella sammanhanget; satsen ignorera
#: debug.c:5389
msgid "`return' not allowed in current context; statement ignored"
-msgstr ""
-"”return” är inte tillåtet i det aktuella sammanhanget; satsen ignoreras"
+msgstr "”return” är inte tillåtet i det aktuella sammanhanget; satsen ignoreras"
#: debug.c:5604
#, c-format
@@ -1853,14 +1791,12 @@ msgid "unfinished \\ escape"
msgstr "oavslutad \\-följd"
#: dfa.c:1474
-#, fuzzy
msgid "invalid content of \\{\\}"
-msgstr "Ogiltigt innehåll i \\{\\}"
+msgstr "ogiltigt innehåll i \\{\\}"
#: dfa.c:1477
-#, fuzzy
msgid "regular expression too big"
-msgstr "Reguljärt uttryck för stort"
+msgstr "reguljärt uttryck för stort"
#: dfa.c:1912
msgid "unbalanced ("
@@ -1992,10 +1928,8 @@ msgstr "load_ext: kan inte öppna biblioteket ”%s” (%s)\n"
#: ext.c:80
#, c-format
-msgid ""
-"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
-msgstr ""
-"load_ext: biblioteket ”%s”: definierar inte ”plugin_is_GPL_compatible” (%s)\n"
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgstr "load_ext: biblioteket ”%s”: definierar inte ”plugin_is_GPL_compatible” (%s)\n"
#: ext.c:86
#, c-format
@@ -2005,8 +1939,7 @@ msgstr "load_ext: biblioteket ”%s”: kan inte anropa funktionen ”%s” (%s)
#: ext.c:90
#, c-format
msgid "load_ext: library `%s' initialization routine `%s' failed\n"
-msgstr ""
-"load_ext: initieringsrutinen ”%2$s” i biblioteket ”%1$s” misslyckades\n"
+msgstr "load_ext: initieringsrutinen ”%2$s” i biblioteket ”%1$s” misslyckades\n"
#: ext.c:150
msgid "`extension' is a gawk extension"
@@ -2023,10 +1956,8 @@ msgstr "extension: kan inte öppna biblioteket ”%s” (%s)"
#: ext.c:162
#, c-format
-msgid ""
-"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
-msgstr ""
-"extension: biblioteket ”%s”: definierar inte ”plugin_is_GPL_compatible” (%s)"
+msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
+msgstr "extension: biblioteket ”%s”: definierar inte ”plugin_is_GPL_compatible” (%s)"
#: ext.c:166
#, c-format
@@ -2055,8 +1986,7 @@ msgstr "make_builtin: funktionsnamnet ”%s” är definierat sedan tidigare"
#: ext.c:222
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
-msgstr ""
-"make_builtin: kan inte använda gawks inbyggda ”%s” som ett funktionsnamn"
+msgstr "make_builtin: kan inte använda gawks inbyggda ”%s” som ett funktionsnamn"
#: ext.c:225 ext.c:280
#, c-format
@@ -2090,8 +2020,7 @@ msgstr "extension: funktionsnamnet \"%s\" är definierat sedan tidigare"
#: ext.c:277
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr ""
-"extension: kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
+msgstr "extension: kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
#: ext.c:351
#, c-format
@@ -2269,8 +2198,7 @@ msgstr "inplace_begin: kan inte hämta 1:a argumentet som en filnamnssträng"
#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
-msgstr ""
-"inplace_begin: avaktiverar redigering på plats för ogiltigt FILNAMN ”%s”"
+msgstr "inplace_begin: avaktiverar redigering på plats för ogiltigt FILNAMN ”%s”"
#: extension/inplace.c:151
#, c-format
@@ -2379,7 +2307,7 @@ msgstr "readfile: anropad utan argument"
#: extension/revoutput.c:125
msgid "revoutput: could not initialize REVOUT variable"
-msgstr ""
+msgstr "revoutput: kunde inte initiera REVOUT-variabeln"
#: extension/rwarray.c:124 extension/rwarray0.c:109
msgid "writea: called with too many arguments"
@@ -2471,20 +2399,15 @@ msgstr "split: andra argumentet är inte en vektor"
#: field.c:980
msgid "split: cannot use the same array for second and fourth args"
-msgstr ""
-"split: det går inte att använda samma vektor som andra och fjärde argument"
+msgstr "split: det går inte att använda samma vektor som andra och fjärde argument"
#: field.c:985
msgid "split: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"split: det går inte att använda en delvektor av andra argumentet som fjärde "
-"argument"
+msgstr "split: det går inte att använda en delvektor av andra argumentet som fjärde argument"
#: field.c:988
msgid "split: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"split: det går inte att använda en delvektor av fjärde argumentet som andra "
-"argument"
+msgstr "split: det går inte att använda en delvektor av fjärde argumentet som andra argument"
#: field.c:1019
msgid "split: null string for third arg is a gawk extension"
@@ -2504,20 +2427,15 @@ msgstr "patsplit: tredje argumentet får inte vara tomt"
#: field.c:1074
msgid "patsplit: cannot use the same array for second and fourth args"
-msgstr ""
-"patsplit: det går inte att använda samma vektor som andra och fjärde argument"
+msgstr "patsplit: det går inte att använda samma vektor som andra och fjärde argument"
#: field.c:1079
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"patsplit: det går inte att använda en delvektor av andra argumentet som "
-"fjärde argument"
+msgstr "patsplit: det går inte att använda en delvektor av andra argumentet som fjärde argument"
#: field.c:1082
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"patsplit: det går inte att använda en delvektor av fjärde argumentet som "
-"andra argument"
+msgstr "patsplit: det går inte att använda en delvektor av fjärde argumentet som andra argument"
#: field.c:1120
msgid "`FIELDWIDTHS' is a gawk extension"
@@ -2657,9 +2575,7 @@ msgstr "uttrycket för \"%s\"-omdirigering har en tom sträng som värde"
#: io.c:794
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
-msgstr ""
-"filnamnet \"%s\" för \"%s\"-omdirigering kan vara resultatet av ett logiskt "
-"uttryck"
+msgstr "filnamnet \"%s\" för \"%s\"-omdirigering kan vara resultatet av ett logiskt uttryck"
#: io.c:842
#, c-format
@@ -2692,10 +2608,8 @@ msgid "can't redirect to `%s' (%s)"
msgstr "kan inte dirigera om till \"%s\" (%s)"
#: io.c:1073
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"nådde systembegränsningen för öppna filer: börjar multiplexa fildeskriptorer"
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "nådde systembegränsningen för öppna filer: börjar multiplexa fildeskriptorer"
#: io.c:1089
#, c-format
@@ -2722,9 +2636,7 @@ msgstr "stängning av omdirigering som aldrig öppnades"
#: io.c:1238
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: omdirigeringen \"%s\" öppnades inte med \"|&\", andra argumentet "
-"ignorerat"
+msgstr "close: omdirigeringen \"%s\" öppnades inte med \"|&\", andra argumentet ignorerat"
#: io.c:1255
#, c-format
@@ -2874,9 +2786,7 @@ msgstr "register_input_parser: mottog NULL-pekare"
#: io.c:2762
#, 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”"
+msgstr "inmatningstolken ”%s” står i konflikt med tidigare installerad inmatningstolk ”%s”"
#: io.c:2769
#, c-format
@@ -2889,11 +2799,8 @@ msgstr "register_output_wrapper: mottog NULL-pekare"
#: io.c:2817
#, 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”"
+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
#, c-format
@@ -2906,12 +2813,8 @@ msgstr "register_output_processor: mottog NULL-pekare"
#: io.c:2874
#, 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”"
+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
#, c-format
@@ -2978,8 +2881,7 @@ msgstr "ingen programtext alls!"
#: main.c:563
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
-msgstr ""
-"Användning: %s [POSIX- eller GNU-stilsflaggor] -f progfil [--] fil ...\n"
+msgstr "Användning: %s [POSIX- eller GNU-stilsflaggor] -f progfil [--] fil ...\n"
#: main.c:565
#, c-format
@@ -3051,9 +2953,8 @@ msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l bibliotek\t\t--load=bibliotek\n"
#: main.c:586
-#, fuzzy
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
msgid "\t-M\t\t\t--bignum\n"
@@ -3255,7 +3156,7 @@ msgstr "tomt argument till \"-e/--source\" ignorerat"
#: main.c:1556
msgid "-M ignored: MPFR/GMP support not compiled in"
-msgstr ""
+msgstr "-M ignoreras: MPFR/GMP-stöd är inte inkompilerat"
#: main.c:1577
#, c-format
@@ -3341,12 +3242,8 @@ msgstr "inga hexadecimala siffror i \"\\x\"-kontrollsekvenser"
#: node.c:567
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
-msgstr ""
-"hexkod \\x%.*s med %d tecken tolkas förmodligen inte på det sätt du "
-"förväntar dig"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
+msgstr "hexkod \\x%.*s med %d tecken tolkas förmodligen inte på det sätt du förväntar dig"
#: node.c:582
#, c-format
@@ -3354,12 +3251,8 @@ msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "kontrollsekvensen \"\\%c\" behandlad som bara \"%c\""
#: node.c:726
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
-msgstr ""
-"Ogiltig multibytedata upptäckt. Dina data och din lokal stämmer kanske inte "
-"överens."
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
+msgstr "Ogiltig multibytedata upptäckt. Dina data och din lokal stämmer kanske inte överens."
#: posix/gawkmisc.c:177
#, c-format
@@ -3381,12 +3274,12 @@ msgid "sending profile to standard error"
msgstr "skickar profilen till standard fel"
#: profile.c:193
-#, fuzzy, c-format
+#, c-format
msgid ""
"\t# %s rule(s)\n"
"\n"
msgstr ""
-"\t# Regel/regler\n"
+"\t# %s-regler\n"
"\n"
#: profile.c:198
@@ -3421,7 +3314,7 @@ msgstr ""
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawkprofil, skapad %s\n"
-#: profile.c:1521
+#: profile.c:1535
#, c-format
msgid ""
"\n"
@@ -3430,7 +3323,7 @@ msgstr ""
"\n"
"\t# Funktioner, listade alfabetiskt\n"
-#: profile.c:1559
+#: profile.c:1573
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: okänd omdirigeringstyp %d"
@@ -3438,8 +3331,7 @@ msgstr "redir2str: okänd omdirigeringstyp %d"
#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr ""
-"komponenten \"%.*s\" i reguljäruttryck skall förmodligen vara \"[%.*s]\""
+msgstr "komponenten \"%.*s\" i reguljäruttryck skall förmodligen vara \"[%.*s]\""
#: regcomp.c:139
msgid "Success"
@@ -3470,9 +3362,8 @@ msgid "Invalid back reference"
msgstr "Ogiltig bakåtrerefens"
#: regcomp.c:160
-#, fuzzy
msgid "Unmatched [, [^, [:, [., or [="
-msgstr "Obalanserad [ eller [^"
+msgstr "Obalanserad [, [^, [:, [. eller [="
#: regcomp.c:163
msgid "Unmatched ( or \\("
@@ -3515,33 +3406,10 @@ msgid "No previous regular expression"
msgstr "Inget föregående reguljärt uttryck"
#: symbol.c:677
-#, fuzzy, c-format
+#, c-format
msgid "function `%s': can't use function `%s' as a parameter name"
-msgstr "funktionen \"%s\": kan inte använda funktionsnamn som parameternamn"
+msgstr "funktionen ”%s”: kan inte använda funktionen ”%s” som ett parameternamn"
#: symbol.c:809
msgid "can not pop main context"
msgstr "kan inte poppa huvudsammanhang"
-
-#~ msgid "`getline var' invalid inside `%s' rule"
-#~ msgstr "\"getline var\" är ogiltigt inuti \"%s\"-regel"
-
-#~ msgid "no (known) protocol supplied in special filename `%s'"
-#~ msgstr ""
-#~ "inget (känt) protokoll tillhandahållet i det speciella filnamnet \"%s\""
-
-#~ msgid "special file name `%s' is incomplete"
-#~ msgstr "speciellt filnamn \"%s\" är ofullständigt"
-
-#~ msgid "must supply a remote hostname to `/inet'"
-#~ msgstr "måste tillhandahålla ett fjärrdatornamn till \"/inet\""
-
-#~ msgid "must supply a remote port to `/inet'"
-#~ msgstr "måste tillhandahålla en fjärrport till \"/inet\""
-
-#~ msgid ""
-#~ "\t# %s block(s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\t# %s-block\n"
-#~ "\n"
diff --git a/regcomp.c b/regcomp.c
index f58cb091..3526d9ea 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -1205,7 +1205,12 @@ analyze (regex_t *preg)
|| dfa->eclosures == NULL, 0))
return REG_ESPACE;
- dfa->subexp_map = re_malloc (int, preg->re_nsub);
+ /* some malloc()-checkers don't like zero allocations */
+ if (preg->re_nsub > 0)
+ dfa->subexp_map = re_malloc (int, preg->re_nsub);
+ else
+ dfa->subexp_map = NULL;
+
if (dfa->subexp_map != NULL)
{
int i;
diff --git a/regex_internal.h b/regex_internal.h
index 9aab5e52..6a870f23 100644
--- a/regex_internal.h
+++ b/regex_internal.h
@@ -467,8 +467,38 @@ static unsigned int re_string_context_at (const re_string_t *input, int idx,
# endif
#endif
+/*
+ * GAWK checks for zero-size allocations everywhere else,
+ * do it here too.
+ */
+#ifndef GAWK
#define re_malloc(t,n) ((t *) malloc ((n) * sizeof (t)))
#define re_realloc(p,t,n) ((t *) realloc (p, (n) * sizeof (t)))
+#else
+static void *
+test_malloc(size_t count, const char *file, size_t line)
+{
+ if (count == 0) {
+ fprintf(stderr, "%s:%d: allocation of zero bytes\n",
+ file, line);
+ exit(1);
+ }
+ return malloc(count);
+}
+
+static void *
+test_realloc(void *p, size_t count, const char *file, size_t line)
+{
+ if (count == 0) {
+ fprintf(stderr, "%s:%d: reallocation of zero bytes\n",
+ file, line);
+ exit(1);
+ }
+ return realloc(p, count);
+}
+#define re_malloc(t,n) ((t *) test_malloc (((n) * sizeof (t)), __FILE__, __LINE__))
+#define re_realloc(p,t,n) ((t *) test_realloc (p, (n) * sizeof (t), __FILE__, __LINE__))
+#endif
#define re_free(p) free (p)
struct bin_tree_t
diff --git a/regexec.c b/regexec.c
index 30f2ec74..46a4d0ae 100644
--- a/regexec.c
+++ b/regexec.c
@@ -3381,7 +3381,7 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
if (BE (ndests <= 0, 0))
{
if (dests_node_malloced)
- free (dests_alloc);
+ re_free (dests_alloc);
/* Return 0 in case of an error, 1 otherwise. */
if (ndests == 0)
{
@@ -3413,18 +3413,18 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
else
#endif
{
- dest_states = (re_dfastate_t **)
- malloc (ndests * 3 * sizeof (re_dfastate_t *));
+ dest_states =
+ re_malloc (re_dfastate_t *, ndests * 3);
if (BE (dest_states == NULL, 0))
{
out_free:
if (dest_states_malloced)
- free (dest_states);
+ re_free (dest_states);
re_node_set_free (&follows);
for (i = 0; i < ndests; ++i)
re_node_set_free (dests_node + i);
if (dests_node_malloced)
- free (dests_alloc);
+ re_free (dests_alloc);
return 0;
}
dest_states_malloced = true;
@@ -3555,14 +3555,14 @@ out_free:
}
if (dest_states_malloced)
- free (dest_states);
+ re_free (dest_states);
re_node_set_free (&follows);
for (i = 0; i < ndests; ++i)
re_node_set_free (dests_node + i);
if (dests_node_malloced)
- free (dests_alloc);
+ re_free (dests_alloc);
return 1;
}
@@ -4225,7 +4225,7 @@ match_ctx_clean (re_match_context_t *mctx)
re_free (top->path->array);
re_free (top->path);
}
- free (top);
+ re_free (top);
}
mctx->nsub_tops = 0;