From ba6f94861cc550603f9bfa8bd3a250d00f8ef28c Mon Sep 17 00:00:00 2001 From: Chet Ramey Date: Sat, 3 Dec 2011 12:59:04 -0500 Subject: [PATCH] commit bash-20040706 snapshot --- doc/bash.0 | 10 +- doc/bash.html | 6 +- doc/bash.pdf | Bin 307165 -> 572128 bytes doc/bash.ps | 243 +- doc/bashref.dvi | Bin 580120 -> 580120 bytes doc/bashref.html | 12 +- doc/bashref.log | 4 +- doc/bashref.pdf | Bin 529292 -> 528198 bytes doc/bashref.ps | 20 +- doc/builtins.ps | 28 +- doc/rbash.ps | 28 +- doc/texinfo.tex | 6689 +------------------------------- lib/readline/ansi_stdlib.h | 55 +- lib/readline/doc/fdl.texi | 453 +-- lib/readline/posixdir.h | 62 +- lib/readline/posixjmp.h | 41 +- lib/readline/posixstat.h | 143 +- lib/readline/tilde.c | 459 +-- lib/readline/tilde.h | 79 +- subst.c.orig | 7376 ++++++++++++++++++++++++++++++++++++ support/mkconffiles | 0 support/mkversion.sh | 0 support/rlvers.sh | 0 23 files changed, 7538 insertions(+), 8170 deletions(-) mode change 100644 => 120000 doc/texinfo.tex mode change 100644 => 120000 lib/readline/ansi_stdlib.h mode change 100644 => 120000 lib/readline/doc/fdl.texi mode change 100644 => 120000 lib/readline/posixdir.h mode change 100644 => 120000 lib/readline/posixjmp.h mode change 100644 => 120000 lib/readline/posixstat.h mode change 100644 => 120000 lib/readline/tilde.c mode change 100644 => 120000 lib/readline/tilde.h create mode 100644 subst.c.orig mode change 100755 => 100644 support/mkconffiles mode change 100755 => 100644 support/mkversion.sh mode change 100755 => 100644 support/rlvers.sh diff --git a/doc/bash.0 b/doc/bash.0 index 7e4b82df..00fedc65 100644 --- a/doc/bash.0 +++ b/doc/bash.0 @@ -126,10 +126,10 @@ IINNVVOOCCAATTIIOONN one started with the ----llooggiinn option. An _i_n_t_e_r_a_c_t_i_v_e shell is one started without non-option arguments and - without the --cc option whose standard input and output are both con- - nected to terminals (as determined by _i_s_a_t_t_y(3)), or one started with - the --ii option. PPSS11 is set and $$-- includes ii if bbaasshh is interactive, - allowing a shell script or a startup file to test this state. + without the --cc option whose standard input and error are both connected + to terminals (as determined by _i_s_a_t_t_y(3)), or one started with the --ii + option. PPSS11 is set and $$-- includes ii if bbaasshh is interactive, allowing + a shell script or a startup file to test this state. The following paragraphs describe how bbaasshh executes its startup files. If any of the files exist but cannot be read, bbaasshh reports an error. @@ -4786,4 +4786,4 @@ BBUUGGSS -GNU Bash-3.0 2004 May 27 BASH(1) +GNU Bash-3.0 2004 June 26 BASH(1) diff --git a/doc/bash.html b/doc/bash.html index a927f90d..2cfb6547 100644 --- a/doc/bash.html +++ b/doc/bash.html @@ -2,7 +2,7 @@ BASH(1) Manual Page -
BASH(1)2004 May 27BASH(1) +BASH(1)2004 June 26BASH(1)

Index
@@ -339,7 +339,7 @@ and without the -c option -whose standard input and output are +whose standard input and error are both connected to terminals (as determined by isatty(3)), @@ -11355,6 +11355,6 @@ Array variables may not (yet) be exported.
This document was created by man2html from bash.1.
-Time: 01 June 2004 12:27:36 EDT +Time: 29 June 2004 10:37:49 EDT diff --git a/doc/bash.pdf b/doc/bash.pdf index 520b1099b89d02fe65f370fe2ae3ecf924c3ee82..0d7436b5950a14952a369708d7d649a8ffa0524e 100644 GIT binary patch literal 572128 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

kBZB{F)|-Qovi(v{E$V%Zpwh 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 MZ+v6;%_IE(7gaZ!`2YX_ literal 307165 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

rFOm2e6gx1*uKs!@R|VOonOw_Yh@W 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

$oirVNE9^-yP$@{nmCt!wq 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

@uWU;FeNQ!ayCcJs=z!T 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�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 diff --git a/doc/bash.ps b/doc/bash.ps index fc4aa215..2c086e6e 100644 --- a/doc/bash.ps +++ b/doc/bash.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 -%%Creator: groff version 1.19 -%%CreationDate: Tue Jun 1 12:27:23 2004 +%%Creator: groff version 1.18.1 +%%CreationDate: Tue Jun 29 10:37:28 2004 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -9,17 +9,13 @@ %%+ font Palatino-Roman %%+ font Palatino-Italic %%+ font Palatino-Bold -%%DocumentSuppliedResources: procset grops 1.19 0 +%%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 64 %%PageOrder: Ascend -%%DocumentMedia: Default 612 792 0 () () %%Orientation: Portrait %%EndComments -%%BeginDefaults -%%PageMedia: Default -%%EndDefaults %%BeginProlog -%%BeginResource: procset grops 1.19 0 +%%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking @@ -120,22 +116,16 @@ TM setmatrix /Fr{ setrgbcolor fill }bind def -/setcmykcolor where{ -pop /Fk{ setcmykcolor fill }bind def -}if /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def -/setcmykcolor where{ -pop /Ck/setcmykcolor load def -}if /Cg/setgray load def /RE{ findfont @@ -178,7 +168,6 @@ newpath /CNT countdictstack def userdict begin /showpage{}def -/setpagedevice{}def }bind def /PEND{ clear @@ -191,9 +180,6 @@ pop setpacking }if %%EndResource -%%BeginFeature: *PageSize Default -<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice -%%EndFeature %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Italic @@ -203,11 +189,11 @@ setpacking %%IncludeResource: font Palatino-Italic %%IncludeResource: font Palatino-Bold grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 -def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron -/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef +def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron +/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent +/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O @@ -335,7 +321,7 @@ E F2(po)2.5 E F0(\(portable object\) \214le format.)2.5 E F2 144 686.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E (TION)-.855 E F0(belo)2.25 E(w\).)-.25 E F2(\255\255login)108 703.2 Q F0 (Equi)144 715.2 Q -.25(va)-.25 G(lent to).25 E F22.5 E F0(.)A -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(1)202.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(1)202.335 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP @@ -398,25 +384,24 @@ F4(INV)72 422.4 Q(OCA)-.493 E(TION)-1.04 E F0(A)108 434.4 Q F2(lo)2.5 E 108 451.2 Q F2(inter)2.814 E(active)-.15 E F0 .314 (shell is one started without non-option ar)2.814 F .315 (guments and without the)-.18 F F12.815 E F0 .315 -(option whose standard)2.815 F 1.14 -(input and output are both connected to terminals \(as determined by)108 -463.2 R F2(isatty)3.639 E F0 1.139(\(3\)\), or one started with the).32 -F F13.639 E F0(option.)108 475.2 Q F3(PS1)5.289 E F0 .289 -(is set and)2.539 F F1<24ad>2.789 E F0(includes)2.789 E F1(i)2.789 E F0 -(if)2.789 E F1(bash)2.789 E F0 .289(is interacti)2.789 F -.15(ve)-.25 G -2.789(,a).15 G(llo)-2.789 E .29 -(wing a shell script or a startup \214le to test this)-.25 F(state.)108 -487.2 Q .033(The follo)108 504 R .033(wing paragraphs describe ho)-.25 F -(w)-.25 E F1(bash)2.532 E F0 -.15(exe)2.532 G .032 -(cutes its startup \214les.).15 F .032(If an)5.032 F 2.532(yo)-.15 G -2.532(ft)-2.532 G .032(he \214les e)-2.532 F .032(xist b)-.15 F .032 -(ut cannot be)-.2 F(read,)108 516 Q F1(bash)3.085 E F0 .585 -(reports an error)3.085 F 5.585(.T)-.55 G .585(ildes are e)-5.935 F .586 -(xpanded in \214le names as described belo)-.15 F 3.086(wu)-.25 G(nder) --3.086 E F1 -.18(Ti)3.086 G .586(lde Expansion).18 F F0(in the)108 528 Q -F3(EXP)2.5 E(ANSION)-.666 E F0(section.)2.25 E(When)108 544.8 Q F1(bash) -2.896 E F0 .396(is in)2.896 F -.2(vo)-.4 G -.1(ke).2 G 2.896(da).1 G -2.896(sa)-2.896 G 2.896(ni)-2.896 G(nteracti)-2.896 E .696 -.15(ve l) +(option whose standard)2.815 F 1.5 +(input and error are both connected to terminals \(as determined by)108 +463.2 R F2(isatty)4 E F0 1.5(\(3\)\), or one started with the).32 F F1 +4 E F0(option.)108 475.2 Q F3(PS1)5.289 E F0 .289(is set and)2.539 +F F1<24ad>2.789 E F0(includes)2.789 E F1(i)2.789 E F0(if)2.789 E F1 +(bash)2.789 E F0 .289(is interacti)2.789 F -.15(ve)-.25 G 2.789(,a).15 G +(llo)-2.789 E .29(wing a shell script or a startup \214le to test this) +-.25 F(state.)108 487.2 Q .033(The follo)108 504 R .033 +(wing paragraphs describe ho)-.25 F(w)-.25 E F1(bash)2.532 E F0 -.15 +(exe)2.532 G .032(cutes its startup \214les.).15 F .032(If an)5.032 F +2.532(yo)-.15 G 2.532(ft)-2.532 G .032(he \214les e)-2.532 F .032 +(xist b)-.15 F .032(ut cannot be)-.2 F(read,)108 516 Q F1(bash)3.085 E +F0 .585(reports an error)3.085 F 5.585(.T)-.55 G .585(ildes are e)-5.935 +F .586(xpanded in \214le names as described belo)-.15 F 3.086(wu)-.25 G +(nder)-3.086 E F1 -.18(Ti)3.086 G .586(lde Expansion).18 F F0(in the)108 +528 Q F3(EXP)2.5 E(ANSION)-.666 E F0(section.)2.25 E(When)108 544.8 Q F1 +(bash)2.896 E F0 .396(is in)2.896 F -.2(vo)-.4 G -.1(ke).2 G 2.896(da).1 +G 2.896(sa)-2.896 G 2.896(ni)-2.896 G(nteracti)-2.896 E .696 -.15(ve l) -.25 H .396(ogin shell, or as a non-interacti).15 F .695 -.15(ve s)-.25 H .395(hell with the).15 F F1(\255\255login)2.895 E F0 .395(option, it) 2.895 F 1.333(\214rst reads and e)108 556.8 R -.15(xe)-.15 G 1.333 @@ -458,7 +443,7 @@ F(ariable)-.25 E F3 -.27(BA)108 679.2 S(SH_ENV).27 E F0 1.01(in the en) 108 727.2 S 2.5(tt).2 G(he v)-2.5 E(alue of the)-.25 E F3 -.666(PA)2.5 G (TH)-.189 E F0 -.25(va)2.25 G (riable is not used to search for the \214le name.).25 E(GNU Bash-3.0)72 -768 Q(2004 May 27)147.345 E(2)202.335 E 0 Cg EP +768 Q(2004 June 26)147.345 E(2)202.335 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP @@ -583,7 +568,7 @@ F1(Pipelines)87 679.2 Q F0(A)108 691.2 Q F2(pipeline)2.919 E F0 .419 F F1(|)2.92 E F0 5.42(.T)C .42(he format for a pipeline)-5.42 F(is:)108 703.2 Q([)144 720 Q F1(time)A F0([)2.5 E F1A F0(]] [ ! ])A F2 (command)2.5 E F0([)2.5 E F1(|)2.5 E F2(command2)2.5 E F0(... ])2.5 E -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(3)202.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(3)202.335 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP @@ -703,8 +688,8 @@ A({)108 573.6 Q F1(list)2.5 E F0 2.5(;})C F1(list)3.89 E F0 .402 F(SIONS)144 727.2 Q F5(.)A F0 -.8(Wo)5.633 G 1.133 (rd splitting and pathname e).8 F 1.133 (xpansion are not performed on the w)-.15 F 1.133(ords between the)-.1 F -F3([[)3.632 E F0(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(4)202.335 E -0 Cg EP +F3([[)3.632 E F0(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(4)202.335 +E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP @@ -843,8 +828,8 @@ F F2(name)144 727.2 Q F0 .759(to be set to null.)3.439 F .759 (The line read is sa)5.759 F -.15(ve)-.2 G 3.26(di).15 G 3.26(nt)-3.26 G .76(he v)-3.26 F(ariable)-.25 E F1(REPL)3.26 E(Y)-.92 E F0 5.76(.T)C(he) -5.76 E F2(list)3.35 E F0 .76(is e)3.94 F -.15(xe)-.15 G .76 -(cuted after).15 F(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(5)202.335 -E 0 Cg EP +(cuted after).15 F(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(5) +202.335 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP @@ -979,7 +964,7 @@ E(xpansion.)-.15 E(There are three quoting mechanisms: the)108 708 Q F2 G(he)-2.974 E F2 .474(escape c)2.974 F(har)-.15 E(acter)-.15 E F0 5.474 (.I).73 G 2.974(tp)-5.474 G(reserv)-2.974 E .474(es the literal v)-.15 F .474(alue of the ne)-.25 F .474(xt character that)-.15 F(GNU Bash-3.0)72 -768 Q(2004 May 27)147.345 E(6)202.335 E 0 Cg EP +768 Q(2004 June 26)147.345 E(6)202.335 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP @@ -1096,7 +1081,7 @@ d by one or more digits, other than the single digit 0.)3.935 F(Posi-) 5.706 E .445(tional parameters are assigned from the shell')108 729.6 R 2.944(sa)-.55 G -.18(rg)-2.944 G .444(uments when it is in).18 F -.2(vo) -.4 G -.1(ke).2 G .444(d, and may be reassigned using).1 F(GNU Bash-3.0) -72 768 Q(2004 May 27)147.345 E(7)202.335 E 0 Cg EP +72 768 Q(2004 June 26)147.345 E(7)202.335 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP @@ -1214,7 +1199,7 @@ F F1 -.3(BA)144 619.2 S(SH_ARGV).3 E F0(.)A F1 -.3(BA)108 631.2 S F F1(${FUNCN)144 727.2 Q(AME[)-.2 E F3 8.951($i + 1)B F1(]})A F0 -.1(wa) 11.451 G 11.451(sc).1 G 11.451(alled. The)-11.451 F 8.951 (corresponding source \214le name is)11.451 F(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(8)202.335 E 0 Cg EP +(2004 June 26)147.345 E(8)202.335 E 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP @@ -1315,7 +1300,7 @@ F(ariable)-.25 E .351(will not change the current directory)144 711.6 R 5.35(.I)-.65 G(f)-5.35 E F3(DIRST)2.85 E -.495(AC)-.81 G(K).495 E F0 .35 (is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.85 (ni).15 G(f)-2.85 E(it is subsequently reset.)144 723.6 Q(GNU Bash-3.0) -72 768 Q(2004 May 27)147.345 E(9)202.335 E 0 Cg EP +72 768 Q(2004 June 26)147.345 E(9)202.335 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP @@ -1404,7 +1389,7 @@ R .01(alue to)-.25 F F2(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0(If) 4.51 E F2(RANDOM)2.51 E F0(is)2.26 E (unset, it loses its special properties, e)144 720 Q -.15(ve)-.25 G 2.5 (ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.) --2.5 E(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(10)197.335 E 0 Cg EP +-2.5 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(10)197.335 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP @@ -1513,7 +1498,7 @@ me e)-3.118 F(xpan-)-.15 E 3.131(sion. If)144 640.8 R 3.132<618c>3.131 G (all pre)144 724.8 R .698 (vious lines matching the current line to be remo)-.25 F -.15(ve)-.15 G 3.198(df).15 G .698(rom the history list before that line is)-3.198 F -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(11)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(11)197.335 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP @@ -1626,7 +1611,7 @@ E F1(LANG)108 648 Q F0 1.24(Used to determine the locale cate)7.11 F (rrides the v).15 F .764(alue of)-.25 F F1(LANG)3.264 E F0 .764(and an) 3.264 F 3.264(yo)-.15 G(ther)-3.264 E F1(LC_)3.264 E F0 -.25(va)3.264 G .764(riable specifying a locale cate-).25 F(gory)144 696 Q(.)-.65 E -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(12)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(12)197.335 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP @@ -1730,7 +1715,7 @@ F0 1.225(displays during an e)3.725 F -.15(xe)-.15 G 1.225 E F0 1.226(is replicated multiple)3.476 F(times, as necessary)144 696 Q 2.5(,t)-.65 G 2.5(oi)-2.5 G(ndicate multiple le)-2.5 E -.15(ve)-.25 G (ls of indirection.).15 E(The def)5 E(ault is `)-.1 E(`)-.74 E F1(+)A F0 --.74('')2.5 G(.).74 E(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(13) +-.74('')2.5 G(.).74 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(13) 197.335 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup @@ -1841,7 +1826,7 @@ char)144 658.8 R(-)-.2 E 1.293(acter of a w)144 670.8 R 1.293 (skipped for the remaining w)144 682.8 R .38(ords on the line.)-.1 F .379(It does not necessarily cause the shell parser to treat)5.379 F (the rest of the line as a comment.)144 694.8 Q(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(14)197.335 E 0 Cg EP +(2004 June 26)147.345 E(14)197.335 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP @@ -1993,7 +1978,7 @@ resulting string, e)108 660 R .658(xpanding left to)-.15 F(right.)108 (xpression e)-.15 F .401(xpands to each number between)-.15 F F2(x)2.901 E F0(and)2.902 E F2(y)2.902 E F0 2.902(,i)C(nclusi)-2.902 E -.15(ve)-.25 G 5.402(.W).15 G .402(hen characters)-5.402 F(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(15)197.335 E 0 Cg EP +(2004 June 26)147.345 E(15)197.335 E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP @@ -2117,7 +2102,7 @@ F1(par)4.954 E(ameter)-.15 E F0 1.204(is a positional)4.434 F .264 (ameter)-.15 E F0 .264(is follo)3.494 F .264 (wed by a character which is not to)-.25 F (be interpreted as part of its name.)144 729.6 Q(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(16)197.335 E 0 Cg EP +(2004 June 26)147.345 E(16)197.335 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP @@ -2245,7 +2230,7 @@ F .491(xpanded to produce a pattern just as in pathname e)-.15 F 2.99 F1(par)145.25 724.8 Q(ameter)-.15 E F0 .607 (with the shortest matching pattern \(the `)3.838 F(`)-.74 E F2(#)A F0 2.087 -.74('' c)D .607(ase\) or the longest matching pattern \(the).74 F -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(17)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(17)197.335 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP @@ -2361,8 +2346,8 @@ F2 -.2(ex)2.665 G(pr).2 E(ession)-.37 E F0 .165 (go parameter e)-.18 F 1.074(xpansion, string e)-.15 F 1.074 (xpansion, command)-.15 F(substitution, and quote remo)108 729.6 Q -.25 (va)-.15 G 2.5(l. Arithmetic).25 F -.15(ex)2.5 G -(pansions may be nested.).15 E(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 -E(18)197.335 E 0 Cg EP +(pansions may be nested.).15 E(GNU Bash-3.0)72 768 Q(2004 June 26) +147.345 E(18)197.335 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP @@ -2506,7 +2491,7 @@ so matches one of the patterns in)4.264 F F1(GLOBIGNORE)4.515 E F0(is) (escaping backslash is discarded when matching.)108 708 R .576 (The special pattern characters must be quoted if the)5.576 F 3.076(ya) -.15 G(re)-3.076 E(to be matched literally)108 720 Q(.)-.65 E -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(19)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(19)197.335 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP @@ -2594,12 +2579,12 @@ F2 -.37(re)3.045 G(dir).37 E(ected)-.37 E F0 .545 (ywhere within a)-.15 F F2 .774(simple command)3.614 F F0(or)4.044 E (may follo)108 601.2 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G (edirections are processed in the order the)-5 E 2.5(ya)-.15 G(ppear) --2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .283(In the follo)108 618 -R .284(wing descriptions, if the \214le descriptor number is omitted, a\ -nd the \214rst character of the redirect-)-.25 F .513(ion operator is) -108 630 R F1(<)3.012 E F0 3.012(,t)C .512 +-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .447(In the follo)108 618 +R .447(wing descriptions, if the \214le descriptor number is omitted, a\ +nd the \214rst character of the redirec-)-.25 F .366(tion operator is) +108 630 R F1(<)2.866 E F0 2.866(,t)C .366 (he redirection refers to the standard input \(\214le descriptor 0\).) --3.012 F .512(If the \214rst character of the)5.512 F +-2.866 F .365(If the \214rst character of the)5.366 F (redirection operator is)108 642 Q F1(>)2.5 E F0 2.5(,t)C (he redirection refers to the standard output \(\214le descriptor 1\).) -2.5 E .824(The w)108 658.8 R .824(ord follo)-.1 F .824 @@ -2614,7 +2599,7 @@ F .843(xpands to more than one w)-.15 F(ord,)-.1 E F1(bash)3.344 E F0 (reports an error)108 694.8 Q(.)-.55 E (Note that the order of redirections is signi\214cant.)108 711.6 Q -.15 (Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 728.4 Q F1(>)2.5 -E F0(dirlist 2)2.5 E F1(>&)A F0(1)A(GNU Bash-3.0)72 768 Q(2004 May 27) +E F0(dirlist 2)2.5 E F1(>&)A F0(1)A(GNU Bash-3.0)72 768 Q(2004 June 26) 147.345 E(20)197.335 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup @@ -2676,15 +2661,15 @@ F1(n)A F0(])A F2(>)A F1(wor)A(d)-.37 E F0 .154 (If the redirection operator is)108 525.6 R F2(>)2.654 E F0 2.654(,a)C .154(nd the)-2.654 F F2(noclob)2.654 E(ber)-.1 E F0 .154(option to the) 2.654 F F2(set)2.655 E F0 -.2(bu)2.655 G .155 -(iltin has been enabled, the redirection).2 F .658(will f)108 537.6 R -.658(ail if the \214le whose name results from the e)-.1 F .658 -(xpansion of)-.15 F F1(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .657 -(ists and is a re).15 F .657(gular \214le.)-.15 F .657(If the redi-) -5.657 F .408(rection operator is)108 549.6 R F2(>|)2.909 E F0 2.909(,o)C -2.909(rt)-2.909 G .409(he redirection operator is)-2.909 F F2(>)2.909 E -F0 .409(and the)2.909 F F2(noclob)2.909 E(ber)-.1 E F0 .409 -(option to the)2.909 F F2(set)2.909 E F0 -.2(bu)2.909 G .409 -(iltin command).2 F(is not enabled, the redirection is attempted e)108 +(iltin has been enabled, the redirection).2 F .077(will f)108 537.6 R +.076(ail if the \214le whose name results from the e)-.1 F .076 +(xpansion of)-.15 F F1(wor)2.576 E(d)-.37 E F0 -.15(ex)2.576 G .076 +(ists and is a re).15 F .076(gular \214le.)-.15 F .076(If the redirec-) +5.076 F .547(tion operator is)108 549.6 R F2(>|)3.047 E F0 3.047(,o)C +3.047(rt)-3.047 G .547(he redirection operator is)-3.047 F F2(>)3.047 E +F0 .547(and the)3.047 F F2(noclob)3.047 E(ber)-.1 E F0 .548 +(option to the)3.048 F F2(set)3.048 E F0 -.2(bu)3.048 G .548 +(iltin command is).2 F(not enabled, the redirection is attempted e)108 561.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by) -2.5 E F1(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F2 -.25(Ap)87 578.4 S(pending Redir).25 E(ected Output)-.18 E F0 .642 @@ -2705,7 +2690,7 @@ Q F0(allo)3.142 E .642(ws both the standard output \(\214le descriptor \ (xpansion of)-.15 E F1(wor)2.84 E(d)-.37 E F0(with this construct.)3.27 E(There are tw)108 710.4 Q 2.5(of)-.1 G (ormats for redirecting standard output and standard error:)-2.5 E F2 -(&>)144 727.2 Q F1(wor)A(d)-.37 E F0(GNU Bash-3.0)72 768 Q(2004 May 27) +(&>)144 727.2 Q F1(wor)A(d)-.37 E F0(GNU Bash-3.0)72 768 Q(2004 June 26) 147.345 E(21)197.335 E 0 Cg EP %%Page: 22 22 %%BeginPageSetup @@ -2793,7 +2778,7 @@ E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A .24 G 2.785(rt)-2.785 G .286 (he standard output \(\214le descriptor 1\) if)-2.785 F F2(n)2.786 E F0 .286(is not speci-)2.786 F(\214ed.)108 717.6 Q(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(22)197.335 E 0 Cg EP +(2004 June 26)147.345 E(22)197.335 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP @@ -2935,7 +2920,7 @@ F F1 .616(\255o functrace)3.116 F F0 .616 (alues of the positional parameters and the spe-)-.25 F(cial parameter) 108 724.8 Q F1(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E 2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe) --2.65 G(cution.).15 E(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(23) +-2.65 G(cution.).15 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(23) 197.335 E 0 Cg EP %%Page: 24 24 %%BeginPageSetup @@ -3038,7 +3023,7 @@ F0 .59(is a decimal number between 2 and 64 represent-)3.089 F .093 (xpressions in parentheses are e)-.15 F -.25(va)-.25 G .235 (luated \214rst and may).25 F -.15(ove)108 724.8 S (rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(24)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(24)197.335 E 0 Cg EP %%Page: 25 25 %%BeginPageSetup BP @@ -3138,7 +3123,7 @@ F0(sorts before)2.5 E F3(string2)2.5 E F0(le)2.5 E (>)2.5 E F3(string2)2.5 E F0 -.35(Tr)144 691.2 S(ue if).35 E F3(string1) 2.5 E F0(sorts after)2.5 E F3(string2)2.5 E F0(le)2.5 E (xicographically in the current locale.)-.15 E(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(25)197.335 E 0 Cg EP +(2004 June 26)147.345 E(25)197.335 E 0 Cg EP %%Page: 26 26 %%BeginPageSetup BP @@ -3261,7 +3246,7 @@ e remainder of the \214rst line speci\214es an interpreter for the pro-) (gument follo)-.18 F 1.192(wing the)-.25 F 1.13 (interpreter name on the \214rst line of the program, follo)108 727.2 R 1.131(wed by the name of the program, follo)-.25 F 1.131(wed by the)-.25 -F(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(26)197.335 E 0 Cg EP +F(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(26)197.335 E 0 Cg EP %%Page: 27 27 %%BeginPageSetup BP @@ -3364,7 +3349,7 @@ ment and creates a parameter for each name found, automatically marking\ R 3.08(ye)-.15 G -.15(xe)-3.23 G .58 (cuted command consists of the shell').15 F 3.08(si)-.55 G .58 (nitial en)-3.08 F .58(vironment, whose v)-.4 F .58(alues may be)-.25 F -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(27)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(27)197.335 E 0 Cg EP %%Page: 28 28 %%BeginPageSetup BP @@ -3461,14 +3446,14 @@ G .93(rom the)-3.43 F 1.357(jobs table with the)108 508.8 R F1(diso) (shell option has been set with)2.666 F F1(shopt)2.666 E F0(,)A F1(bash) 2.666 E F0 .166(sends a)2.666 F F3(SIGHUP)2.666 E F0 .166 (to all jobs when an interacti)2.416 F -.15(ve)-.25 G(login shell e)108 -549.6 Q(xits.)-.15 E .41 -(If 0 for which a trap has been set, the trap will not be e)108 566.4 R --.15(xe)-.15 G .41(cuted until the command completes.).15 F(When)5.41 E -F1(bash)2.91 E F0 .3(is w)108 578.4 R .3 -(aiting for an asynchronous command via the)-.1 F F1(wait)2.8 E F0 -.2 -(bu)2.8 G .3(iltin, the reception of a signal for which a trap has).2 F -.37(been set will cause the)108 590.4 R F1(wait)2.87 E F0 -.2(bu)2.87 G -.369(iltin to return immediately with an e).2 F .369 +549.6 Q(xits.)-.15 E .077 +(If 0for which a trap has been set, the trap will not be e)108 566.4 R +-.15(xe)-.15 G .076(cuted until the command completes.).15 F(When)5.076 +E F1(bash)2.576 E F0(is)2.576 E -.1(wa)108 578.4 S .826 +(iting for an asynchronous command via the).1 F F1(wait)3.326 E F0 -.2 +(bu)3.326 G .826(iltin, the reception of a signal for which a trap has) +.2 F .37(been set will cause the)108 590.4 R F1(wait)2.87 E F0 -.2(bu) +2.87 G .369(iltin to return immediately with an e).2 F .369 (xit status greater than 128, immediately)-.15 F (after which the trap is e)108 602.4 Q -.15(xe)-.15 G(cuted.).15 E F5 (JOB CONTR)72 619.2 Q(OL)-.329 E F2 -.25(Jo)108 631.2 S 4.567(bc).25 G @@ -3491,7 +3476,7 @@ F0(.)A .784(The shell associates a)108 672 R F2(job)5.024 E F0 .784 (ound)-.45 E F0 .34(\), it prints a line).77 F(that looks lik)108 696 Q (e:)-.1 E([1] 25647)144 712.8 Q .241(indicating that this job is job nu\ mber 1 and that the process ID of the last process in the pipeline asso\ -ciated)108 729.6 R(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(28) +ciated)108 729.6 R(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(28) 197.335 E 0 Cg EP %%Page: 29 29 %%BeginPageSetup @@ -3622,7 +3607,7 @@ ized by inserting a number of backslash-escaped special characters that\ (the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 705.6 Q F0 (the hostname)25.44 E F1(\\j)144 717.6 Q F0 (the number of jobs currently managed by the shell)29.89 E(GNU Bash-3.0) -72 768 Q(2004 May 27)147.345 E(29)197.335 E 0 Cg EP +72 768 Q(2004 June 26)147.345 E(29)197.335 E 0 Cg EP %%Page: 30 30 %%BeginPageSetup BP @@ -3741,7 +3726,7 @@ nd the k)108 700.8 R 1.335 -.15(ey b)-.1 H 1.035(indings and).15 F -.25 (lines are ignored.)108 724.8 R .737(Lines be)5.737 F .737 (ginning with a)-.15 F F1(#)3.237 E F0 .737(are comments.)3.237 F .737 (Lines be)5.737 F .737(ginning with a)-.15 F F1($)3.237 E F0 .737 -(indicate conditional)3.237 F(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 +(indicate conditional)3.237 F(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(30)197.335 E 0 Cg EP %%Page: 31 31 %%BeginPageSetup @@ -3828,7 +3813,7 @@ et of backslash escapes is a)108 657.6 Q -.25(va)-.2 G(ilable:).25 E F2 (\\a)144 669.6 Q F0(alert \(bell\))28.22 E F2(\\b)144 681.6 Q F0 (backspace)27.66 E F2(\\d)144 693.6 Q F0(delete)27.66 E F2(\\f)144 705.6 Q F0(form feed)29.89 E F2(\\n)144 717.6 Q F0(ne)27.66 E(wline)-.25 E -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(31)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(31)197.335 E 0 Cg EP %%Page: 32 32 %%BeginPageSetup BP @@ -3924,7 +3909,7 @@ F0(.)A F1(enable\255k)108 616.8 Q(eypad \(Off\))-.1 E F0 .893 y code attempts to place point at the same location on each history lin\ e)-3.992 F(retri)144 700.8 Q -.15(ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1 (pr)2.5 E -.15(ev)-.18 G(ious-history).15 E F0(or)2.5 E F1(next-history) -2.5 E F0(.)A(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(32)197.335 E 0 +2.5 E F0(.)A(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(32)197.335 E 0 Cg EP %%Page: 33 33 %%BeginPageSetup @@ -4023,7 +4008,7 @@ he conditional compilation features of the C preprocessor)-.1 F .097 (indings and v).15 F .096 (ariable settings to be performed as the result of tests.)-.25 F .096 (There are four parser)5.096 F(directi)108 712.8 Q -.15(ve)-.25 G 2.5 -(su).15 G(sed.)-2.5 E(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(33) +(su).15 G(sed.)-2.5 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(33) 197.335 E 0 Cg EP %%Page: 34 34 %%BeginPageSetup @@ -4125,7 +4110,7 @@ Q .653(Readline remembers the last incremental search string.)108 660 R -2.5 E .567(Non-incremental searches read the entire search string befo\ re starting to search for matching history lines.)108 688.8 R(The searc\ h string may be typed by the user or be part of the contents of the cur\ -rent line.)108 700.8 Q(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(34) +rent line.)108 700.8 Q(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(34) 197.335 E 0 Cg EP %%Page: 35 35 %%BeginPageSetup @@ -4209,7 +4194,7 @@ a non-incremental search for a string supplied by the)-.1 F(user)144 -.25 E F0 .248(Search forw)144 705.6 R .249(ard through the history for\ the string of characters between the start of the current line)-.1 F (and the point.)144 717.6 Q(This is a non-incremental search.)5 E -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(35)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(35)197.335 E 0 Cg EP %%Page: 36 36 %%BeginPageSetup BP @@ -4310,7 +4295,7 @@ G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.279 E F0 3.279 (If point is at the end of the line, then this transposes the tw)144 724.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(36)197.335 E 0 Cg EP +(2004 June 26)147.345 E(36)197.335 E 0 Cg EP %%Page: 37 37 %%BeginPageSetup BP @@ -4400,7 +4385,7 @@ F0(Cop)144 688.8 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007(ord follo) -.1 F 2.007(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.008 (.T)-.55 G 2.008(he w)-7.008 F 2.008(ord boundaries are the same as)-.1 F F1 -.25(fo)4.508 G -.37(r-).25 G(ward\255w)144 700.8 Q(ord)-.1 E F0(.) -A(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(37)197.335 E 0 Cg EP +A(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(37)197.335 E 0 Cg EP %%Page: 38 38 %%BeginPageSetup BP @@ -4497,7 +4482,7 @@ F0(List the possible completions of the te)144 681.6 Q (complete\255hostname \(M\255@\))108 693.6 Q F0 (Attempt completion on the te)144 705.6 Q (xt before point, treating it as a hostname.)-.15 E(GNU Bash-3.0)72 768 -Q(2004 May 27)147.345 E(38)197.335 E 0 Cg EP +Q(2004 June 26)147.345 E(38)197.335 E 0 Cg EP %%Page: 39 39 %%BeginPageSetup BP @@ -4585,7 +4570,7 @@ F0 1.095(command enough times to)3.595 F (vious occurrence of that character)-.25 F 6.044(.A)-.55 G(ne)-2.5 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G (count searches for subsequent occurrences.)144 705.6 Q(GNU Bash-3.0)72 -768 Q(2004 May 27)147.345 E(39)197.335 E 0 Cg EP +768 Q(2004 June 26)147.345 E(39)197.335 E 0 Cg EP %%Page: 40 40 %%BeginPageSetup BP @@ -4700,7 +4685,7 @@ F12.821 E F0 .32(option is considered.)2.821 F .32 1.344(xpansion, and pathname e)-.15 F 1.344(xpansion, as described abo) -.15 F 1.644 -.15(ve u)-.15 H(nder).15 E F3(EXP)3.844 E(ANSION)-.666 E /F4 9/Times-Roman@0 SF(.)A F0 1.345(The results are split)5.844 F -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(40)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(40)197.335 E 0 Cg EP %%Page: 41 41 %%BeginPageSetup BP @@ -4848,7 +4833,7 @@ E F4(~/.bash_history)2.582 E F0(\).)A .315(The \214le named by the v)108 .572(wise the history \214le is o)108 724.8 R -.15(ve)-.15 G 3.073 (rwritten. If).15 F F2(HISTFILE)3.073 E F0 .573 (is unset, or if the history \214le is unwritable, the history is)2.823 -F(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(41)197.335 E 0 Cg EP +F(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(41)197.335 E 0 Cg EP %%Page: 42 42 %%BeginPageSetup BP @@ -4980,7 +4965,7 @@ Q F2(histchars)2.5 E F0(abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F2 (Refer to the current command line minus)21.97 E F4(n)2.5 E F0(.).24 E F2(!!)108 708 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E (This is a synon)5 E(ym for `!\2551'.)-.15 E(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(42)197.335 E 0 Cg EP +(2004 June 26)147.345 E(42)197.335 E 0 Cg EP %%Page: 43 43 %%BeginPageSetup BP @@ -5084,7 +5069,7 @@ F1(G)108 660 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 2.5 R .062(uiltin command documented in this section as accepting options p\ receded by)-.2 F F1108 700.8 Q F0(accepts)2.5 E F12.5 E F0 (to signify the end of the options.)2.5 E(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(43)197.335 E 0 Cg EP +(2004 June 26)147.345 E(43)197.335 E 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP @@ -5207,7 +5192,7 @@ E(alues in such a w)-.25 E(ay that the)-.1 E 2.5(yc)-.15 G -.05 G(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G (utput.)-2.5 E F1144 691.2 Q F2(\214lename)2.5 E F0(Read k)180 703.2 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(44)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(44)197.335 E 0 Cg EP %%Page: 45 45 %%BeginPageSetup BP @@ -5340,7 +5325,7 @@ F13.915 E F0(or)3.915 E F13.915 E F0 1.415(options, the v) 3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25 F(grammable completion f)144 729.6 Q(acilities, while a)-.1 E -.25(va) -.2 G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.) --.25 E(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(45)197.335 E 0 Cg EP +-.25 E(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(45)197.335 E 0 Cg EP %%Page: 46 46 %%BeginPageSetup BP @@ -5425,7 +5410,7 @@ G 2.5(yb)-.05 G(inding names.)-2.5 E F2 -.2(bu)184 592.8 S(iltin).2 E F0 (xported shell v)-.15 E 2.5(ariables. May)-.25 F(also be speci\214ed as) 2.5 E F22.5 E F0(.)A F2(\214le)184 700.8 Q F0(File names.)27.22 E (May also be speci\214ed as)5 E F22.5 E F0(.)A(GNU Bash-3.0)72 768 -Q(2004 May 27)147.345 E(46)197.335 E 0 Cg EP +Q(2004 June 26)147.345 E(46)197.335 E 0 Cg EP %%Page: 47 47 %%BeginPageSetup BP @@ -5524,7 +5509,7 @@ S 3.326(riables. The).25 F F13.326 E F0 .826 (option will display the attrib)3.326 F .826(utes and v)-.2 F .826 (alues of each)-.25 F F3(name)3.326 E F0 5.827(.W).18 G(hen)-5.827 E F1 3.327 E F0 .827(is used,)3.327 F(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(47)197.335 E 0 Cg EP +(2004 June 26)147.345 E(47)197.335 E 0 Cg EP %%Page: 48 48 %%BeginPageSetup BP @@ -5652,7 +5637,7 @@ F 1.503(escape characters, e)144 708 R -.15(ve)-.25 G 4.003(no).15 G E F0(shell)4.002 E .009 (option may be used to dynamically determine whether or not)144 720 R F1 (echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15 F -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(48)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(48)197.335 E 0 Cg EP %%Page: 49 49 %%BeginPageSetup BP @@ -5780,7 +5765,7 @@ F0(]] ...)A F1(export \255p)108 660 Q F0 .257(The supplied)144 672 R F2 F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1 (export)5.304 E F0 .304(returns an e)2.804 F .303 (xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(49)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(49)197.335 E 0 Cg EP %%Page: 50 50 %%BeginPageSetup BP @@ -5913,7 +5898,7 @@ Q 2.043(When the end of options is encountered,)144 626.4 R F2(getopts) 722.4 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F (ariable)-.25 E F4(OPTERR)2.894 E F0 .394 (is set to 0, no error messages)2.644 F(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(50)197.335 E 0 Cg EP +(2004 June 26)147.345 E(50)197.335 E 0 Cg EP %%Page: 51 51 %%BeginPageSetup BP @@ -6025,7 +6010,7 @@ E -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G (not store the results in the history list.)2.975 F(Each)5.475 E F1(ar) 2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F (normal history e)180 710.4 Q(xpansion.)-.15 E(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(51)197.335 E 0 Cg EP +(2004 June 26)147.345 E(51)197.335 E 0 Cg EP %%Page: 52 52 %%BeginPageSetup BP @@ -6149,7 +6134,7 @@ E F0(the ne)2.5 E(xt to last.)-.15 E F1144 703.2 Q F0 .551 (Suppresses the normal change of directory when remo)24.74 F .551 (ving directories from the stack, so)-.15 F (that only the stack is manipulated.)180 715.2 Q(GNU Bash-3.0)72 768 Q -(2004 May 27)147.345 E(52)197.335 E 0 Cg EP +(2004 June 26)147.345 E(52)197.335 E 0 Cg EP %%Page: 53 53 %%BeginPageSetup BP @@ -6270,7 +6255,7 @@ e assigned empty)-.1 F -.25(va)144 648 S 2.511(lues. The).25 F .011 (tarting at 0.)-3.549 F F2(aname)180.33 708 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0(ar)2.5 E(guments are ignored.)-.18 E(GNU Bash-3.0)72 -768 Q(2004 May 27)147.345 E(53)197.335 E 0 Cg EP +768 Q(2004 June 26)147.345 E(53)197.335 E 0 Cg EP %%Page: 54 54 %%BeginPageSetup BP @@ -6393,7 +6378,7 @@ F4(or)3.196 E F8(until)3.196 E F4(keywor)3.196 E .696 (eturn value is)-.18 F(being inverted via)184 727.2 Q F8(!)2.5 E F4 5 (.A)C(trap on)-2.5 E F8(ERR)2.5 E F4 2.5(,i)C 2.5(fs)-2.5 G (et, is executed befor)-2.5 E 2.5(et)-.18 G(he shell exits.)-2.5 E F0 -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(54)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(54)197.335 E 0 Cg EP %%Page: 55 55 %%BeginPageSetup BP @@ -6459,7 +6444,7 @@ Q F12.5 E F2(.)A F1(pipefail)184 648 Q F2 .735(If set, the r)224 3.315(et)-.18 G .815(he default operation dif)-3.315 F .815(fers fr)-.18 F(om)-.18 E(the POSIX 1003.2 standar)224 708 Q 2.5(dt)-.18 G 2.5(om)-2.5 G(atch the standar)-2.5 E 2.5(d\()-.18 G F4(`posix mode)-2.5 E F2(\).)A -F0(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(55)197.335 E 0 Cg EP +F0(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(55)197.335 E 0 Cg EP %%Page: 56 56 %%BeginPageSetup BP @@ -6567,7 +6552,7 @@ F12.542 E F2 .041(options ar)2.541 F 2.541(et)-.18 G .041 <24ad>3.223 E F2 5.723(.T)C .723(he r)-5.723 F .723 (eturn status is always)-.18 F(tr)144 706.8 Q (ue unless an invalid option is encounter)-.08 E(ed.)-.18 E F0 -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(56)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(56)197.335 E 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP @@ -6667,7 +6652,7 @@ F2(fails.)2.5 E F1(expand_aliases)144 697.2 Q F2 1.159 (If set, aliases ar)184 709.2 R 3.659(ee)-.18 G 1.159 (xpanded as described above under)-3.659 F F4(ALIASES)3.659 E F5(.)A F2 1.159(This option is)5.659 F(enabled by default for interactive shells.) -184 721.2 Q F0(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(57)197.335 E +184 721.2 Q F0(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(57)197.335 E 0 Cg EP %%Page: 58 58 %%BeginPageSetup @@ -6748,7 +6733,7 @@ an using semicolon separators wher)184 648 R(e)-.18 E(possible.)184 660 Q F1(login_shell)144 672 Q F2 2.454 (The shell sets this option if it is started as a login shell \(see)184 684 R F4(INVOCA)4.954 E(TION)-.828 E F2 2.5(above\). The)184 696 R -(value may not be changed.)2.5 E F0(GNU Bash-3.0)72 768 Q(2004 May 27) +(value may not be changed.)2.5 E F0(GNU Bash-3.0)72 768 Q(2004 June 26) 147.345 E(58)197.335 E 0 Cg EP %%Page: 59 59 %%BeginPageSetup @@ -6834,7 +6819,7 @@ G(oth)-2.5 E F3(expr1)2.85 E F2(and)2.5 E F3(expr2)2.85 E F2(ar)2.5 E (ue.)-.08 E F1(test)144 694.8 Q F2(and)3.576 E F1([)3.576 E F2 1.076 (evaluate conditional expr)3.576 F 1.076(essions using a set of r)-.18 F 1.076(ules based on the number of)-.08 F(ar)144 706.8 Q(guments.)-.18 E -F0(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(59)197.335 E 0 Cg EP +F0(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(59)197.335 E 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP @@ -6958,7 +6943,7 @@ F .298(their original values in a child pr)144 705.6 R .299 (ocess when it is cr)-.18 F 2.799(eated. The)-.18 F -.18(re)2.799 G .299 (turn status is false if any).18 F F5(sigspec)144.41 717.6 Q F1 (is invalid; otherwise)2.82 E F2(trap)2.5 E F1 -.18(re)2.5 G(turns tr) -.18 E(ue.)-.08 E F0(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(60) +.18 E(ue.)-.08 E F0(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(60) 197.335 E 0 Cg EP %%Page: 61 61 %%BeginPageSetup @@ -7086,7 +7071,7 @@ R .237(eused as input.)-.18 F .237(The r)5.237 F .236 (eturn status is 0 if the mode was successfully changed or if)-.18 F(no) 144 710.4 Q F3(mode)2.5 E F2(ar)2.5 E (gument was supplied, and false otherwise.)-.18 E F0(GNU Bash-3.0)72 768 -Q(2004 May 27)147.345 E(61)197.335 E 0 Cg EP +Q(2004 June 26)147.345 E(61)197.335 E 0 Cg EP %%Page: 62 62 %%BeginPageSetup BP @@ -7187,7 +7172,7 @@ E F2(and)3.708 E F13.708 E F2 1.208(options to the)3.708 F F1 (The Gnu History Library)108 691.2 Q F2 2.5(,B)C (rian Fox and Chet Ramey)-2.5 E F3(Portable Operating System Interface \ \(POSIX\) Part 2: Shell and Utilities)108 703.2 Q F2 2.5(,I)C(EEE)-2.5 E -F0(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(62)197.335 E 0 Cg EP +F0(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(62)197.335 E 0 Cg EP %%Page: 63 63 %%BeginPageSetup BP @@ -7254,7 +7239,7 @@ F1(bashbug)108.13 542.4 Q F2 1.316(inserts the \214rst thr)4.296 F 1.316 (It suf)5.373 F .373(\214ces to place the sequence of commands between) -.18 F(par)108 727.2 Q(entheses to for)-.18 E (ce it into a subshell, which may be stopped as a unit.)-.18 E F0 -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(63)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(63)197.335 E 0 Cg EP %%Page: 64 64 %%BeginPageSetup BP @@ -7271,7 +7256,7 @@ BP -.18 F .431(or messages while the con-)-.18 F(str)108 120 Q (uct is being r)-.08 E(ead.)-.18 E (Array variables may not \(yet\) be exported.)108 136.8 Q F0 -(GNU Bash-3.0)72 768 Q(2004 May 27)147.345 E(64)197.335 E 0 Cg EP +(GNU Bash-3.0)72 768 Q(2004 June 26)147.345 E(64)197.335 E 0 Cg EP %%Trailer end %%EOF diff --git a/doc/bashref.dvi b/doc/bashref.dvi index a4932482789ee227c5cc039527d3b247b8a07287..333e9c48f61ae37d96919099485d44d4b84612b4 100644 GIT binary patch delta 1087 zcmYk)e{2(F7zglv-?uC6^}QaO5H!qT>7pnr>((-5PH~u_n9Qjg2`&23i9A!H8w2Zk#=nt;JDh{hOG=Q4G3$r73{LLzgSiN6-Fn<@9llf3tQ zzW2O$Z{ES2XE5jK_lWvUjdec%<3}wP3$(A+v+7Ly!m>kM<1eIQVZ9R(Y->=9Yqj3z z3p~2v*tz9?e>zi9{#-{_Br#z1o{S{amQW-aiN{p`24BqyYg;rLOeED*cYo_tD3}a~ z)cXHNEa#6g?^}8kzgz~c|7pML#SQ&-!;?Oc{_viywV2cQ4IGltsJ)!$_v!3(!G+8E zt@8z@l{eT{=+hUzk#IuKUU`+_jbdh%_Vz(Mq&HnXAmay}zB?%6u&KXyV%P!bD+=>6 zrcM3kxr`Iz`sl*n0w0(9)g%doWqe5858%42p~`lDaeg)RJc6tfoF4R}tpc}AZw$9U zQP4=AcVL^qJ0^K5h&CDDQ#yuUWOObH8PnPoY^2en;4ahF9x6YM)iTbK_Y(+(4gFP` zj8E^V4fzPVL5?elYHIEnicFMX(tOR7&pn; zC<{2TiGJ>5bqa<|^6U|275IssSJ}4`R+eNfwVq@J;hIjL`rTqlFJ7`=16sbH*HKTF zHA=9UvW1JRO2(UHy~bu`vQ66;PS z)#7uww>RFadB^zbRmV;*o^&!kz=w7x!@c_=v0yZz(ylT7felqh<|nvOR-?*{veEp+ HGS9+)C$E&; delta 1018 zcmYk3ZAesU6vyZPoEe?DbMM?{L!6wV{i&m_GZX3J9syVJ`p|us2 zMS+k^D7PG=$l4dHO;+l-d7jMd6kkDF^gYL{OBinJ3Nf^=74K zp1L|G5Qw(Uo4dKBDpKEOFT5A2*9yub4UxK9Es*K`_?&%Dq$XV7pzYn=QZ!y3Zm1~N z{O_Ac^igtQXMVW8N{emFr}=s@edmBfpLR}W;4l4YFxQJ-efh3UYw*9mtL>PCP;BTd z=Id`RPI%C#|J^+y@QaB?Zrqh{N&mjLOyEcYW$VG;4=Q-1UmrZA;G~HvMy|M!ta~PA z6g)Fg?sTggWBOqHwT#XL%3+dGso)!~UW5S!8%$W8hAuZ;yfA<*^Dt?`O9hytdP32T zS2kO8b`fK~*xa2Wi>FKAl+kR)f?;e`Fw9N0c&y+H6P`Z=uZmnAYzBGI$;RmI3Vz_U z%aB!Z*_KG<^6s0srNYDMchDn?JHn(N+((`Zx43K+qi*<3xaVI~x}fr-DL6g2&QIPV zUBPX3E23S+(?lqT$Cn7Zio^WRYLVx}uL-y?cDP2Y;2l}wfQ;8X91=Y;ezcfBibP1o zmu%lD!YamQ4I6j1yRnY%e=U3}x-9X$CPA_~Ze2>2H#W6etl>sYoRYBE4EO$IOx=7z zOvre~8P~*q2}x#e!-Nzxa=cGWDR^j!rw@q&H|}!XsQ6Syp~cX15tZ;Qw@!=o5~?jm zj*C7CU3||;-7>D2#&~`T^8#v1LMaz7p@57ui@CjuPD|LqTLR=DtTK)F1TEu}LAvHf zCI|EBGa0JI{8>!wLJc1+r8*U57V}{h4S0-Kzt~3^3i@Xa8{MKZUh!`&w8?{*8Gm_` zmh##T@<|xyudY&!f{kX}Fnbl_S1bC-SXiDV-Z(_HME0prZ1Mr6kYmGtv6P=FpQy8v aKOd$uNm$u5GeSn$jdB>3#4{twsquGD&wX_O diff --git a/doc/bashref.html b/doc/bashref.html index 94006dfc..e71130a3 100644 --- a/doc/bashref.html +++ b/doc/bashref.html @@ -1,6 +1,6 @@ - + %s\n", result); - free (result); - } - exit (0); -} - -static void memory_error_and_abort (); - -static void * -xmalloc (bytes) - size_t bytes; -{ - void *temp = (char *)malloc (bytes); - - if (!temp) - memory_error_and_abort (); - return (temp); -} - -static void * -xrealloc (pointer, bytes) - void *pointer; - int bytes; -{ - void *temp; - - if (!pointer) - temp = malloc (bytes); - else - temp = realloc (pointer, bytes); - - if (!temp) - memory_error_and_abort (); - - return (temp); -} - -static void -memory_error_and_abort () -{ - fprintf (stderr, "readline: out of virtual memory\n"); - abort (); -} - -/* - * Local variables: - * compile-command: "gcc -g -DTEST -o tilde tilde.c" - * end: - */ -#endif /* TEST */ diff --git a/lib/readline/tilde.c b/lib/readline/tilde.c new file mode 120000 index 00000000..439ceede --- /dev/null +++ b/lib/readline/tilde.c @@ -0,0 +1 @@ +../tilde/tilde.c \ No newline at end of file diff --git a/lib/readline/tilde.h b/lib/readline/tilde.h deleted file mode 100644 index f8182c99..00000000 --- a/lib/readline/tilde.h +++ /dev/null @@ -1,78 +0,0 @@ -/* tilde.h: Externally available variables and function in libtilde.a. */ - -/* Copyright (C) 1992 Free Software Foundation, Inc. - - This file contains the Readline Library (the Library), a set of - routines for providing Emacs style line input to programs that ask - for it. - - The Library is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - The Library is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - The GNU General Public License is often shipped with GNU software, and - is generally kept in a file called COPYING or LICENSE. If you do not - have a copy of the license, write to the Free Software Foundation, - 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ - -#if !defined (_TILDE_H_) -# define _TILDE_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -/* A function can be defined using prototypes and compile on both ANSI C - and traditional C compilers with something like this: - extern char *func PARAMS((char *, char *, int)); */ - -#if !defined (PARAMS) -# if defined (__STDC__) || defined (__GNUC__) || defined (__cplusplus) -# define PARAMS(protos) protos -# else -# define PARAMS(protos) () -# endif -#endif - -typedef char *tilde_hook_func_t PARAMS((char *)); - -/* If non-null, this contains the address of a function that the application - wants called before trying the standard tilde expansions. The function - is called with the text sans tilde, and returns a malloc()'ed string - which is the expansion, or a NULL pointer if the expansion fails. */ -extern tilde_hook_func_t *tilde_expansion_preexpansion_hook; - -/* If non-null, this contains the address of a function to call if the - standard meaning for expanding a tilde fails. The function is called - with the text (sans tilde, as in "foo"), and returns a malloc()'ed string - which is the expansion, or a NULL pointer if there is no expansion. */ -extern tilde_hook_func_t *tilde_expansion_failure_hook; - -/* When non-null, this is a NULL terminated array of strings which - are duplicates for a tilde prefix. Bash uses this to expand - `=~' and `:~'. */ -extern char **tilde_additional_prefixes; - -/* When non-null, this is a NULL terminated array of strings which match - the end of a username, instead of just "/". Bash sets this to - `:' and `=~'. */ -extern char **tilde_additional_suffixes; - -/* Return a new string which is the result of tilde expanding STRING. */ -extern char *tilde_expand PARAMS((const char *)); - -/* Do the work of tilde expansion on FILENAME. FILENAME starts with a - tilde. If there is no expansion, call tilde_expansion_failure_hook. */ -extern char *tilde_expand_word PARAMS((const char *)); - -#ifdef __cplusplus -} -#endif - -#endif /* _TILDE_H_ */ diff --git a/lib/readline/tilde.h b/lib/readline/tilde.h new file mode 120000 index 00000000..6fea2aea --- /dev/null +++ b/lib/readline/tilde.h @@ -0,0 +1 @@ +../tilde/tilde.h \ No newline at end of file diff --git a/subst.c.orig b/subst.c.orig new file mode 100644 index 00000000..011930b3 --- /dev/null +++ b/subst.c.orig @@ -0,0 +1,7376 @@ +/* subst.c -- The part of the shell that does parameter, command, and + globbing substitutions. */ + +/* ``Have a little faith, there's magic in the night. You ain't a + beauty, but, hey, you're alright.'' */ + +/* Copyright (C) 1987-2004 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2, or (at your option) any later + version. + + Bash is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License along + with Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + +#include "config.h" + +#include "bashtypes.h" +#include +#include "chartypes.h" +#include +#include +#include + +#if defined (HAVE_UNISTD_H) +# include +#endif + +#include "bashansi.h" +#include "posixstat.h" +#include "bashintl.h" + +#include "shell.h" +#include "flags.h" +#include "jobs.h" +#include "execute_cmd.h" +#include "filecntl.h" +#include "trap.h" +#include "pathexp.h" +#include "mailcheck.h" + +#include "shmbutil.h" + +#include "builtins/getopt.h" +#include "builtins/common.h" + +#include +#include + +#if !defined (errno) +extern int errno; +#endif /* !errno */ + +/* The size that strings change by. */ +#define DEFAULT_INITIAL_ARRAY_SIZE 112 +#define DEFAULT_ARRAY_SIZE 128 + +/* Variable types. */ +#define VT_VARIABLE 0 +#define VT_POSPARMS 1 +#define VT_ARRAYVAR 2 +#define VT_ARRAYMEMBER 3 + +#define VT_STARSUB 128 /* $* or ${array[*]} -- used to split */ + +/* Flags for quoted_strchr */ +#define ST_BACKSL 0x01 +#define ST_CTLESC 0x02 +#define ST_SQUOTE 0x04 /* unused yet */ +#define ST_DQUOTE 0x08 /* unused yet */ + +/* Flags for the string extraction functions. */ +#define EX_NOALLOC 0x01 /* just skip; don't return substring */ +#define EX_VARNAME 0x02 /* variable name; for string_extract () */ + +/* Flags for the `pflags' argument to param_expand() */ +#define PF_NOCOMSUB 0x01 /* Do not perform command substitution */ + +/* These defs make it easier to use the editor. */ +#define LBRACE '{' +#define RBRACE '}' +#define LPAREN '(' +#define RPAREN ')' + +/* Evaluates to 1 if C is one of the shell's special parameters whose length + can be taken, but is also one of the special expansion characters. */ +#define VALID_SPECIAL_LENGTH_PARAM(c) \ + ((c) == '-' || (c) == '?' || (c) == '#') + +/* Evaluates to 1 if C is one of the shell's special parameters for which an + indirect variable reference may be made. */ +#define VALID_INDIR_PARAM(c) \ + ((c) == '#' || (c) == '?' || (c) == '@' || (c) == '*') + +/* Evaluates to 1 if C is one of the OP characters that follows the parameter + in ${parameter[:]OPword}. */ +#define VALID_PARAM_EXPAND_CHAR(c) (sh_syntaxtab[(unsigned char)c] & CSUBSTOP) + +/* Evaluates to 1 if this is one of the shell's special variables. */ +#define SPECIAL_VAR(name, wi) \ + ((DIGIT (*name) && all_digits (name)) || \ + (name[1] == '\0' && (sh_syntaxtab[(unsigned char)*name] & CSPECVAR)) || \ + (wi && name[2] == '\0' && VALID_INDIR_PARAM (name[1]))) + +/* An expansion function that takes a string and a quoted flag and returns + a WORD_LIST *. Used as the type of the third argument to + expand_string_if_necessary(). */ +typedef WORD_LIST *EXPFUNC __P((char *, int)); + +/* Process ID of the last command executed within command substitution. */ +pid_t last_command_subst_pid = NO_PID; +pid_t current_command_subst_pid = NO_PID; + +/* Variables used to keep track of the characters in IFS. */ +SHELL_VAR *ifs_var; +char *ifs_value; +unsigned char ifs_cmap[UCHAR_MAX + 1]; +unsigned char ifs_firstc; + +/* Extern functions and variables from different files. */ +extern int last_command_exit_value, last_command_exit_signal; +extern int subshell_environment; +extern int subshell_level; +extern int eof_encountered; +extern int return_catch_flag, return_catch_value; +extern pid_t dollar_dollar_pid; +extern int posixly_correct; +extern char *this_command_name; +extern struct fd_bitmap *current_fds_to_close; +extern int wordexp_only; +extern int expanding_redir; + +/* Non-zero means to allow unmatched globbed filenames to expand to + a null file. */ +int allow_null_glob_expansion; + +/* Non-zero means to throw an error when globbing fails to match anything. */ +int fail_glob_expansion; + +#if 0 +/* Variables to keep track of which words in an expanded word list (the + output of expand_word_list_internal) are the result of globbing + expansions. GLOB_ARGV_FLAGS is used by execute_cmd.c. + (CURRENTLY UNUSED). */ +char *glob_argv_flags; +static int glob_argv_flags_size; +#endif + +static WORD_LIST expand_word_error, expand_word_fatal; +static char expand_param_error, expand_param_fatal; + +/* Tell the expansion functions to not longjmp back to top_level on fatal + errors. Enabled when doing completion and prompt string expansion. */ +static int no_longjmp_on_fatal_error = 0; + +/* Set by expand_word_unsplit; used to inhibit splitting and re-joining + $* on $IFS, primarily when doing assignment statements. */ +static int expand_no_split_dollar_star = 0; + +/* Used to hold a list of variable assignments preceding a command. Global + so the SIGCHLD handler in jobs.c can unwind-protect it when it runs a + SIGCHLD trap. */ +WORD_LIST *subst_assign_varlist = (WORD_LIST *)NULL; + +/* A WORD_LIST of words to be expanded by expand_word_list_internal, + without any leading variable assignments. */ +static WORD_LIST *garglist = (WORD_LIST *)NULL; + +static char *quoted_substring __P((char *, int, int)); +static int quoted_strlen __P((char *)); +static char *quoted_strchr __P((char *, int, int)); + +static char *expand_string_if_necessary __P((char *, int, EXPFUNC *)); +static inline char *expand_string_to_string_internal __P((char *, int, EXPFUNC *)); +static WORD_LIST *call_expand_word_internal __P((WORD_DESC *, int, int, int *, int *)); +static WORD_LIST *expand_string_internal __P((char *, int)); +static WORD_LIST *expand_string_leave_quoted __P((char *, int)); +static WORD_LIST *expand_string_for_rhs __P((char *, int, int *, int *)); + +static WORD_LIST *list_quote_escapes __P((WORD_LIST *)); +static char *dequote_escapes __P((char *)); +static char *make_quoted_char __P((int)); +static WORD_LIST *quote_list __P((WORD_LIST *)); +static WORD_LIST *dequote_list __P((WORD_LIST *)); +static char *remove_quoted_escapes __P((char *)); +static char *remove_quoted_nulls __P((char *)); + +static int unquoted_substring __P((char *, char *)); +static int unquoted_member __P((int, char *)); + +static int do_assignment_internal __P((const char *, int)); + +static char *string_extract_verbatim __P((char *, int *, char *)); +static char *string_extract __P((char *, int *, char *, int)); +static char *string_extract_double_quoted __P((char *, int *, int)); +static inline char *string_extract_single_quoted __P((char *, int *)); +static inline int skip_single_quoted __P((char *, size_t, int)); +static int skip_double_quoted __P((char *, size_t, int)); +static char *extract_delimited_string __P((char *, int *, char *, char *, char *, int)); +static char *extract_dollar_brace_string __P((char *, int *, int, int)); + +static char *pos_params __P((char *, int, int, int)); + +static unsigned char *mb_getcharlens __P((char *, int)); + +static char *remove_upattern __P((char *, char *, int)); +#if defined (HANDLE_MULTIBYTE) +# if !defined (HAVE_WCSDUP) +static wchar_t *wcsdup __P((wchar_t *)); +# endif +static wchar_t *remove_wpattern __P((wchar_t *, size_t, wchar_t *, int)); +#endif +static char *remove_pattern __P((char *, char *, int)); + +static int match_pattern_char __P((char *, char *)); +static int match_upattern __P((char *, char *, int, char **, char **)); +#if defined (HANDLE_MULTIBYTE) +static int match_pattern_wchar __P((wchar_t *, wchar_t *)); +static int match_wpattern __P((wchar_t *, char **, size_t, wchar_t *, int, char **, char **)); +#endif +static int match_pattern __P((char *, char *, int, char **, char **)); +static int getpatspec __P((int, char *)); +static char *getpattern __P((char *, int, int)); +static char *variable_remove_pattern __P((char *, char *, int, int)); +static char *list_remove_pattern __P((WORD_LIST *, char *, int, int, int)); +static char *parameter_list_remove_pattern __P((int, char *, int, int)); +#ifdef ARRAY_VARS +static char *array_remove_pattern __P((ARRAY *, char *, int, char *, int)); +#endif +static char *parameter_brace_remove_pattern __P((char *, char *, char *, int, int)); + +static char *process_substitute __P((char *, int)); + +static char *read_comsub __P((int, int)); + +#ifdef ARRAY_VARS +static arrayind_t array_length_reference __P((char *)); +#endif + +static int valid_brace_expansion_word __P((char *, int)); +static int chk_atstar __P((char *, int, int *, int *)); + +static char *parameter_brace_expand_word __P((char *, int, int)); +static char *parameter_brace_expand_indir __P((char *, int, int, int *, int *)); +static char *parameter_brace_expand_rhs __P((char *, char *, int, int, int *, int *)); +static void parameter_brace_expand_error __P((char *, char *)); + +static int valid_length_expression __P((char *)); +static intmax_t parameter_brace_expand_length __P((char *)); + +static char *skiparith __P((char *, int)); +static int verify_substring_values __P((char *, char *, int, intmax_t *, intmax_t *)); +static int get_var_and_type __P((char *, char *, int, SHELL_VAR **, char **)); +static char *mb_substring __P((char *, int, int)); +static char *parameter_brace_substring __P((char *, char *, char *, int)); + +static char *pos_params_pat_subst __P((char *, char *, char *, int)); + +static char *parameter_brace_patsub __P((char *, char *, char *, int)); + +static char *parameter_brace_expand __P((char *, int *, int, int *, int *)); +static char *param_expand __P((char *, int *, int, int *, int *, int *, int *, int)); + +static WORD_LIST *expand_word_internal __P((WORD_DESC *, int, int, int *, int *)); + +static WORD_LIST *word_list_split __P((WORD_LIST *)); + +static void exp_jump_to_top_level __P((int)); + +static WORD_LIST *separate_out_assignments __P((WORD_LIST *)); +static WORD_LIST *glob_expand_word_list __P((WORD_LIST *, int)); +#ifdef BRACE_EXPANSION +static WORD_LIST *brace_expand_word_list __P((WORD_LIST *, int)); +#endif +static WORD_LIST *shell_expand_word_list __P((WORD_LIST *, int)); +static WORD_LIST *expand_word_list_internal __P((WORD_LIST *, int)); + +/* **************************************************************** */ +/* */ +/* Utility Functions */ +/* */ +/* **************************************************************** */ + +#ifdef INCLUDE_UNUSED +static char * +quoted_substring (string, start, end) + char *string; + int start, end; +{ + register int len, l; + register char *result, *s, *r; + + len = end - start; + + /* Move to string[start], skipping quoted characters. */ + for (s = string, l = 0; *s && l < start; ) + { + if (*s == CTLESC) + { + s++; + continue; + } + l++; + if (*s == 0) + break; + } + + r = result = (char *)xmalloc (2*len + 1); /* save room for quotes */ + + /* Copy LEN characters, including quote characters. */ + s = string + l; + for (l = 0; l < len; s++) + { + if (*s == CTLESC) + *r++ = *s++; + *r++ = *s; + l++; + if (*s == 0) + break; + } + *r = '\0'; + return result; +} +#endif + +#ifdef INCLUDE_UNUSED +/* Return the length of S, skipping over quoted characters */ +static int +quoted_strlen (s) + char *s; +{ + register char *p; + int i; + + i = 0; + for (p = s; *p; p++) + { + if (*p == CTLESC) + { + p++; + if (*p == 0) + return (i + 1); + } + i++; + } + + return i; +} +#endif + +/* Find the first occurrence of character C in string S, obeying shell + quoting rules. If (FLAGS & ST_BACKSL) is non-zero, backslash-escaped + characters are skipped. If (FLAGS & ST_CTLESC) is non-zero, characters + escaped with CTLESC are skipped. */ +static char * +quoted_strchr (s, c, flags) + char *s; + int c, flags; +{ + register char *p; + + for (p = s; *p; p++) + { + if (((flags & ST_BACKSL) && *p == '\\') + || ((flags & ST_CTLESC) && *p == CTLESC)) + { + p++; + if (*p == '\0') + return ((char *)NULL); + continue; + } + else if (*p == c) + return p; + } + return ((char *)NULL); +} + +/* Return 1 if CHARACTER appears in an unquoted portion of + STRING. Return 0 otherwise. CHARACTER must be a single-byte character. */ +static int +unquoted_member (character, string) + int character; + char *string; +{ + size_t slen; + int sindex, c; + DECLARE_MBSTATE; + + slen = strlen (string); + sindex = 0; + while (c = string[sindex]) + { + if (c == character) + return (1); + + switch (c) + { + default: + ADVANCE_CHAR (string, slen, sindex); + break; + + case '\\': + sindex++; + if (string[sindex]) + ADVANCE_CHAR (string, slen, sindex); + break; + + case '\'': + sindex = skip_single_quoted (string, slen, ++sindex); + break; + + case '"': + sindex = skip_double_quoted (string, slen, ++sindex); + break; + } + } + return (0); +} + +/* Return 1 if SUBSTR appears in an unquoted portion of STRING. */ +static int +unquoted_substring (substr, string) + char *substr, *string; +{ + size_t slen; + int sindex, c, sublen; + DECLARE_MBSTATE; + + if (substr == 0 || *substr == '\0') + return (0); + + slen = strlen (string); + sublen = strlen (substr); + for (sindex = 0; c = string[sindex]; ) + { + if (STREQN (string + sindex, substr, sublen)) + return (1); + + switch (c) + { + case '\\': + sindex++; + + if (string[sindex]) + ADVANCE_CHAR (string, slen, sindex); + break; + + case '\'': + sindex = skip_single_quoted (string, slen, ++sindex); + break; + + case '"': + sindex = skip_double_quoted (string, slen, ++sindex); + break; + + default: + ADVANCE_CHAR (string, slen, sindex); + break; + } + } + return (0); +} + +/* Most of the substitutions must be done in parallel. In order + to avoid using tons of unclear goto's, I have some functions + for manipulating malloc'ed strings. They all take INDX, a + pointer to an integer which is the offset into the string + where manipulation is taking place. They also take SIZE, a + pointer to an integer which is the current length of the + character array for this string. */ + +/* Append SOURCE to TARGET at INDEX. SIZE is the current amount + of space allocated to TARGET. SOURCE can be NULL, in which + case nothing happens. Gets rid of SOURCE by freeing it. + Returns TARGET in case the location has changed. */ +INLINE char * +sub_append_string (source, target, indx, size) + char *source, *target; + int *indx, *size; +{ + if (source) + { + int srclen, n; + + srclen = STRLEN (source); + if (srclen >= (int)(*size - *indx)) + { + n = srclen + *indx; + n = (n + DEFAULT_ARRAY_SIZE) - (n % DEFAULT_ARRAY_SIZE); + target = (char *)xrealloc (target, (*size = n)); + } + + FASTCOPY (source, target + *indx, srclen); + *indx += srclen; + target[*indx] = '\0'; + + free (source); + } + return (target); +} + +#if 0 +/* UNUSED */ +/* Append the textual representation of NUMBER to TARGET. + INDX and SIZE are as in SUB_APPEND_STRING. */ +char * +sub_append_number (number, target, indx, size) + intmax_t number; + int *indx, *size; + char *target; +{ + char *temp; + + temp = itos (number); + return (sub_append_string (temp, target, indx, size)); +} +#endif + +/* Extract a substring from STRING, starting at SINDEX and ending with + one of the characters in CHARLIST. Don't make the ending character + part of the string. Leave SINDEX pointing at the ending character. + Understand about backslashes in the string. If (flags & EX_VARNAME) + is non-zero, and array variables have been compiled into the shell, + everything between a `[' and a corresponding `]' is skipped over. + If (flags & EX_NOALLOC) is non-zero, don't return the substring, just + update SINDEX. */ +static char * +string_extract (string, sindex, charlist, flags) + char *string; + int *sindex; + char *charlist; + int flags; +{ + register int c, i; + size_t slen; + char *temp; + DECLARE_MBSTATE; + + slen = strlen (string + *sindex) + *sindex; + i = *sindex; + while (c = string[i]) + { + if (c == '\\') + { + if (string[i + 1]) + i++; + else + break; + } +#if defined (ARRAY_VARS) + else if ((flags & EX_VARNAME) && c == '[') + { + int ni; + /* If this is an array subscript, skip over it and continue. */ + ni = skipsubscript (string, i); + if (string[ni] == ']') + i = ni; + } +#endif + else if (MEMBER (c, charlist)) + break; + + ADVANCE_CHAR (string, slen, i); + } + + temp = (flags & EX_NOALLOC) ? (char *)NULL : substring (string, *sindex, i); + *sindex = i; + return (temp); +} + +/* Extract the contents of STRING as if it is enclosed in double quotes. + SINDEX, when passed in, is the offset of the character immediately + following the opening double quote; on exit, SINDEX is left pointing after + the closing double quote. If STRIPDQ is non-zero, unquoted double + quotes are stripped and the string is terminated by a null byte. + Backslashes between the embedded double quotes are processed. If STRIPDQ + is zero, an unquoted `"' terminates the string. */ +static char * +string_extract_double_quoted (string, sindex, stripdq) + char *string; + int *sindex, stripdq; +{ + size_t slen; + char *send; + int j, i, t; + unsigned char c; + char *temp, *ret; /* The new string we return. */ + int pass_next, backquote, si; /* State variables for the machine. */ + int dquote; + DECLARE_MBSTATE; + + slen = strlen (string + *sindex) + *sindex; + send = string + slen; + + pass_next = backquote = dquote = 0; + temp = (char *)xmalloc (1 + slen - *sindex); + + j = 0; + i = *sindex; + while (c = string[i]) + { + /* Process a character that was quoted by a backslash. */ + if (pass_next) + { + /* Posix.2 sez: + + ``The backslash shall retain its special meaning as an escape + character only when followed by one of the characters: + $ ` " \ ''. + + If STRIPDQ is zero, we handle the double quotes here and let + expand_word_internal handle the rest. If STRIPDQ is non-zero, + we have already been through one round of backslash stripping, + and want to strip these backslashes only if DQUOTE is non-zero, + indicating that we are inside an embedded double-quoted string. */ + + /* If we are in an embedded quoted string, then don't strip + backslashes before characters for which the backslash + retains its special meaning, but remove backslashes in + front of other characters. If we are not in an + embedded quoted string, don't strip backslashes at all. + This mess is necessary because the string was already + surrounded by double quotes (and sh has some really weird + quoting rules). + The returned string will be run through expansion as if + it were double-quoted. */ + if ((stripdq == 0 && c != '"') || + (stripdq && ((dquote && (sh_syntaxtab[c] & CBSDQUOTE)) || dquote == 0))) + temp[j++] = '\\'; + pass_next = 0; + +add_one_character: + COPY_CHAR_I (temp, j, string, send, i); + continue; + } + + /* A backslash protects the next character. The code just above + handles preserving the backslash in front of any character but + a double quote. */ + if (c == '\\') + { + pass_next++; + i++; + continue; + } + + /* Inside backquotes, ``the portion of the quoted string from the + initial backquote and the characters up to the next backquote + that is not preceded by a backslash, having escape characters + removed, defines that command''. */ + if (backquote) + { + if (c == '`') + backquote = 0; + temp[j++] = c; + i++; + continue; + } + + if (c == '`') + { + temp[j++] = c; + backquote++; + i++; + continue; + } + + /* Pass everything between `$(' and the matching `)' or a quoted + ${ ... } pair through according to the Posix.2 specification. */ + if (c == '$' && ((string[i + 1] == LPAREN) || (string[i + 1] == LBRACE))) + { + int free_ret = 1; + + si = i + 2; + if (string[i + 1] == LPAREN) + ret = extract_delimited_string (string, &si, "$(", "(", ")", 0); /*)*/ + else + ret = extract_dollar_brace_string (string, &si, 1, 0); + + temp[j++] = '$'; + temp[j++] = string[i + 1]; + + /* Just paranoia; ret will not be 0 unless no_longjmp_on_fatal_error + is set. */ + if (ret == 0 && no_longjmp_on_fatal_error) + { + free_ret = 0; + ret = string + i + 2; + } + + for (t = 0; ret[t]; t++, j++) + temp[j] = ret[t]; + temp[j++] = string[si]; + + i = si + 1; + if (free_ret) + free (ret); + continue; + } + + /* Add any character but a double quote to the quoted string we're + accumulating. */ + if (c != '"') + goto add_one_character; + + /* c == '"' */ + if (stripdq) + { + dquote ^= 1; + i++; + continue; + } + + break; + } + temp[j] = '\0'; + + /* Point to after the closing quote. */ + if (c) + i++; + *sindex = i; + + return (temp); +} + +/* This should really be another option to string_extract_double_quoted. */ +static int +skip_double_quoted (string, slen, sind) + char *string; + size_t slen; + int sind; +{ + int c, i; + char *ret; + int pass_next, backquote, si; + DECLARE_MBSTATE; + + pass_next = backquote = 0; + i = sind; + while (c = string[i]) + { + if (pass_next) + { + pass_next = 0; + ADVANCE_CHAR (string, slen, i); + continue; + } + else if (c == '\\') + { + pass_next++; + i++; + continue; + } + else if (backquote) + { + if (c == '`') + backquote = 0; + ADVANCE_CHAR (string, slen, i); + continue; + } + else if (c == '`') + { + backquote++; + i++; + continue; + } + else if (c == '$' && ((string[i + 1] == LPAREN) || (string[i + 1] == LBRACE))) + { + si = i + 2; + if (string[i + 1] == LPAREN) + ret = extract_delimited_string (string, &si, "$(", "(", ")", EX_NOALLOC); + else + ret = extract_dollar_brace_string (string, &si, 0, EX_NOALLOC); + + i = si + 1; + continue; + } + else if (c != '"') + { + ADVANCE_CHAR (string, slen, i); + continue; + } + else + break; + } + + if (c) + i++; + + return (i); +} + +/* Extract the contents of STRING as if it is enclosed in single quotes. + SINDEX, when passed in, is the offset of the character immediately + following the opening single quote; on exit, SINDEX is left pointing after + the closing single quote. */ +static inline char * +string_extract_single_quoted (string, sindex) + char *string; + int *sindex; +{ + register int i; + size_t slen; + char *t; + DECLARE_MBSTATE; + + slen = strlen (string + *sindex) + *sindex; + i = *sindex; + while (string[i] && string[i] != '\'') + ADVANCE_CHAR (string, slen, i); + + t = substring (string, *sindex, i); + + if (string[i]) + i++; + *sindex = i; + + return (t); +} + +static inline int +skip_single_quoted (string, slen, sind) + char *string; + size_t slen; + int sind; +{ + register int c; + DECLARE_MBSTATE; + + c = sind; + while (string[c] && string[c] != '\'') + ADVANCE_CHAR (string, slen, c); + + if (string[c]) + c++; + return c; +} + +/* Just like string_extract, but doesn't hack backslashes or any of + that other stuff. Obeys CTLESC quoting. Used to do splitting on $IFS. */ +static char * +string_extract_verbatim (string, sindex, charlist) + char *string; + int *sindex; + char *charlist; +{ + register int i = *sindex; + int c; + char *temp; + + if (charlist[0] == '\'' && charlist[1] == '\0') + { + temp = string_extract_single_quoted (string, sindex); + --*sindex; /* leave *sindex at separator character */ + return temp; + } + + for (i = *sindex; c = string[i]; i++) + { + if (c == CTLESC) + { + i++; + continue; + } + + if (MEMBER (c, charlist)) + break; + } + + temp = substring (string, *sindex, i); + *sindex = i; + + return (temp); +} + +/* Extract the $( construct in STRING, and return a new string. + Start extracting at (SINDEX) as if we had just seen "$(". + Make (SINDEX) get the position of the matching ")". */ +char * +extract_command_subst (string, sindex) + char *string; + int *sindex; +{ + return (extract_delimited_string (string, sindex, "$(", "(", ")", 0)); +} + +/* Extract the $[ construct in STRING, and return a new string. (]) + Start extracting at (SINDEX) as if we had just seen "$[". + Make (SINDEX) get the position of the matching "]". */ +char * +extract_arithmetic_subst (string, sindex) + char *string; + int *sindex; +{ + return (extract_delimited_string (string, sindex, "$[", "[", "]", 0)); /*]*/ +} + +#if defined (PROCESS_SUBSTITUTION) +/* Extract the <( or >( construct in STRING, and return a new string. + Start extracting at (SINDEX) as if we had just seen "<(". + Make (SINDEX) get the position of the matching ")". */ /*))*/ +char * +extract_process_subst (string, starter, sindex) + char *string; + char *starter; + int *sindex; +{ + return (extract_delimited_string (string, sindex, starter, "(", ")", 0)); +} +#endif /* PROCESS_SUBSTITUTION */ + +#if defined (ARRAY_VARS) +char * +extract_array_assignment_list (string, sindex) + char *string; + int *sindex; +{ + return (extract_delimited_string (string, sindex, "(", (char *)NULL, ")", 0)); +} +#endif + +/* Extract and create a new string from the contents of STRING, a + character string delimited with OPENER and CLOSER. SINDEX is + the address of an int describing the current offset in STRING; + it should point to just after the first OPENER found. On exit, + SINDEX gets the position of the last character of the matching CLOSER. + If OPENER is more than a single character, ALT_OPENER, if non-null, + contains a character string that can also match CLOSER and thus + needs to be skipped. */ +static char * +extract_delimited_string (string, sindex, opener, alt_opener, closer, flags) + char *string; + int *sindex; + char *opener, *alt_opener, *closer; + int flags; +{ + int i, c, si; + size_t slen; + char *t, *result; + int pass_character, nesting_level; + int len_closer, len_opener, len_alt_opener; + DECLARE_MBSTATE; + + slen = strlen (string + *sindex) + *sindex; + len_opener = STRLEN (opener); + len_alt_opener = STRLEN (alt_opener); + len_closer = STRLEN (closer); + + pass_character = 0; + + nesting_level = 1; + i = *sindex; + + while (nesting_level) + { + c = string[i]; + + if (c == 0) + break; + + if (pass_character) /* previous char was backslash */ + { + pass_character = 0; + ADVANCE_CHAR (string, slen, i); + continue; + } + + if (c == CTLESC || c == '\\') + { + pass_character++; + i++; + continue; + } + + /* Process a nested OPENER. */ + if (STREQN (string + i, opener, len_opener)) + { + si = i + len_opener; + t = extract_delimited_string (string, &si, opener, alt_opener, closer, flags|EX_NOALLOC); + i = si + 1; + continue; + } + + /* Process a nested ALT_OPENER */ + if (len_alt_opener && STREQN (string + i, alt_opener, len_alt_opener)) + { + si = i + len_alt_opener; + t = extract_delimited_string (string, &si, alt_opener, alt_opener, closer, flags|EX_NOALLOC); + i = si + 1; + continue; + } + + /* If the current substring terminates the delimited string, decrement + the nesting level. */ + if (STREQN (string + i, closer, len_closer)) + { + i += len_closer - 1; /* move to last byte of the closer */ + nesting_level--; + if (nesting_level == 0) + break; + } + + /* Pass old-style command substitution through verbatim. */ + if (c == '`') + { + si = i + 1; + t = string_extract (string, &si, "`", flags|EX_NOALLOC); + i = si + 1; + continue; + } + + /* Pass single-quoted and double-quoted strings through verbatim. */ + if (c == '\'' || c == '"') + { + si = i + 1; + i = (c == '\'') ? skip_single_quoted (string, slen, si) + : skip_double_quoted (string, slen, si); + continue; + } + + /* move past this character, which was not special. */ + ADVANCE_CHAR (string, slen, i); + } + + if (c == 0 && nesting_level) + { + if (no_longjmp_on_fatal_error == 0) + { + report_error (_("bad substitution: no closing `%s' in %s"), closer, string); + last_command_exit_value = EXECUTION_FAILURE; + exp_jump_to_top_level (DISCARD); + } + else + { + *sindex = i; + return (char *)NULL; + } + } + + si = i - *sindex - len_closer + 1; + if (flags & EX_NOALLOC) + result = (char *)NULL; + else + { + result = (char *)xmalloc (1 + si); + strncpy (result, string + *sindex, si); + result[si] = '\0'; + } + *sindex = i; + + return (result); +} + +/* Extract a parameter expansion expression within ${ and } from STRING. + Obey the Posix.2 rules for finding the ending `}': count braces while + skipping over enclosed quoted strings and command substitutions. + SINDEX is the address of an int describing the current offset in STRING; + it should point to just after the first `{' found. On exit, SINDEX + gets the position of the matching `}'. QUOTED is non-zero if this + occurs inside double quotes. */ +/* XXX -- this is very similar to extract_delimited_string -- XXX */ +static char * +extract_dollar_brace_string (string, sindex, quoted, flags) + char *string; + int *sindex, quoted, flags; +{ + register int i, c; + size_t slen; + int pass_character, nesting_level, si; + char *result, *t; + DECLARE_MBSTATE; + + pass_character = 0; + nesting_level = 1; + slen = strlen (string + *sindex) + *sindex; + + i = *sindex; + while (c = string[i]) + { + if (pass_character) + { + pass_character = 0; + ADVANCE_CHAR (string, slen, i); + continue; + } + + /* CTLESCs and backslashes quote the next character. */ + if (c == CTLESC || c == '\\') + { + pass_character++; + i++; + continue; + } + + if (string[i] == '$' && string[i+1] == LBRACE) + { + nesting_level++; + i += 2; + continue; + } + + if (c == RBRACE) + { + nesting_level--; + if (nesting_level == 0) + break; + i++; + continue; + } + + /* Pass the contents of old-style command substitutions through + verbatim. */ + if (c == '`') + { + si = i + 1; + t = string_extract (string, &si, "`", flags|EX_NOALLOC); + i = si + 1; + continue; + } + + /* Pass the contents of new-style command substitutions and + arithmetic substitutions through verbatim. */ + if (string[i] == '$' && string[i+1] == LPAREN) + { + si = i + 2; + t = extract_delimited_string (string, &si, "$(", "(", ")", flags|EX_NOALLOC); /*)*/ + i = si + 1; + continue; + } + + /* Pass the contents of single-quoted and double-quoted strings + through verbatim. */ + if (c == '\'' || c == '"') + { + si = i + 1; + i = (c == '\'') ? skip_single_quoted (string, slen, si) + : skip_double_quoted (string, slen, si); + /* skip_XXX_quoted leaves index one past close quote */ + continue; + } + + /* move past this character, which was not special. */ + ADVANCE_CHAR (string, slen, i); + } + + if (c == 0 && nesting_level) + { + if (no_longjmp_on_fatal_error == 0) + { /* { */ + report_error ("bad substitution: no closing `%s' in %s", "}", string); + last_command_exit_value = EXECUTION_FAILURE; + exp_jump_to_top_level (DISCARD); + } + else + { + *sindex = i; + return ((char *)NULL); + } + } + + result = (flags & EX_NOALLOC) ? (char *)NULL : substring (string, *sindex, i); + *sindex = i; + + return (result); +} + +/* Remove backslashes which are quoting backquotes from STRING. Modifies + STRING, and returns a pointer to it. */ +char * +de_backslash (string) + char *string; +{ + register size_t slen; + register int i, j, prev_i; + DECLARE_MBSTATE; + + slen = strlen (string); + i = j = 0; + + /* Loop copying string[i] to string[j], i >= j. */ + while (i < slen) + { + if (string[i] == '\\' && (string[i + 1] == '`' || string[i + 1] == '\\' || + string[i + 1] == '$')) + i++; + prev_i = i; + ADVANCE_CHAR (string, slen, i); + if (j < prev_i) + do string[j++] = string[prev_i++]; while (prev_i < i); + else + j = i; + } + string[j] = '\0'; + + return (string); +} + +#if 0 +/*UNUSED*/ +/* Replace instances of \! in a string with !. */ +void +unquote_bang (string) + char *string; +{ + register int i, j; + register char *temp; + + temp = (char *)xmalloc (1 + strlen (string)); + + for (i = 0, j = 0; (temp[j] = string[i]); i++, j++) + { + if (string[i] == '\\' && string[i + 1] == '!') + { + temp[j] = '!'; + i++; + } + } + strcpy (string, temp); + free (temp); +} +#endif + +#if defined (READLINE) +/* Return 1 if the portion of STRING ending at EINDEX is quoted (there is + an unclosed quoted string), or if the character at EINDEX is quoted + by a backslash. NO_LONGJMP_ON_FATAL_ERROR is used to flag that the various + single and double-quoted string parsing functions should not return an + error if there are unclosed quotes or braces. The characters that this + recognizes need to be the same as the contents of + rl_completer_quote_characters. */ + +#define CQ_RETURN(x) do { no_longjmp_on_fatal_error = 0; return (x); } while (0) + +int +char_is_quoted (string, eindex) + char *string; + int eindex; +{ + int i, pass_next, c; + size_t slen; + DECLARE_MBSTATE; + + slen = strlen (string); + no_longjmp_on_fatal_error = 1; + i = pass_next = 0; + while (i <= eindex) + { + c = string[i]; + + if (pass_next) + { + pass_next = 0; + if (i >= eindex) /* XXX was if (i >= eindex - 1) */ + CQ_RETURN(1); + ADVANCE_CHAR (string, slen, i); + continue; + } + else if (c == '\\') + { + pass_next = 1; + i++; + continue; + } + else if (c == '\'' || c == '"') + { + i = (c == '\'') ? skip_single_quoted (string, slen, ++i) + : skip_double_quoted (string, slen, ++i); + if (i > eindex) + CQ_RETURN(1); + /* no increment, the skip_xxx functions go one past end */ + } + else + ADVANCE_CHAR (string, slen, i); + } + + CQ_RETURN(0); +} + +int +unclosed_pair (string, eindex, openstr) + char *string; + int eindex; + char *openstr; +{ + int i, pass_next, openc, olen; + size_t slen; + DECLARE_MBSTATE; + + slen = strlen (string); + olen = strlen (openstr); + i = pass_next = openc = 0; + while (i <= eindex) + { + if (pass_next) + { + pass_next = 0; + if (i >= eindex) /* XXX was if (i >= eindex - 1) */ + return 0; + ADVANCE_CHAR (string, slen, i); + continue; + } + else if (string[i] == '\\') + { + pass_next = 1; + i++; + continue; + } + else if (STREQN (string + i, openstr, olen)) + { + openc = 1 - openc; + i += olen; + } + else if (string[i] == '\'' || string[i] == '"') + { + i = (string[i] == '\'') ? skip_single_quoted (string, slen, i) + : skip_double_quoted (string, slen, i); + if (i > eindex) + return 0; + } + else + ADVANCE_CHAR (string, slen, i); + } + return (openc); +} + +/* Skip characters in STRING until we find a character in DELIMS, and return + the index of that character. START is the index into string at which we + begin. This is similar in spirit to strpbrk, but it returns an index into + STRING and takes a starting index. This little piece of code knows quite + a lot of shell syntax. It's very similar to skip_double_quoted and other + functions of that ilk. */ +int +skip_to_delim (string, start, delims) + char *string; + int start; + char *delims; +{ + int i, pass_next, backq, si, c; + size_t slen; + char *temp; + DECLARE_MBSTATE; + + slen = strlen (string + start) + start; + no_longjmp_on_fatal_error = 1; + i = start; + pass_next = backq = 0; + while (c = string[i]) + { + if (pass_next) + { + pass_next = 0; + if (c == 0) + CQ_RETURN(i); + ADVANCE_CHAR (string, slen, i); + continue; + } + else if (c == '\\') + { + pass_next = 1; + i++; + continue; + } + else if (backq) + { + if (c == '`') + backq = 0; + ADVANCE_CHAR (string, slen, i); + continue; + } + else if (c == '`') + { + backq = 1; + i++; + continue; + } + else if (c == '\'' || c == '"') + { + i = (c == '\'') ? skip_single_quoted (string, slen, ++i) + : skip_double_quoted (string, slen, ++i); + /* no increment, the skip functions increment past the closing quote. */ + } + else if (c == '$' && (string[i+1] == LPAREN || string[i+1] == LBRACE)) + { + si = i + 2; + if (string[si] == '\0') + CQ_RETURN(si); + + if (string[i+1] == LPAREN) + temp = extract_delimited_string (string, &si, "$(", "(", ")", EX_NOALLOC); /* ) */ + else + temp = extract_dollar_brace_string (string, &si, 0, EX_NOALLOC); + i = si; + if (string[i] == '\0') /* don't increment i past EOS in loop */ + break; + i++; + continue; + } + else if (member (c, delims)) + break; + else + ADVANCE_CHAR (string, slen, i); + } + + CQ_RETURN(i); +} + +/* Split STRING (length SLEN) at DELIMS, and return a WORD_LIST with the + individual words. If DELIMS is NULL, the current value of $IFS is used + to split the string, and the function follows the shell field splitting + rules. SENTINEL is an index to look for. NWP, if non-NULL, + gets the number of words in the returned list. CWP, if non-NULL, gets + the index of the word containing SENTINEL. Non-whitespace chars in + DELIMS delimit separate fields. */ +WORD_LIST * +split_at_delims (string, slen, delims, sentinel, nwp, cwp) + char *string; + int slen; + char *delims; + int sentinel; + int *nwp, *cwp; +{ + int ts, te, i, nw, cw, ifs_split; + char *token, *d, *d2; + WORD_LIST *ret, *tl; + + if (string == 0 || *string == '\0') + { + if (nwp) + *nwp = 0; + if (cwp) + *cwp = 0; + return ((WORD_LIST *)NULL); + } + + d = (delims == 0) ? ifs_value : delims; + ifs_split = delims == 0; + + /* Make d2 the non-whitespace characters in delims */ + d2 = 0; + if (delims) + { + d2 = (char *)xmalloc (strlen (delims) + 1); + for (i = ts = 0; delims[i]; i++) + { + if (whitespace(delims[i]) == 0) + d2[ts++] = delims[i]; + } + d2[ts] = '\0'; + } + + ret = (WORD_LIST *)NULL; + + /* Remove sequences of whitspace characters at the start of the string, as + long as those characters are delimiters. */ + for (i = 0; member (string[i], d) && spctabnl (string[i]); i++) + ; + if (string[i] == '\0') + return (ret); + + ts = i; + nw = 0; + cw = -1; + while (1) + { + te = skip_to_delim (string, ts, d); + + /* If we have a non-whitespace delimiter character, use it to make a + separate field. This is just about what $IFS splitting does and + is closer to the behavior of the shell parser. */ + if (ts == te && d2 && member (string[ts], d2)) + { + te = ts + 1; + /* If we're using IFS splitting, the non-whitespace delimiter char + and any additional IFS whitespace delimits a field. */ + if (ifs_split) + while (member (string[te], d) && spctabnl (string[te])) + te++; + else + while (member (string[te], d2)) + te++; + } + + token = substring (string, ts, te); + + ret = add_string_to_list (token, ret); + free (token); + nw++; + + if (sentinel >= ts && sentinel <= te) + cw = nw; + + /* If the cursor is at whitespace just before word start, set the + sentinel word to the current word. */ + if (cwp && cw == -1 && sentinel == ts-1) + cw = nw; + + /* If the cursor is at whitespace between two words, make a new, empty + word, add it before (well, after, since the list is in reverse order) + the word we just added, and set the current word to that one. */ + if (cwp && cw == -1 && sentinel < ts) + { + tl = make_word_list (make_word (""), ret->next); + ret->next = tl; + cw = nw; + nw++; + } + + if (string[te] == 0) + break; + + i = te; + while (member (string[i], d) && (ifs_split || spctabnl(string[i]))) + i++; + + if (string[i]) + ts = i; + else + break; + } + + /* Special case for SENTINEL at the end of STRING. If we haven't found + the word containing SENTINEL yet, and the index we're looking for is at + the end of STRING, add an additional null argument and set the current + word pointer to that. */ + if (cwp && cw == -1 && sentinel >= slen) + { + if (whitespace (string[sentinel - 1])) + { + token = ""; + ret = add_string_to_list (token, ret); + nw++; + } + cw = nw; + } + + if (nwp) + *nwp = nw; + if (cwp) + *cwp = cw; + + return (REVERSE_LIST (ret, WORD_LIST *)); +} +#endif /* READLINE */ + +#if 0 +/* UNUSED */ +/* Extract the name of the variable to bind to from the assignment string. */ +char * +assignment_name (string) + char *string; +{ + int offset; + char *temp; + + offset = assignment (string, 0); + if (offset == 0) + return (char *)NULL; + temp = substring (string, 0, offset); + return (temp); +} +#endif + +/* **************************************************************** */ +/* */ +/* Functions to convert strings to WORD_LISTs and vice versa */ +/* */ +/* **************************************************************** */ + +/* Return a single string of all the words in LIST. SEP is the separator + to put between individual elements of LIST in the output string. */ +char * +string_list_internal (list, sep) + WORD_LIST *list; + char *sep; +{ + register WORD_LIST *t; + char *result, *r; + int word_len, sep_len, result_size; + + if (list == 0) + return ((char *)NULL); + + /* Short-circuit quickly if we don't need to separate anything. */ + if (list->next == 0) + return (savestring (list->word->word)); + + /* This is nearly always called with either sep[0] == 0 or sep[1] == 0. */ + sep_len = STRLEN (sep); + result_size = 0; + + for (t = list; t; t = t->next) + { + if (t != list) + result_size += sep_len; + result_size += strlen (t->word->word); + } + + r = result = (char *)xmalloc (result_size + 1); + + for (t = list; t; t = t->next) + { + if (t != list && sep_len) + { + if (sep_len > 1) + { + FASTCOPY (sep, r, sep_len); + r += sep_len; + } + else + *r++ = sep[0]; + } + + word_len = strlen (t->word->word); + FASTCOPY (t->word->word, r, word_len); + r += word_len; + } + + *r = '\0'; + return (result); +} + +/* Return a single string of all the words present in LIST, separating + each word with a space. */ +char * +string_list (list) + WORD_LIST *list; +{ + return (string_list_internal (list, " ")); +} + +/* Return a single string of all the words present in LIST, obeying the + quoting rules for "$*", to wit: (P1003.2, draft 11, 3.5.2) "If the + expansion [of $*] appears within a double quoted string, it expands + to a single field with the value of each parameter separated by the + first character of the IFS variable, or by a if IFS is unset." */ +char * +string_list_dollar_star (list) + WORD_LIST *list; +{ + char sep[2]; + + sep[0] = ifs_firstc; + sep[1] = '\0'; + + return (string_list_internal (list, sep)); +} + +/* Turn $@ into a string. If (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) + is non-zero, the $@ appears within double quotes, and we should quote + the list before converting it into a string. If IFS is unset, and the + word is not quoted, we just need to quote CTLESC and CTLNUL characters + in the words in the list, because the default value of $IFS is + , IFS characters in the words in the list should + also be split. If IFS is null, and the word is not quoted, we need + to quote the words in the list to preserve the positional parameters + exactly. */ +char * +string_list_dollar_at (list, quoted) + WORD_LIST *list; + int quoted; +{ + char *ifs, sep[2]; + WORD_LIST *tlist; + + /* XXX this could just be ifs = ifs_value; */ + ifs = ifs_var ? value_cell (ifs_var) : (char *)0; + + sep[0] = (ifs == 0 || *ifs == 0) ? ' ' : *ifs; + sep[1] = '\0'; + + tlist = ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (ifs && *ifs == 0)) + ? quote_list (list) + : list_quote_escapes (list); + return (string_list_internal (tlist, sep)); +} + +/* Return the list of words present in STRING. Separate the string into + words at any of the characters found in SEPARATORS. If QUOTED is + non-zero then word in the list will have its quoted flag set, otherwise + the quoted flag is left as make_word () deemed fit. + + This obeys the P1003.2 word splitting semantics. If `separators' is + exactly , then the splitting algorithm is that of + the Bourne shell, which treats any sequence of characters from `separators' + as a delimiter. If IFS is unset, which results in `separators' being set + to "", no splitting occurs. If separators has some other value, the + following rules are applied (`IFS white space' means zero or more + occurrences of , , or , as long as those characters + are in `separators'): + + 1) IFS white space is ignored at the start and the end of the + string. + 2) Each occurrence of a character in `separators' that is not + IFS white space, along with any adjacent occurrences of + IFS white space delimits a field. + 3) Any nonzero-length sequence of IFS white space delimits a field. + */ + +/* BEWARE! list_string strips null arguments. Don't call it twice and + expect to have "" preserved! */ + +/* This performs word splitting and quoted null character removal on + STRING. */ +#define issep(c) \ + (((separators)[0]) ? ((separators)[1] ? isifs(c) \ + : (c) == (separators)[0]) \ + : 0) + +WORD_LIST * +list_string (string, separators, quoted) + register char *string, *separators; + int quoted; +{ + WORD_LIST *result; + WORD_DESC *t; + char *current_word, *s; + int sindex, sh_style_split, whitesep; + + if (!string || !*string) + return ((WORD_LIST *)NULL); + + sh_style_split = separators && separators[0] == ' ' && + separators[1] == '\t' && + separators[2] == '\n' && + separators[3] == '\0'; + + /* Remove sequences of whitespace at the beginning of STRING, as + long as those characters appear in IFS. Do not do this if + STRING is quoted or if there are no separator characters. */ + if (!quoted || !separators || !*separators) + { + for (s = string; *s && spctabnl (*s) && issep (*s); s++); + + if (!*s) + return ((WORD_LIST *)NULL); + + string = s; + } + + /* OK, now STRING points to a word that does not begin with white space. + The splitting algorithm is: + extract a word, stopping at a separator + skip sequences of spc, tab, or nl as long as they are separators + This obeys the field splitting rules in Posix.2. */ + for (result = (WORD_LIST *)NULL, sindex = 0; string[sindex]; ) + { + current_word = string_extract_verbatim (string, &sindex, separators); + if (current_word == 0) + break; + + /* If we have a quoted empty string, add a quoted null argument. We + want to preserve the quoted null character iff this is a quoted + empty string; otherwise the quoted null characters are removed + below. */ + if (QUOTED_NULL (current_word)) + { + t = make_bare_word (""); + t->flags |= W_QUOTED; + free (t->word); + t->word = make_quoted_char ('\0'); + result = make_word_list (t, result); + } + else if (current_word[0] != '\0') + { + /* If we have something, then add it regardless. However, + perform quoted null character removal on the current word. */ + remove_quoted_nulls (current_word); + result = add_string_to_list (current_word, result); + if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) + result->word->flags |= W_QUOTED; + } + + /* If we're not doing sequences of separators in the traditional + Bourne shell style, then add a quoted null argument. */ + else if (!sh_style_split && !spctabnl (string[sindex])) + { + t = make_bare_word (""); + t->flags |= W_QUOTED; + free (t->word); + t->word = make_quoted_char ('\0'); + result = make_word_list (t, result); + } + + free (current_word); + + /* Note whether or not the separator is IFS whitespace, used later. */ + whitesep = string[sindex] && spctabnl (string[sindex]); + + /* Move past the current separator character. */ + if (string[sindex]) + sindex++; + + /* Now skip sequences of space, tab, or newline characters if they are + in the list of separators. */ + while (string[sindex] && spctabnl (string[sindex]) && issep (string[sindex])) + sindex++; + + /* If the first separator was IFS whitespace and the current character + is a non-whitespace IFS character, it should be part of the current + field delimiter, not a separate delimiter that would result in an + empty field. Look at POSIX.2, 3.6.5, (3)(b). */ + if (string[sindex] && whitesep && issep (string[sindex]) && !spctabnl (string[sindex])) + sindex++; + } + return (REVERSE_LIST (result, WORD_LIST *)); +} + +/* Parse a single word from STRING, using SEPARATORS to separate fields. + ENDPTR is set to the first character after the word. This is used by + the `read' builtin. This is never called with SEPARATORS != $IFS; + it should be simplified. + + XXX - this function is very similar to list_string; they should be + combined - XXX */ +char * +get_word_from_string (stringp, separators, endptr) + char **stringp, *separators, **endptr; +{ + register char *s; + char *current_word; + int sindex, sh_style_split, whitesep; + + if (!stringp || !*stringp || !**stringp) + return ((char *)NULL); + + s = *stringp; + + sh_style_split = separators && separators[0] == ' ' && + separators[1] == '\t' && + separators[2] == '\n' && + separators[3] == '\0'; + + /* Remove sequences of whitespace at the beginning of STRING, as + long as those characters appear in IFS. */ + if (sh_style_split || !separators || !*separators) + { + for (; *s && spctabnl (*s) && isifs (*s); s++); + + /* If the string is nothing but whitespace, update it and return. */ + if (!*s) + { + *stringp = s; + if (endptr) + *endptr = s; + return ((char *)NULL); + } + } + + /* OK, S points to a word that does not begin with white space. + Now extract a word, stopping at a separator, save a pointer to + the first character after the word, then skip sequences of spc, + tab, or nl as long as they are separators. + + This obeys the field splitting rules in Posix.2. */ + sindex = 0; + current_word = string_extract_verbatim (s, &sindex, separators); + + /* Set ENDPTR to the first character after the end of the word. */ + if (endptr) + *endptr = s + sindex; + + /* Note whether or not the separator is IFS whitespace, used later. */ + whitesep = s[sindex] && spctabnl (s[sindex]); + + /* Move past the current separator character. */ + if (s[sindex]) + sindex++; + + /* Now skip sequences of space, tab, or newline characters if they are + in the list of separators. */ + while (s[sindex] && spctabnl (s[sindex]) && isifs (s[sindex])) + sindex++; + + /* If the first separator was IFS whitespace and the current character is + a non-whitespace IFS character, it should be part of the current field + delimiter, not a separate delimiter that would result in an empty field. + Look at POSIX.2, 3.6.5, (3)(b). */ + if (s[sindex] && whitesep && isifs (s[sindex]) && !spctabnl (s[sindex])) + sindex++; + + /* Update STRING to point to the next field. */ + *stringp = s + sindex; + return (current_word); +} + +/* Remove IFS white space at the end of STRING. Start at the end + of the string and walk backwards until the beginning of the string + or we find a character that's not IFS white space and not CTLESC. + Only let CTLESC escape a white space character if SAW_ESCAPE is + non-zero. */ +char * +strip_trailing_ifs_whitespace (string, separators, saw_escape) + char *string, *separators; + int saw_escape; +{ + char *s; + + s = string + STRLEN (string) - 1; + while (s > string && ((spctabnl (*s) && isifs (*s)) || + (saw_escape && *s == CTLESC && spctabnl (s[1])))) + s--; + *++s = '\0'; + return string; +} + +#if 0 +/* UNUSED */ +/* Split STRING into words at whitespace. Obeys shell-style quoting with + backslashes, single and double quotes. */ +WORD_LIST * +list_string_with_quotes (string) + char *string; +{ + WORD_LIST *list; + char *token, *s; + size_t s_len; + int c, i, tokstart, len; + + for (s = string; s && *s && spctabnl (*s); s++) + ; + if (s == 0 || *s == 0) + return ((WORD_LIST *)NULL); + + s_len = strlen (s); + tokstart = i = 0; + list = (WORD_LIST *)NULL; + while (1) + { + c = s[i]; + if (c == '\\') + { + i++; + if (s[i]) + i++; + } + else if (c == '\'') + i = skip_single_quoted (s, s_len, ++i); + else if (c == '"') + i = skip_double_quoted (s, s_len, ++i); + else if (c == 0 || spctabnl (c)) + { + /* We have found the end of a token. Make a word out of it and + add it to the word list. */ + token = substring (s, tokstart, i); + list = add_string_to_list (token, list); + free (token); + while (spctabnl (s[i])) + i++; + if (s[i]) + tokstart = i; + else + break; + } + else + i++; /* normal character */ + } + return (REVERSE_LIST (list, WORD_LIST *)); +} +#endif + +/********************************************************/ +/* */ +/* Functions to perform assignment statements */ +/* */ +/********************************************************/ + +/* Given STRING, an assignment string, get the value of the right side + of the `=', and bind it to the left side. If EXPAND is true, then + perform parameter expansion, command substitution, and arithmetic + expansion on the right-hand side. Perform tilde expansion in any + case. Do not perform word splitting on the result of expansion. */ +static int +do_assignment_internal (string, expand) + const char *string; + int expand; +{ + int offset; + char *name, *value; + SHELL_VAR *entry; +#if defined (ARRAY_VARS) + char *t; + int ni; +#endif + int assign_list = 0; + + offset = assignment (string, 0); + name = savestring (string); + value = (char *)NULL; + + if (name[offset] == '=') + { + char *temp; + + name[offset] = 0; + temp = name + offset + 1; + +#if defined (ARRAY_VARS) + if (expand && temp[0] == LPAREN && xstrchr (temp, RPAREN)) + { + assign_list = ni = 1; + value = extract_delimited_string (temp, &ni, "(", (char *)NULL, ")", 0); + } + else +#endif + + /* Perform tilde expansion. */ + if (expand && temp[0]) + { + temp = (xstrchr (temp, '~') && unquoted_member ('~', temp)) + ? bash_tilde_expand (temp, 1) + : savestring (temp); + + value = expand_string_if_necessary (temp, 0, expand_string_unsplit); + free (temp); + } + else + value = savestring (temp); + } + + if (value == 0) + { + value = (char *)xmalloc (1); + value[0] = '\0'; + } + + if (echo_command_at_execute) + xtrace_print_assignment (name, value, assign_list, 1); + +#define ASSIGN_RETURN(r) do { FREE (value); free (name); return (r); } while (0) + +#if defined (ARRAY_VARS) + if (t = xstrchr (name, '[')) /*]*/ + { + if (assign_list) + { + report_error (_("%s: cannot assign list to array member"), name); + ASSIGN_RETURN (0); + } + entry = assign_array_element (name, value); + if (entry == 0) + ASSIGN_RETURN (0); + } + else if (assign_list) + entry = assign_array_from_string (name, value); + else +#endif /* ARRAY_VARS */ + entry = bind_variable (name, value); + + stupidly_hack_special_variables (name); + + if (entry) + VUNSETATTR (entry, att_invisible); + + /* Return 1 if the assignment seems to have been performed correctly. */ + ASSIGN_RETURN (entry ? ((readonly_p (entry) == 0) && noassign_p (entry) == 0) : 0); +} + +/* Perform the assignment statement in STRING, and expand the + right side by doing command and parameter expansion. */ +int +do_assignment (string) + const char *string; +{ + return do_assignment_internal (string, 1); +} + +/* Given STRING, an assignment string, get the value of the right side + of the `=', and bind it to the left side. Do not do command and + parameter substitution on the right hand side. */ +int +do_assignment_no_expand (string) + const char *string; +{ + return do_assignment_internal (string, 0); +} + +/*************************************************** + * * + * Functions to manage the positional parameters * + * * + ***************************************************/ + +/* Return the word list that corresponds to `$*'. */ +WORD_LIST * +list_rest_of_args () +{ + register WORD_LIST *list, *args; + int i; + + /* Break out of the loop as soon as one of the dollar variables is null. */ + for (i = 1, list = (WORD_LIST *)NULL; i < 10 && dollar_vars[i]; i++) + list = make_word_list (make_bare_word (dollar_vars[i]), list); + + for (args = rest_of_args; args; args = args->next) + list = make_word_list (make_bare_word (args->word->word), list); + + return (REVERSE_LIST (list, WORD_LIST *)); +} + +int +number_of_args () +{ + register WORD_LIST *list; + int n; + + for (n = 0; n < 9 && dollar_vars[n+1]; n++) + ; + for (list = rest_of_args; list; list = list->next) + n++; + return n; +} + +/* Return the value of a positional parameter. This handles values > 10. */ +char * +get_dollar_var_value (ind) + intmax_t ind; +{ + char *temp; + WORD_LIST *p; + + if (ind < 10) + temp = dollar_vars[ind] ? savestring (dollar_vars[ind]) : (char *)NULL; + else /* We want something like ${11} */ + { + ind -= 10; + for (p = rest_of_args; p && ind--; p = p->next) + ; + temp = p ? savestring (p->word->word) : (char *)NULL; + } + return (temp); +} + +/* Make a single large string out of the dollar digit variables, + and the rest_of_args. If DOLLAR_STAR is 1, then obey the special + case of "$*" with respect to IFS. */ +char * +string_rest_of_args (dollar_star) + int dollar_star; +{ + register WORD_LIST *list; + char *string; + + list = list_rest_of_args (); + string = dollar_star ? string_list_dollar_star (list) : string_list (list); + dispose_words (list); + return (string); +} + +/* Return a string containing the positional parameters from START to + END, inclusive. If STRING[0] == '*', we obey the rules for $*, + which only makes a difference if QUOTED is non-zero. If QUOTED includes + Q_HERE_DOCUMENT or Q_DOUBLE_QUOTES, this returns a quoted list, otherwise + no quoting chars are added. */ +static char * +pos_params (string, start, end, quoted) + char *string; + int start, end, quoted; +{ + WORD_LIST *save, *params, *h, *t; + char *ret; + int i; + + /* see if we can short-circuit. if start == end, we want 0 parameters. */ + if (start == end) + return ((char *)NULL); + + save = params = list_rest_of_args (); + if (save == 0) + return ((char *)NULL); + + for (i = 1; params && i < start; i++) + params = params->next; + if (params == 0) + return ((char *)NULL); + for (h = t = params; params && i < end; i++) + { + t = params; + params = params->next; + } + + t->next = (WORD_LIST *)NULL; + if (string[0] == '*') +#if 0 + ret = (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) ? string_list_dollar_star (quote_list (h)) : string_list (h); +#else + { + if (quoted & Q_DOUBLE_QUOTES) + ret = string_list_dollar_star (quote_list (h)); + else if (quoted & Q_HERE_DOCUMENT) + ret = string_list (quote_list (h)); + else + ret = string_list (h); + } +#endif + else + ret = string_list ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) ? quote_list (h) : h); + if (t != params) + t->next = params; + + dispose_words (save); + return (ret); +} + +/******************************************************************/ +/* */ +/* Functions to expand strings to strings or WORD_LISTs */ +/* */ +/******************************************************************/ + +#if defined (PROCESS_SUBSTITUTION) +#define EXP_CHAR(s) (s == '$' || s == '`' || s == '<' || s == '>' || s == CTLESC) +#else +#define EXP_CHAR(s) (s == '$' || s == '`' || s == CTLESC) +#endif + +/* If there are any characters in STRING that require full expansion, + then call FUNC to expand STRING; otherwise just perform quote + removal if necessary. This returns a new string. */ +static char * +expand_string_if_necessary (string, quoted, func) + char *string; + int quoted; + EXPFUNC *func; +{ + WORD_LIST *list; + size_t slen; + int i, saw_quote; + char *ret; + DECLARE_MBSTATE; + + slen = strlen (string); + i = saw_quote = 0; + while (string[i]) + { + if (EXP_CHAR (string[i])) + break; + else if (string[i] == '\'' || string[i] == '\\' || string[i] == '"') + saw_quote = 1; + ADVANCE_CHAR (string, slen, i); + } + + if (string[i]) + { + list = (*func) (string, quoted); + if (list) + { + ret = string_list (list); + dispose_words (list); + } + else + ret = (char *)NULL; + } + else if (saw_quote && ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) == 0)) + ret = string_quote_removal (string, quoted); + else + ret = savestring (string); + + return ret; +} + +static inline char * +expand_string_to_string_internal (string, quoted, func) + char *string; + int quoted; + EXPFUNC *func; +{ + WORD_LIST *list; + char *ret; + + if (string == 0 || *string == '\0') + return ((char *)NULL); + + list = (*func) (string, quoted); + if (list) + { + ret = string_list (list); + dispose_words (list); + } + else + ret = (char *)NULL; + + return (ret); +} + +char * +expand_string_to_string (string, quoted) + char *string; + int quoted; +{ + return (expand_string_to_string_internal (string, quoted, expand_string)); +} + +char * +expand_string_unsplit_to_string (string, quoted) + char *string; + int quoted; +{ + return (expand_string_to_string_internal (string, quoted, expand_string_unsplit)); +} + +#if defined (COND_COMMAND) +/* Just remove backslashes in STRING. Returns a new string. */ +char * +remove_backslashes (string) + char *string; +{ + char *r, *ret, *s; + + r = ret = (char *)xmalloc (strlen (string) + 1); + for (s = string; s && *s; ) + { + if (*s == '\\') + s++; + if (*s == 0) + break; + *r++ = *s++; + } + *r = '\0'; + return ret; +} + +/* This needs better error handling. */ +/* Expand W for use as an argument to a unary or binary operator in a + [[...]] expression. If SPECIAL is nonzero, this is the rhs argument + to the != or == operator, and should be treated as a pattern. In + this case, we quote the string specially for the globbing code. The + caller is responsible for removing the backslashes if the unquoted + words is needed later. */ +char * +cond_expand_word (w, special) + WORD_DESC *w; + int special; +{ + char *r, *p; + WORD_LIST *l; + + if (w->word == 0 || w->word[0] == '\0') + return ((char *)NULL); + + if (xstrchr (w->word, '~') && unquoted_member ('~', w->word)) + { + p = bash_tilde_expand (w->word, 0); + free (w->word); + w->word = p; + } + + l = call_expand_word_internal (w, 0, 0, (int *)0, (int *)0); + if (l) + { + if (special == 0) + { + dequote_list (l); + r = string_list (l); + } + else + { + p = string_list (l); + r = quote_string_for_globbing (p, QGLOB_CVTNULL); + free (p); + } + dispose_words (l); + } + else + r = (char *)NULL; + + return r; +} +#endif + +/* Call expand_word_internal to expand W and handle error returns. + A convenience function for functions that don't want to handle + any errors or free any memory before aborting. */ +static WORD_LIST * +call_expand_word_internal (w, q, i, c, e) + WORD_DESC *w; + int q, i, *c, *e; +{ + WORD_LIST *result; + + result = expand_word_internal (w, q, i, c, e); + if (result == &expand_word_error || result == &expand_word_fatal) + { + /* By convention, each time this error is returned, w->word has + already been freed (it sometimes may not be in the fatal case, + but that doesn't result in a memory leak because we're going + to exit in most cases). */ + w->word = (char *)NULL; + last_command_exit_value = EXECUTION_FAILURE; + exp_jump_to_top_level ((result == &expand_word_error) ? DISCARD : FORCE_EOF); + /* NOTREACHED */ + } + else + return (result); +} + +/* Perform parameter expansion, command substitution, and arithmetic + expansion on STRING, as if it were a word. Leave the result quoted. */ +static WORD_LIST * +expand_string_internal (string, quoted) + char *string; + int quoted; +{ + WORD_DESC td; + WORD_LIST *tresult; + + if (string == 0 || *string == 0) + return ((WORD_LIST *)NULL); + + td.flags = 0; + td.word = savestring (string); + + tresult = call_expand_word_internal (&td, quoted, 0, (int *)NULL, (int *)NULL); + + FREE (td.word); + return (tresult); +} + +/* Expand STRING by performing parameter expansion, command substitution, + and arithmetic expansion. Dequote the resulting WORD_LIST before + returning it, but do not perform word splitting. The call to + remove_quoted_nulls () is in here because word splitting normally + takes care of quote removal. */ +WORD_LIST * +expand_string_unsplit (string, quoted) + char *string; + int quoted; +{ + WORD_LIST *value; + + if (string == 0 || *string == '\0') + return ((WORD_LIST *)NULL); + + expand_no_split_dollar_star = 1; + value = expand_string_internal (string, quoted); + expand_no_split_dollar_star = 0; + + if (value) + { + if (value->word) + remove_quoted_nulls (value->word->word); + dequote_list (value); + } + return (value); +} + + +/* Expand one of the PS? prompt strings. This is a sort of combination of + expand_string_unsplit and expand_string_internal, but returns the + passed string when an error occurs. Might want to trap other calls + to jump_to_top_level here so we don't endlessly loop. */ +WORD_LIST * +expand_prompt_string (string, quoted) + char *string; + int quoted; +{ + WORD_LIST *value; + WORD_DESC td; + + if (string == 0 || *string == 0) + return ((WORD_LIST *)NULL); + + td.flags = 0; + td.word = savestring (string); + + no_longjmp_on_fatal_error = 1; + value = expand_word_internal (&td, quoted, 0, (int *)NULL, (int *)NULL); + no_longjmp_on_fatal_error = 0; + + if (value == &expand_word_error || value == &expand_word_fatal) + { + value = make_word_list (make_bare_word (string), (WORD_LIST *)NULL); + return value; + } + FREE (td.word); + if (value) + { + if (value->word) + remove_quoted_nulls (value->word->word); + dequote_list (value); + } + return (value); +} + +/* Expand STRING just as if you were expanding a word, but do not dequote + the resultant WORD_LIST. This is called only from within this file, + and is used to correctly preserve quoted characters when expanding + things like ${1+"$@"}. This does parameter expansion, command + substitution, arithmetic expansion, and word splitting. */ +static WORD_LIST * +expand_string_leave_quoted (string, quoted) + char *string; + int quoted; +{ + WORD_LIST *tlist; + WORD_LIST *tresult; + + if (string == 0 || *string == '\0') + return ((WORD_LIST *)NULL); + + tlist = expand_string_internal (string, quoted); + + if (tlist) + { + tresult = word_list_split (tlist); + dispose_words (tlist); + return (tresult); + } + return ((WORD_LIST *)NULL); +} + +/* This does not perform word splitting or dequote the WORD_LIST + it returns. */ +static WORD_LIST * +expand_string_for_rhs (string, quoted, dollar_at_p, has_dollar_at) + char *string; + int quoted, *dollar_at_p, *has_dollar_at; +{ + WORD_DESC td; + WORD_LIST *tresult; + + if (string == 0 || *string == '\0') + return (WORD_LIST *)NULL; + + td.flags = 0; + td.word = string; + tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at); + return (tresult); +} + +/* Expand STRING just as if you were expanding a word. This also returns + a list of words. Note that filename globbing is *NOT* done for word + or string expansion, just when the shell is expanding a command. This + does parameter expansion, command substitution, arithmetic expansion, + and word splitting. Dequote the resultant WORD_LIST before returning. */ +WORD_LIST * +expand_string (string, quoted) + char *string; + int quoted; +{ + WORD_LIST *result; + + if (string == 0 || *string == '\0') + return ((WORD_LIST *)NULL); + + result = expand_string_leave_quoted (string, quoted); + return (result ? dequote_list (result) : result); +} + +/*************************************************** + * * + * Functions to handle quoting chars * + * * + ***************************************************/ + +/* Conventions: + + A string with s[0] == CTLNUL && s[1] == 0 is a quoted null string. + The parser passes CTLNUL as CTLESC CTLNUL. */ + +/* Quote escape characters in string s, but no other characters. This is + used to protect CTLESC and CTLNUL in variable values from the rest of + the word expansion process after the variable is expanded. */ +char * +quote_escapes (string) + char *string; +{ + register char *s, *t; + size_t slen; + char *result, *send; + DECLARE_MBSTATE; + + slen = strlen (string); + send = string + slen; + + t = result = (char *)xmalloc ((slen * 2) + 1); + s = string; + + while (*s) + { + if (*s == CTLESC || *s == CTLNUL) + *t++ = CTLESC; + COPY_CHAR_P (t, s, send); + } + *t = '\0'; + return (result); +} + +static WORD_LIST * +list_quote_escapes (list) + WORD_LIST *list; +{ + register WORD_LIST *w; + char *t; + + for (w = list; w; w = w->next) + { + t = w->word->word; + w->word->word = quote_escapes (t); + free (t); + } + return list; +} + +/* Inverse of quote_escapes; remove CTLESC protecting CTLESC or CTLNUL. + + The parser passes us CTLESC as CTLESC CTLESC and CTLNUL as CTLESC CTLNUL. + This is necessary to make unquoted CTLESC and CTLNUL characters in the + data stream pass through properly. + + We need to remove doubled CTLESC characters inside quoted strings before + quoting the entire string, so we do not double the number of CTLESC + characters. + + Also used by parts of the pattern substitution code. */ +static char * +dequote_escapes (string) + char *string; +{ + register char *s, *t; + size_t slen; + char *result, *send; + DECLARE_MBSTATE; + + if (string == 0) + return string; + + slen = strlen (string); + send = string + slen; + + t = result = (char *)xmalloc (slen + 1); + s = string; + + if (strchr (string, CTLESC) == 0) + return (strcpy (result, s)); + + while (*s) + { + if (*s == CTLESC && (s[1] == CTLESC || s[1] == CTLNUL)) + { + s++; + if (*s == '\0') + break; + } + COPY_CHAR_P (t, s, send); + } + *t = '\0'; + return result; +} + +/* Return a new string with the quoted representation of character C. */ +static char * +make_quoted_char (c) + int c; +{ + char *temp; + + temp = (char *)xmalloc (3); + if (c == 0) + { + temp[0] = CTLNUL; + temp[1] = '\0'; + } + else + { + temp[0] = CTLESC; + temp[1] = c; + temp[2] = '\0'; + } + return (temp); +} + +/* Quote STRING. Return a new string. */ +char * +quote_string (string) + char *string; +{ + register char *t; + size_t slen; + char *result, *send; + + if (*string == 0) + { + result = (char *)xmalloc (2); + result[0] = CTLNUL; + result[1] = '\0'; + } + else + { + DECLARE_MBSTATE; + + slen = strlen (string); + send = string + slen; + + result = (char *)xmalloc ((slen * 2) + 1); + + for (t = result; string < send; ) + { + *t++ = CTLESC; + COPY_CHAR_P (t, string, send); + } + *t = '\0'; + } + return (result); +} + +/* De-quoted quoted characters in STRING. */ +char * +dequote_string (string) + char *string; +{ + register char *s, *t; + size_t slen; + char *result, *send; + DECLARE_MBSTATE; + + slen = strlen (string); + + t = result = (char *)xmalloc (slen + 1); + + if (QUOTED_NULL (string)) + { + result[0] = '\0'; + return (result); + } + + /* If no character in the string can be quoted, don't bother examining + each character. Just return a copy of the string passed to us. */ + if (strchr (string, CTLESC) == NULL) + return (strcpy (result, string)); + + send = string + slen; + s = string; + while (*s) + { + if (*s == CTLESC) + { + s++; + if (*s == '\0') + break; + } + COPY_CHAR_P (t, s, send); + } + + *t = '\0'; + return (result); +} + +/* Quote the entire WORD_LIST list. */ +static WORD_LIST * +quote_list (list) + WORD_LIST *list; +{ + register WORD_LIST *w; + char *t; + + for (w = list; w; w = w->next) + { + t = w->word->word; + w->word->word = quote_string (t); + free (t); + w->word->flags |= W_QUOTED; + } + return list; +} + +static WORD_LIST * +dequote_list (list) + WORD_LIST *list; +{ + register char *s; + register WORD_LIST *tlist; + + for (tlist = list; tlist; tlist = tlist->next) + { + s = dequote_string (tlist->word->word); + free (tlist->word->word); + tlist->word->word = s; + } + return list; +} + +/* Remove CTLESC protecting a CTLESC or CTLNUL in place. Return the passed + string. */ +static char * +remove_quoted_escapes (string) + char *string; +{ + char *t; + + if (string) + { + t = dequote_escapes (string); + strcpy (string, t); + free (t); + } + + return (string); +} + +/* Perform quoted null character removal on STRING. We don't allow any + quoted null characters in the middle or at the ends of strings because + of how expand_word_internal works. remove_quoted_nulls () turns + STRING into an empty string iff it only consists of a quoted null, + and removes all unquoted CTLNUL characters. */ +static char * +remove_quoted_nulls (string) + char *string; +{ + register size_t slen; + register int i, j, prev_i; + DECLARE_MBSTATE; + + if (strchr (string, CTLNUL) == 0) /* XXX */ + return string; /* XXX */ + + slen = strlen (string); + i = j = 0; + + while (i < slen) + { + if (string[i] == CTLESC) + { + /* Old code had j++, but we cannot assume that i == j at this + point -- what if a CTLNUL has already been removed from the + string? We don't want to drop the CTLESC or recopy characters + that we've already copied down. */ + i++; string[j++] = CTLESC; + if (i == slen) + break; + } + else if (string[i] == CTLNUL) + i++; + + prev_i = i; + ADVANCE_CHAR (string, slen, i); + if (j < prev_i) + { + do string[j++] = string[prev_i++]; while (prev_i < i); + } + else + j = i; + } + string[j] = '\0'; + + return (string); +} + +/* Perform quoted null character removal on each element of LIST. + This modifies LIST. */ +void +word_list_remove_quoted_nulls (list) + WORD_LIST *list; +{ + register WORD_LIST *t; + + for (t = list; t; t = t->next) + remove_quoted_nulls (t->word->word); +} + +/* **************************************************************** */ +/* */ +/* Functions for Matching and Removing Patterns */ +/* */ +/* **************************************************************** */ + +#if defined (HANDLE_MULTIBYTE) +#if 0 /* Currently unused */ +static unsigned char * +mb_getcharlens (string, len) + char *string; + int len; +{ + int i, offset, last; + unsigned char *ret; + char *p; + DECLARE_MBSTATE; + + i = offset = 0; + last = 0; + ret = (unsigned char *)xmalloc (len); + memset (ret, 0, len); + while (string[last]) + { + ADVANCE_CHAR (string, len, offset); + ret[last] = offset - last; + last = offset; + } + return ret; +} +#endif +#endif + +/* Remove the portion of PARAM matched by PATTERN according to OP, where OP + can have one of 4 values: + RP_LONG_LEFT remove longest matching portion at start of PARAM + RP_SHORT_LEFT remove shortest matching portion at start of PARAM + RP_LONG_RIGHT remove longest matching portion at end of PARAM + RP_SHORT_RIGHT remove shortest matching portion at end of PARAM +*/ + +#define RP_LONG_LEFT 1 +#define RP_SHORT_LEFT 2 +#define RP_LONG_RIGHT 3 +#define RP_SHORT_RIGHT 4 + +static char * +remove_upattern (param, pattern, op) + char *param, *pattern; + int op; +{ + register int len; + register char *end; + register char *p, *ret, c; + + len = STRLEN (param); + end = param + len; + + switch (op) + { + case RP_LONG_LEFT: /* remove longest match at start */ + for (p = end; p >= param; p--) + { + c = *p; *p = '\0'; + if (strmatch (pattern, param, FNMATCH_EXTFLAG) != FNM_NOMATCH) + { + *p = c; + return (savestring (p)); + } + *p = c; + + } + break; + + case RP_SHORT_LEFT: /* remove shortest match at start */ + for (p = param; p <= end; p++) + { + c = *p; *p = '\0'; + if (strmatch (pattern, param, FNMATCH_EXTFLAG) != FNM_NOMATCH) + { + *p = c; + return (savestring (p)); + } + *p = c; + } + break; + + case RP_LONG_RIGHT: /* remove longest match at end */ + for (p = param; p <= end; p++) + { + if (strmatch (pattern, p, FNMATCH_EXTFLAG) != FNM_NOMATCH) + { + c = *p; *p = '\0'; + ret = savestring (param); + *p = c; + return (ret); + } + } + break; + + case RP_SHORT_RIGHT: /* remove shortest match at end */ + for (p = end; p >= param; p--) + { + if (strmatch (pattern, p, FNMATCH_EXTFLAG) != FNM_NOMATCH) + { + c = *p; *p = '\0'; + ret = savestring (param); + *p = c; + return (ret); + } + } + break; + } + + return (savestring (param)); /* no match, return original string */ +} + +#if defined (HANDLE_MULTIBYTE) + +#if !defined (HAVE_WCSDUP) +static wchar_t * +wcsdup (ws) + wchar_t *ws; +{ + wchar_t *ret; + size_t len; + + len = wcslen (ws); + ret = xmalloc ((len + 1) * sizeof (wchar_t)); + if (ret == 0) + return ret; + return (wcscpy (ret, ws)); +} +#endif /* !HAVE_WCSDUP */ + +static wchar_t * +remove_wpattern (wparam, wstrlen, wpattern, op) + wchar_t *wparam; + size_t wstrlen; + wchar_t *wpattern; + int op; +{ + wchar_t wc; + int n, n1; + wchar_t *ret; + + switch (op) + { + case RP_LONG_LEFT: /* remove longest match at start */ + for (n = wstrlen; n >= 0; n--) + { + wc = wparam[n]; wparam[n] = L'\0'; + if (wcsmatch (wpattern, wparam, FNMATCH_EXTFLAG) != FNM_NOMATCH) + { + wparam[n] = wc; + return (wcsdup (wparam + n)); + } + wparam[n] = wc; + } + break; + + case RP_SHORT_LEFT: /* remove shortest match at start */ + for (n = 0; n <= wstrlen; n++) + { + wc = wparam[n]; wparam[n] = L'\0'; + if (wcsmatch (wpattern, wparam, FNMATCH_EXTFLAG) != FNM_NOMATCH) + { + wparam[n] = wc; + return (wcsdup (wparam + n)); + } + wparam[n] = wc; + } + break; + + case RP_LONG_RIGHT: /* remove longest match at end */ + for (n = 0; n <= wstrlen; n++) + { + if (wcsmatch (wpattern, wparam + n, FNMATCH_EXTFLAG) != FNM_NOMATCH) + { + wc = wparam[n]; wparam[n] = L'\0'; + ret = wcsdup (wparam); + wparam[n] = wc; + return (ret); + } + } + break; + + case RP_SHORT_RIGHT: /* remove shortest match at end */ + for (n = wstrlen; n >= 0; n--) + { + if (wcsmatch (wpattern, wparam + n, FNMATCH_EXTFLAG) != FNM_NOMATCH) + { + wc = wparam[n]; wparam[n] = L'\0'; + ret = wcsdup (wparam); + wparam[n] = wc; + return (ret); + } + } + break; + } + + return (wcsdup (wparam)); /* no match, return original string */ +} +#endif /* HANDLE_MULTIBYTE */ + +static char * +remove_pattern (param, pattern, op) + char *param, *pattern; + int op; +{ + if (param == NULL) + return (param); + if (*param == '\0' || pattern == NULL || *pattern == '\0') /* minor optimization */ + return (savestring (param)); + +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1) + { + wchar_t *ret, *oret; + size_t n; + wchar_t *wparam, *wpattern; + mbstate_t ps; + char *xret; + + n = xdupmbstowcs (&wpattern, NULL, pattern); + if (n == (size_t)-1) + return (remove_upattern (param, pattern, op)); + n = xdupmbstowcs (&wparam, NULL, param); + if (n == (size_t)-1) + { + free (wpattern); + return (remove_upattern (param, pattern, op)); + } + oret = ret = remove_wpattern (wparam, n, wpattern, op); + + free (wparam); + free (wpattern); + + n = strlen (param); + xret = xmalloc (n + 1); + memset (&ps, '\0', sizeof (mbstate_t)); + n = wcsrtombs (xret, (const wchar_t **)&ret, n, &ps); + xret[n] = '\0'; /* just to make sure */ + free (oret); + return xret; + } + else +#endif + return (remove_upattern (param, pattern, op)); +} + +/* Return 1 of the first character of STRING could match the first + character of pattern PAT. Used to avoid n2 calls to strmatch(). */ +static int +match_pattern_char (pat, string) + char *pat, *string; +{ + char c; + + if (*string == 0) + return (0); + + switch (c = *pat++) + { + default: + return (*string == c); + case '\\': + return (*string == *pat); + case '?': + return (*pat == LPAREN ? 1 : (*string != '\0')); + case '*': + return (1); + case '+': + case '!': + case '@': + return (*pat == LPAREN ? 1 : (*string == c)); + case '[': + return (*string != '\0'); + } +} + +/* Match PAT anywhere in STRING and return the match boundaries. + This returns 1 in case of a successful match, 0 otherwise. SP + and EP are pointers into the string where the match begins and + ends, respectively. MTYPE controls what kind of match is attempted. + MATCH_BEG and MATCH_END anchor the match at the beginning and end + of the string, respectively. The longest match is returned. */ +static int +match_upattern (string, pat, mtype, sp, ep) + char *string, *pat; + int mtype; + char **sp, **ep; +{ + int c, len; + register char *p, *p1; + char *end; + + len = STRLEN (string); + end = string + len; + + switch (mtype) + { + case MATCH_ANY: + for (p = string; p <= end; p++) + { + if (match_pattern_char (pat, p)) + { + for (p1 = end; p1 >= p; p1--) + { + c = *p1; *p1 = '\0'; + if (strmatch (pat, p, FNMATCH_EXTFLAG) == 0) + { + *p1 = c; + *sp = p; + *ep = p1; + return 1; + } + *p1 = c; + } + } + } + + return (0); + + case MATCH_BEG: + if (match_pattern_char (pat, string) == 0) + return (0); + + for (p = end; p >= string; p--) + { + c = *p; *p = '\0'; + if (strmatch (pat, string, FNMATCH_EXTFLAG) == 0) + { + *p = c; + *sp = string; + *ep = p; + return 1; + } + *p = c; + } + + return (0); + + case MATCH_END: + for (p = string; p <= end; p++) + { + if (strmatch (pat, p, FNMATCH_EXTFLAG) == 0) + { + *sp = p; + *ep = end; + return 1; + } + + } + + return (0); + } + + return (0); +} + +#if defined (HANDLE_MULTIBYTE) +/* Return 1 of the first character of WSTRING could match the first + character of pattern WPAT. Wide character version. */ +static int +match_pattern_wchar (wpat, wstring) + wchar_t *wpat, *wstring; +{ + wchar_t wc; + + if (*wstring == 0) + return (0); + + switch (wc = *wpat++) + { + default: + return (*wstring == wc); + case L'\\': + return (*wstring == *wpat); + case L'?': + return (*wpat == LPAREN ? 1 : (*wstring != L'\0')); + case L'*': + return (1); + case L'+': + case L'!': + case L'@': + return (*wpat == LPAREN ? 1 : (*wstring == wc)); + case L'[': + return (*wstring != L'\0'); + } +} + +/* Match WPAT anywhere in WSTRING and return the match boundaries. + This returns 1 in case of a successful match, 0 otherwise. Wide + character version. */ +static int +match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep) + wchar_t *wstring; + char **indices; + size_t wstrlen; + wchar_t *wpat; + int mtype; + char **sp, **ep; +{ + wchar_t wc; + int len; +#if 0 + size_t n, n1; /* Apple's gcc seems to miscompile this badly */ +#else + int n, n1; +#endif + + switch (mtype) + { + case MATCH_ANY: + for (n = 0; n <= wstrlen; n++) + { + if (match_pattern_wchar (wpat, wstring + n)) + { + for (n1 = wstrlen; n1 >= n; n1--) + { + wc = wstring[n1]; wstring[n1] = L'\0'; + if (wcsmatch (wpat, wstring + n, FNMATCH_EXTFLAG) == 0) + { + wstring[n1] = wc; + *sp = indices[n]; + *ep = indices[n1]; + return 1; + } + wstring[n1] = wc; + } + } + } + + return (0); + + case MATCH_BEG: + if (match_pattern_wchar (wpat, wstring) == 0) + return (0); + + for (n = wstrlen; n >= 0; n--) + { + wc = wstring[n]; wstring[n] = L'\0'; + if (wcsmatch (wpat, wstring, FNMATCH_EXTFLAG) == 0) + { + wstring[n] = wc; + *sp = indices[0]; + *ep = indices[n]; + return 1; + } + wstring[n] = wc; + } + + return (0); + + case MATCH_END: + for (n = 0; n <= wstrlen; n++) + { + if (wcsmatch (wpat, wstring + n, FNMATCH_EXTFLAG) == 0) + { + *sp = indices[n]; + *ep = indices[wstrlen]; + return 1; + } + } + + return (0); + } + + return (0); +} +#endif /* HANDLE_MULTIBYTE */ + +static int +match_pattern (string, pat, mtype, sp, ep) + char *string, *pat; + int mtype; + char **sp, **ep; +{ +#if defined (HANDLE_MULTIBYTE) + int ret; + size_t n; + wchar_t *wstring, *wpat; + char **indices; +#endif + + if (string == 0 || *string == 0 || pat == 0 || *pat == 0) + return (0); + +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1) + { + n = xdupmbstowcs (&wpat, NULL, pat); + if (n == (size_t)-1) + return (match_upattern (string, pat, mtype, sp, ep)); + n = xdupmbstowcs (&wstring, &indices, string); + if (n == (size_t)-1) + { + free (wpat); + return (match_upattern (string, pat, mtype, sp, ep)); + } + ret = match_wpattern (wstring, indices, n, wpat, mtype, sp, ep); + + free (wpat); + free (wstring); + free (indices); + + return (ret); + } + else +#endif + return (match_upattern (string, pat, mtype, sp, ep)); +} + +static int +getpatspec (c, value) + int c; + char *value; +{ + if (c == '#') + return ((*value == '#') ? RP_LONG_LEFT : RP_SHORT_LEFT); + else /* c == '%' */ + return ((*value == '%') ? RP_LONG_RIGHT : RP_SHORT_RIGHT); +} + +/* Posix.2 says that the WORD should be run through tilde expansion, + parameter expansion, command substitution and arithmetic expansion. + This leaves the result quoted, so quote_string_for_globbing () has + to be called to fix it up for strmatch (). If QUOTED is non-zero, + it means that the entire expression was enclosed in double quotes. + This means that quoting characters in the pattern do not make any + special pattern characters quoted. For example, the `*' in the + following retains its special meaning: "${foo#'*'}". */ +static char * +getpattern (value, quoted, expandpat) + char *value; + int quoted, expandpat; +{ + char *pat, *tword; + WORD_LIST *l; + int i; + + tword = xstrchr (value, '~') ? bash_tilde_expand (value, 0) : savestring (value); + + /* There is a problem here: how to handle single or double quotes in the + pattern string when the whole expression is between double quotes? + POSIX.2 says that enclosing double quotes do not cause the pattern to + be quoted, but does that leave us a problem with @ and array[@] and their + expansions inside a pattern? */ +#if 0 + if (expandpat && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && *tword) + { + i = 0; + pat = string_extract_double_quoted (tword, &i, 1); + free (tword); + tword = pat; + } +#endif + + /* expand_string_for_rhs () leaves WORD quoted and does not perform + word splitting. */ + l = *tword ? expand_string_for_rhs (tword, + (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) ? Q_PATQUOTE : quoted, + (int *)NULL, (int *)NULL) + : (WORD_LIST *)0; + free (tword); + pat = string_list (l); + dispose_words (l); + if (pat) + { + tword = quote_string_for_globbing (pat, QGLOB_CVTNULL); + free (pat); + pat = tword; + } + return (pat); +} + +#if 0 +/* Handle removing a pattern from a string as a result of ${name%[%]value} + or ${name#[#]value}. */ +static char * +variable_remove_pattern (value, pattern, patspec, quoted) + char *value, *pattern; + int patspec, quoted; +{ + char *tword; + + tword = remove_pattern (value, pattern, patspec); + + return (tword); +} +#endif + +static char * +list_remove_pattern (list, pattern, patspec, itype, quoted) + WORD_LIST *list; + char *pattern; + int patspec, itype, quoted; +{ + WORD_LIST *new, *l; + WORD_DESC *w; + char *tword; + + for (new = (WORD_LIST *)NULL, l = list; l; l = l->next) + { + tword = remove_pattern (l->word->word, pattern, patspec); + w = make_bare_word (tword); + FREE (tword); + new = make_word_list (w, new); + } + + l = REVERSE_LIST (new, WORD_LIST *); + if (itype == '*') +#if 0 + tword = (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) ? string_list_dollar_star (l) : string_list (l); +#else + tword = (quoted & Q_DOUBLE_QUOTES) ? string_list_dollar_star (l) : string_list (l); +#endif + else + tword = string_list ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) ? quote_list (l) : l); + + dispose_words (l); + return (tword); +} + +static char * +parameter_list_remove_pattern (itype, pattern, patspec, quoted) + int itype; + char *pattern; + int patspec, quoted; +{ + char *ret; + WORD_LIST *list; + + list = list_rest_of_args (); + if (list == 0) + return ((char *)NULL); + ret = list_remove_pattern (list, pattern, patspec, itype, quoted); + dispose_words (list); + return (ret); +} + +#if defined (ARRAY_VARS) +static char * +array_remove_pattern (a, pattern, patspec, varname, quoted) + ARRAY *a; + char *pattern; + int patspec; + char *varname; /* so we can figure out how it's indexed */ + int quoted; +{ + int itype; + char *ret; + WORD_LIST *list; + SHELL_VAR *v; + + /* compute itype from varname here */ + v = array_variable_part (varname, &ret, 0); + itype = ret[0]; + + list = array_to_word_list (a); + if (list == 0) + return ((char *)NULL); + ret = list_remove_pattern (list, pattern, patspec, itype, quoted); + dispose_words (list); + + return ret; +} +#endif /* ARRAY_VARS */ + +static char * +parameter_brace_remove_pattern (varname, value, patstr, rtype, quoted) + char *varname, *value, *patstr; + int rtype, quoted; +{ + int vtype, patspec, starsub; + char *temp1, *val, *pattern; + SHELL_VAR *v; + + if (value == 0) + return ((char *)NULL); + + this_command_name = varname; + + vtype = get_var_and_type (varname, value, quoted, &v, &val); + if (vtype == -1) + return ((char *)NULL); + + starsub = vtype & VT_STARSUB; + vtype &= ~VT_STARSUB; + + patspec = getpatspec (rtype, patstr); + if (patspec == RP_LONG_LEFT || patspec == RP_LONG_RIGHT) + patstr++; + + pattern = getpattern (patstr, quoted, 1); + + temp1 = (char *)NULL; /* shut up gcc */ + switch (vtype) + { + case VT_VARIABLE: + case VT_ARRAYMEMBER: + temp1 = remove_pattern (val, pattern, patspec); + if (vtype == VT_VARIABLE) + FREE (val); + if (temp1) + { + val = quote_escapes (temp1); + free (temp1); + temp1 = val; + } + break; +#if defined (ARRAY_VARS) + case VT_ARRAYVAR: + temp1 = array_remove_pattern (array_cell (v), pattern, patspec, varname, quoted); + if (temp1 && ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) == 0)) + { + val = quote_escapes (temp1); + free (temp1); + temp1 = val; + } + break; +#endif + case VT_POSPARMS: + temp1 = parameter_list_remove_pattern (varname[0], pattern, patspec, quoted); + if (temp1 && ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) == 0)) + { + val = quote_escapes (temp1); + free (temp1); + temp1 = val; + } + break; + } + + FREE (pattern); + return temp1; +} + +/******************************************* + * * + * Functions to expand WORD_DESCs * + * * + *******************************************/ + +/* Expand WORD, performing word splitting on the result. This does + parameter expansion, command substitution, arithmetic expansion, + word splitting, and quote removal. */ + +WORD_LIST * +expand_word (word, quoted) + WORD_DESC *word; + int quoted; +{ + WORD_LIST *result, *tresult; + + tresult = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL); + result = word_list_split (tresult); + dispose_words (tresult); + return (result ? dequote_list (result) : result); +} + +/* Expand WORD, but do not perform word splitting on the result. This + does parameter expansion, command substitution, arithmetic expansion, + and quote removal. */ +WORD_LIST * +expand_word_unsplit (word, quoted) + WORD_DESC *word; + int quoted; +{ + WORD_LIST *result; + + expand_no_split_dollar_star = 1; + result = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL); + expand_no_split_dollar_star = 0; + + return (result ? dequote_list (result) : result); +} + +/* Perform shell expansions on WORD, but do not perform word splitting or + quote removal on the result. */ +WORD_LIST * +expand_word_leave_quoted (word, quoted) + WORD_DESC *word; + int quoted; +{ + return (call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL)); +} + +#if defined (PROCESS_SUBSTITUTION) + +/*****************************************************************/ +/* */ +/* Hacking Process Substitution */ +/* */ +/*****************************************************************/ + +#if !defined (HAVE_DEV_FD) +/* Named pipes must be removed explicitly with `unlink'. This keeps a list + of FIFOs the shell has open. unlink_fifo_list will walk the list and + unlink all of them. add_fifo_list adds the name of an open FIFO to the + list. NFIFO is a count of the number of FIFOs in the list. */ +#define FIFO_INCR 20 + +struct temp_fifo { + char *file; + pid_t proc; +}; + +static struct temp_fifo *fifo_list = (struct temp_fifo *)NULL; +static int nfifo; +static int fifo_list_size; + +static void +add_fifo_list (pathname) + char *pathname; +{ + if (nfifo >= fifo_list_size - 1) + { + fifo_list_size += FIFO_INCR; + fifo_list = (struct temp_fifo *)xrealloc (fifo_list, + fifo_list_size * sizeof (struct temp_fifo)); + } + + fifo_list[nfifo].file = savestring (pathname); + nfifo++; +} + +void +unlink_fifo_list () +{ + int saved, i, j; + + if (nfifo == 0) + return; + + for (i = saved = 0; i < nfifo; i++) + { + if ((fifo_list[i].proc == -1) || (kill(fifo_list[i].proc, 0) == -1)) + { + unlink (fifo_list[i].file); + free (fifo_list[i].file); + fifo_list[i].file = (char *)NULL; + fifo_list[i].proc = -1; + } + else + saved++; + } + + /* If we didn't remove some of the FIFOs, compact the list. */ + if (saved) + { + for (i = j = 0; i < nfifo; i++) + if (fifo_list[i].file) + { + fifo_list[j].file = fifo_list[i].file; + fifo_list[j].proc = fifo_list[i].proc; + j++; + } + nfifo = j; + } + else + nfifo = 0; +} + +static char * +make_named_pipe () +{ + char *tname; + + tname = sh_mktmpname ("sh-np", MT_USERANDOM); + if (mkfifo (tname, 0600) < 0) + { + free (tname); + return ((char *)NULL); + } + + add_fifo_list (tname); + return (tname); +} + +#else /* HAVE_DEV_FD */ + +/* DEV_FD_LIST is a bitmap of file descriptors attached to pipes the shell + has open to children. NFDS is a count of the number of bits currently + set in DEV_FD_LIST. TOTFDS is a count of the highest possible number + of open files. */ +static char *dev_fd_list = (char *)NULL; +static int nfds; +static int totfds; /* The highest possible number of open files. */ + +static void +add_fifo_list (fd) + int fd; +{ + if (!dev_fd_list || fd >= totfds) + { + int ofds; + + ofds = totfds; + totfds = getdtablesize (); + if (totfds < 0 || totfds > 256) + totfds = 256; + if (fd > totfds) + totfds = fd + 2; + + dev_fd_list = (char *)xrealloc (dev_fd_list, totfds); + memset (dev_fd_list + ofds, '\0', totfds - ofds); + } + + dev_fd_list[fd] = 1; + nfds++; +} + +void +unlink_fifo_list () +{ + register int i; + + if (nfds == 0) + return; + + for (i = 0; nfds && i < totfds; i++) + if (dev_fd_list[i]) + { + close (i); + dev_fd_list[i] = 0; + nfds--; + } + + nfds = 0; +} + +#if defined (NOTDEF) +print_dev_fd_list () +{ + register int i; + + fprintf (stderr, "pid %ld: dev_fd_list:", (long)getpid ()); + fflush (stderr); + + for (i = 0; i < totfds; i++) + { + if (dev_fd_list[i]) + fprintf (stderr, " %d", i); + } + fprintf (stderr, "\n"); +} +#endif /* NOTDEF */ + +static char * +make_dev_fd_filename (fd) + int fd; +{ + char *ret, intbuf[INT_STRLEN_BOUND (int) + 1], *p; + + ret = (char *)xmalloc (sizeof (DEV_FD_PREFIX) + 4); + + strcpy (ret, DEV_FD_PREFIX); + p = inttostr (fd, intbuf, sizeof (intbuf)); + strcpy (ret + sizeof (DEV_FD_PREFIX) - 1, p); + + add_fifo_list (fd); + return (ret); +} + +#endif /* HAVE_DEV_FD */ + +/* Return a filename that will open a connection to the process defined by + executing STRING. HAVE_DEV_FD, if defined, means open a pipe and return + a filename in /dev/fd corresponding to a descriptor that is one of the + ends of the pipe. If not defined, we use named pipes on systems that have + them. Systems without /dev/fd and named pipes are out of luck. + + OPEN_FOR_READ_IN_CHILD, if 1, means open the named pipe for reading or + use the read end of the pipe and dup that file descriptor to fd 0 in + the child. If OPEN_FOR_READ_IN_CHILD is 0, we open the named pipe for + writing or use the write end of the pipe in the child, and dup that + file descriptor to fd 1 in the child. The parent does the opposite. */ + +static char * +process_substitute (string, open_for_read_in_child) + char *string; + int open_for_read_in_child; +{ + char *pathname; + int fd, result; + pid_t old_pid, pid; +#if defined (HAVE_DEV_FD) + int parent_pipe_fd, child_pipe_fd; + int fildes[2]; +#endif /* HAVE_DEV_FD */ +#if defined (JOB_CONTROL) + pid_t old_pipeline_pgrp; +#endif + + if (!string || !*string || wordexp_only) + return ((char *)NULL); + +#if !defined (HAVE_DEV_FD) + pathname = make_named_pipe (); +#else /* HAVE_DEV_FD */ + if (pipe (fildes) < 0) + { + sys_error (_("cannot make pipe for process substitution")); + return ((char *)NULL); + } + /* If OPEN_FOR_READ_IN_CHILD == 1, we want to use the write end of + the pipe in the parent, otherwise the read end. */ + parent_pipe_fd = fildes[open_for_read_in_child]; + child_pipe_fd = fildes[1 - open_for_read_in_child]; + /* Move the parent end of the pipe to some high file descriptor, to + avoid clashes with FDs used by the script. */ + parent_pipe_fd = move_to_high_fd (parent_pipe_fd, 1, 64); + + pathname = make_dev_fd_filename (parent_pipe_fd); +#endif /* HAVE_DEV_FD */ + + if (!pathname) + { + sys_error (_("cannot make pipe for process substitution")); + return ((char *)NULL); + } + + old_pid = last_made_pid; + +#if defined (JOB_CONTROL) + old_pipeline_pgrp = pipeline_pgrp; + pipeline_pgrp = shell_pgrp; + save_pipeline (1); +#endif /* JOB_CONTROL */ + + pid = make_child ((char *)NULL, 1); + if (pid == 0) + { + reset_terminating_signals (); /* XXX */ + free_pushed_string_input (); + /* Cancel traps, in trap.c. */ + restore_original_signals (); + setup_async_signals (); + subshell_environment |= SUBSHELL_COMSUB; + } + +#if defined (JOB_CONTROL) + set_sigchld_handler (); + stop_making_children (); + pipeline_pgrp = old_pipeline_pgrp; +#endif /* JOB_CONTROL */ + + if (pid < 0) + { + sys_error (_("cannot make child for process substitution")); + free (pathname); +#if defined (HAVE_DEV_FD) + close (parent_pipe_fd); + close (child_pipe_fd); +#endif /* HAVE_DEV_FD */ + return ((char *)NULL); + } + + if (pid > 0) + { +#if defined (JOB_CONTROL) + restore_pipeline (1); +#endif + +#if !defined (HAVE_DEV_FD) + fifo_list[nfifo-1].proc = pid; +#endif + + last_made_pid = old_pid; + +#if defined (JOB_CONTROL) && defined (PGRP_PIPE) + close_pgrp_pipe (); +#endif /* JOB_CONTROL && PGRP_PIPE */ + +#if defined (HAVE_DEV_FD) + close (child_pipe_fd); +#endif /* HAVE_DEV_FD */ + + return (pathname); + } + + set_sigint_handler (); + +#if defined (JOB_CONTROL) + set_job_control (0); +#endif /* JOB_CONTROL */ + +#if !defined (HAVE_DEV_FD) + /* Open the named pipe in the child. */ + fd = open (pathname, open_for_read_in_child ? O_RDONLY|O_NONBLOCK : O_WRONLY); + if (fd < 0) + { + /* Two separate strings for ease of translation. */ + if (open_for_read_in_child) + sys_error (_("cannot open named pipe %s for reading"), pathname); + else + sys_error (_("cannot open named pipe %s for writing"), pathname); + + exit (127); + } + if (open_for_read_in_child) + { + if (sh_unset_nodelay_mode (fd) < 0) + { + sys_error (_("cannout reset nodelay mode for fd %d"), fd); + exit (127); + } + } +#else /* HAVE_DEV_FD */ + fd = child_pipe_fd; +#endif /* HAVE_DEV_FD */ + + if (dup2 (fd, open_for_read_in_child ? 0 : 1) < 0) + { + sys_error (_("cannot duplicate named pipe %s as fd %d"), pathname, + open_for_read_in_child ? 0 : 1); + exit (127); + } + + if (fd != (open_for_read_in_child ? 0 : 1)) + close (fd); + + /* Need to close any files that this process has open to pipes inherited + from its parent. */ + if (current_fds_to_close) + { + close_fd_bitmap (current_fds_to_close); + current_fds_to_close = (struct fd_bitmap *)NULL; + } + +#if defined (HAVE_DEV_FD) + /* Make sure we close the parent's end of the pipe and clear the slot + in the fd list so it is not closed later, if reallocated by, for + instance, pipe(2). */ + close (parent_pipe_fd); + dev_fd_list[parent_pipe_fd] = 0; +#endif /* HAVE_DEV_FD */ + + result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST)); + +#if !defined (HAVE_DEV_FD) + /* Make sure we close the named pipe in the child before we exit. */ + close (open_for_read_in_child ? 0 : 1); +#endif /* !HAVE_DEV_FD */ + + exit (result); + /*NOTREACHED*/ +} +#endif /* PROCESS_SUBSTITUTION */ + +/***********************************/ +/* */ +/* Command Substitution */ +/* */ +/***********************************/ + +static char * +read_comsub (fd, quoted) + int fd, quoted; +{ + char *istring, buf[128], *bufp; + int istring_index, istring_size, c; + ssize_t bufn; + + istring = (char *)NULL; + istring_index = istring_size = bufn = 0; + +#ifdef __CYGWIN__ + setmode (fd, O_TEXT); /* we don't want CR/LF, we want Unix-style */ +#endif + + /* Read the output of the command through the pipe. */ + while (1) + { + if (fd < 0) + break; + if (--bufn <= 0) + { + bufn = zread (fd, buf, sizeof (buf)); + if (bufn <= 0) + break; + bufp = buf; + } + c = *bufp++; + + if (c == 0) + { +#if 0 + internal_warning ("read_comsub: ignored null byte in input"); +#endif + continue; + } + + /* Add the character to ISTRING, possibly after resizing it. */ + RESIZE_MALLOCED_BUFFER (istring, istring_index, 2, istring_size, DEFAULT_ARRAY_SIZE); + + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || c == CTLESC || c == CTLNUL) + istring[istring_index++] = CTLESC; + + istring[istring_index++] = c; + +#if 0 +#if defined (__CYGWIN__) + if (c == '\n' && istring_index > 1 && istring[istring_index - 2] == '\r') + { + istring_index--; + istring[istring_index - 1] = '\n'; + } +#endif +#endif + } + + if (istring) + istring[istring_index] = '\0'; + + /* If we read no output, just return now and save ourselves some + trouble. */ + if (istring_index == 0) + { + FREE (istring); + return (char *)NULL; + } + + /* Strip trailing newlines from the output of the command. */ + if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) + { + while (istring_index > 0) + { + if (istring[istring_index - 1] == '\n') + { + --istring_index; + + /* If the newline was quoted, remove the quoting char. */ + if (istring[istring_index - 1] == CTLESC) + --istring_index; + } + else + break; + } + istring[istring_index] = '\0'; + } + else + strip_trailing (istring, istring_index - 1, 1); + + return istring; +} + +/* Perform command substitution on STRING. This returns a string, + possibly quoted. */ +char * +command_substitute (string, quoted) + char *string; + int quoted; +{ + pid_t pid, old_pid, old_pipeline_pgrp; + char *istring; + int result, fildes[2], function_value, pflags, rc; + + istring = (char *)NULL; + + /* Don't fork () if there is no need to. In the case of no command to + run, just return NULL. */ + if (!string || !*string || (string[0] == '\n' && !string[1])) + return ((char *)NULL); + + if (wordexp_only && read_but_dont_execute) + { + last_command_exit_value = 125; + jump_to_top_level (EXITPROG); + } + + /* We're making the assumption here that the command substitution will + eventually run a command from the file system. Since we'll run + maybe_make_export_env in this subshell before executing that command, + the parent shell and any other shells it starts will have to remake + the environment. If we make it before we fork, other shells won't + have to. Don't bother if we have any temporary variable assignments, + though, because the export environment will be remade after this + command completes anyway, but do it if all the words to be expanded + are variable assignments. */ + if (subst_assign_varlist == 0 || garglist == 0) + maybe_make_export_env (); /* XXX */ + + /* Flags to pass to parse_and_execute() */ + pflags = interactive ? SEVAL_RESETLINE : 0; + + /* Pipe the output of executing STRING into the current shell. */ + if (pipe (fildes) < 0) + { + sys_error (_("cannot make pipe for command substitution")); + goto error_exit; + } + + old_pid = last_made_pid; +#if defined (JOB_CONTROL) + old_pipeline_pgrp = pipeline_pgrp; + /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline. */ + if ((subshell_environment & SUBSHELL_PIPE) == 0) + pipeline_pgrp = shell_pgrp; + cleanup_the_pipeline (); +#endif + + pid = make_child ((char *)NULL, 0); + if (pid == 0) + /* Reset the signal handlers in the child, but don't free the + trap strings. */ + reset_signal_handlers (); + +#if defined (JOB_CONTROL) + set_sigchld_handler (); + stop_making_children (); + pipeline_pgrp = old_pipeline_pgrp; +#else + stop_making_children (); +#endif /* JOB_CONTROL */ + + if (pid < 0) + { + sys_error (_("cannot make child for command substitution")); + error_exit: + + FREE (istring); + close (fildes[0]); + close (fildes[1]); + return ((char *)NULL); + } + + if (pid == 0) + { + set_sigint_handler (); /* XXX */ + + free_pushed_string_input (); + + if (dup2 (fildes[1], 1) < 0) + { + sys_error (_("command_substitute: cannot duplicate pipe as fd 1")); + exit (EXECUTION_FAILURE); + } + + /* If standard output is closed in the parent shell + (such as after `exec >&-'), file descriptor 1 will be + the lowest available file descriptor, and end up in + fildes[0]. This can happen for stdin and stderr as well, + but stdout is more important -- it will cause no output + to be generated from this command. */ + if ((fildes[1] != fileno (stdin)) && + (fildes[1] != fileno (stdout)) && + (fildes[1] != fileno (stderr))) + close (fildes[1]); + + if ((fildes[0] != fileno (stdin)) && + (fildes[0] != fileno (stdout)) && + (fildes[0] != fileno (stderr))) + close (fildes[0]); + + /* The currently executing shell is not interactive. */ + interactive = 0; + + /* This is a subshell environment. */ + subshell_environment |= SUBSHELL_COMSUB; + + /* When not in POSIX mode, command substitution does not inherit + the -e flag. */ + if (posixly_correct == 0) + exit_immediately_on_error = 0; + + remove_quoted_escapes (string); + + startup_state = 2; /* see if we can avoid a fork */ + /* Give command substitution a place to jump back to on failure, + so we don't go back up to main (). */ + result = setjmp (top_level); + + /* If we're running a command substitution inside a shell function, + trap `return' so we don't return from the function in the subshell + and go off to never-never land. */ + if (result == 0 && return_catch_flag) + function_value = setjmp (return_catch); + else + function_value = 0; + + if (result == ERREXIT) + rc = last_command_exit_value; + else if (result == EXITPROG) + rc = last_command_exit_value; + else if (result) + rc = EXECUTION_FAILURE; + else if (function_value) + rc = return_catch_value; + else + { + subshell_level++; + rc = parse_and_execute (string, "command substitution", pflags|SEVAL_NOHIST); + subshell_level--; + } + + last_command_exit_value = rc; + rc = run_exit_trap (); + exit (rc); + } + else + { +#if defined (JOB_CONTROL) && defined (PGRP_PIPE) + close_pgrp_pipe (); +#endif /* JOB_CONTROL && PGRP_PIPE */ + + close (fildes[1]); + + istring = read_comsub (fildes[0], quoted); + + close (fildes[0]); + + current_command_subst_pid = pid; + last_command_exit_value = wait_for (pid); + last_command_subst_pid = pid; + last_made_pid = old_pid; + +#if defined (JOB_CONTROL) + /* If last_command_exit_value > 128, then the substituted command + was terminated by a signal. If that signal was SIGINT, then send + SIGINT to ourselves. This will break out of loops, for instance. */ + if (last_command_exit_value == (128 + SIGINT) && last_command_exit_signal == SIGINT) + kill (getpid (), SIGINT); + + /* wait_for gives the terminal back to shell_pgrp. If some other + process group should have it, give it away to that group here. + pipeline_pgrp is non-zero only while we are constructing a + pipline, so what we are concerned about is whether or not that + pipeline was started in the background. A pipeline started in + the background should never get the tty back here. */ +#if 0 + if (interactive && pipeline_pgrp != (pid_t)0 && pipeline_pgrp != last_asynchronous_pid) +#else + if (interactive && pipeline_pgrp != (pid_t)0 && (subshell_environment & SUBSHELL_ASYNC) == 0) +#endif + give_terminal_to (pipeline_pgrp, 0); +#endif /* JOB_CONTROL */ + + return (istring); + } +} + +/******************************************************** + * * + * Utility functions for parameter expansion * + * * + ********************************************************/ + +#if defined (ARRAY_VARS) + +static arrayind_t +array_length_reference (s) + char *s; +{ + int len; + arrayind_t ind; + char *t, c; + ARRAY *array; + SHELL_VAR *var; + + var = array_variable_part (s, &t, &len); + + /* If unbound variables should generate an error, report one and return + failure. */ + if ((var == 0 || array_p (var) == 0) && unbound_vars_is_error) + { + c = *--t; + *t = '\0'; + err_unboundvar (s); + *t = c; + return (-1); + } + else if (var == 0) + return 0; + + /* We support a couple of expansions for variables that are not arrays. + We'll return the length of the value for v[0], and 1 for v[@] or + v[*]. Return 0 for everything else. */ + + array = array_p (var) ? array_cell (var) : (ARRAY *)NULL; + + if (ALL_ELEMENT_SUB (t[0]) && t[1] == ']') + return (array_p (var) ? array_num_elements (array) : 1); + + ind = array_expand_index (t, len); + if (ind < 0) + { + err_badarraysub (t); + return (-1); + } + + if (array_p (var)) + t = array_reference (array, ind); + else + t = (ind == 0) ? value_cell (var) : (char *)NULL; + + len = STRLEN (t); + return (len); +} +#endif /* ARRAY_VARS */ + +static int +valid_brace_expansion_word (name, var_is_special) + char *name; + int var_is_special; +{ + if (DIGIT (*name) && all_digits (name)) + return 1; + else if (var_is_special) + return 1; +#if defined (ARRAY_VARS) + else if (valid_array_reference (name)) + return 1; +#endif /* ARRAY_VARS */ + else if (legal_identifier (name)) + return 1; + else + return 0; +} + +static int +chk_atstar (name, quoted, quoted_dollar_atp, contains_dollar_at) + char *name; + int quoted; + int *quoted_dollar_atp, *contains_dollar_at; +{ + char *temp1; + + if (name == 0) + { + if (quoted_dollar_atp) + *quoted_dollar_atp = 0; + if (contains_dollar_at) + *contains_dollar_at = 0; + return 0; + } + + /* check for $@ and $* */ + if (name[0] == '@' && name[1] == 0) + { + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && quoted_dollar_atp) + *quoted_dollar_atp = 1; + if (contains_dollar_at) + *contains_dollar_at = 1; + return 1; + } + else if (name[0] == '*' && name[1] == '\0' && quoted == 0) + { + if (contains_dollar_at) + *contains_dollar_at = 1; + return 1; + } + + /* Now check for ${array[@]} and ${array[*]} */ +#if defined (ARRAY_VARS) + else if (valid_array_reference (name)) + { + temp1 = xstrchr (name, '['); + if (temp1 && temp1[1] == '@' && temp1[2] == ']') + { + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && quoted_dollar_atp) + *quoted_dollar_atp = 1; + if (contains_dollar_at) + *contains_dollar_at = 1; + return 1; + } /* [ */ + /* ${array[*]}, when unquoted, should be treated like ${array[@]}, + which should result in separate words even when IFS is unset. */ + if (temp1 && temp1[1] == '*' && temp1[2] == ']' && quoted == 0) + { + if (contains_dollar_at) + *contains_dollar_at = 1; + return 1; + } + } +#endif + return 0; +} + +/* Parameter expand NAME, and return a new string which is the expansion, + or NULL if there was no expansion. + VAR_IS_SPECIAL is non-zero if NAME is one of the special variables in + the shell, e.g., "@", "$", "*", etc. QUOTED, if non-zero, means that + NAME was found inside of a double-quoted expression. */ +static char * +parameter_brace_expand_word (name, var_is_special, quoted) + char *name; + int var_is_special, quoted; +{ + char *temp, *tt; + intmax_t arg_index; + SHELL_VAR *var; + int atype; + + /* Handle multiple digit arguments, as in ${11}. */ + + if (legal_number (name, &arg_index)) + { + tt = get_dollar_var_value (arg_index); + if (tt) + temp = (*tt && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))) + ? quote_string (tt) + : quote_escapes (tt); + else + temp = (char *)NULL; + FREE (tt); + } + else if (var_is_special) /* ${@} */ + { + int sindex; + tt = (char *)xmalloc (2 + strlen (name)); + tt[sindex = 0] = '$'; + strcpy (tt + 1, name); + + temp = param_expand (tt, &sindex, quoted, (int *)NULL, (int *)NULL, + (int *)NULL, (int *)NULL, 0); + free (tt); + } +#if defined (ARRAY_VARS) + else if (valid_array_reference (name)) + { + temp = array_value (name, quoted, &atype); + if (atype == 0 && temp) + temp = (*temp && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))) + ? quote_string (temp) + : quote_escapes (temp); + } +#endif + else if (var = find_variable (name)) + { + if (var_isset (var) && invisible_p (var) == 0) + { +#if defined (ARRAY_VARS) + temp = array_p (var) ? array_reference (array_cell (var), 0) : value_cell (var); +#else + temp = value_cell (var); +#endif + + if (temp) + temp = (*temp && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))) + ? quote_string (temp) + : quote_escapes (temp); + } + else + temp = (char *)NULL; + } + else + temp = (char *)NULL; + + return (temp); +} + +/* Expand an indirect reference to a variable: ${!NAME} expands to the + value of the variable whose name is the value of NAME. */ +static char * +parameter_brace_expand_indir (name, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at) + char *name; + int var_is_special, quoted; + int *quoted_dollar_atp, *contains_dollar_at; +{ + char *temp, *t; + + t = parameter_brace_expand_word (name, var_is_special, quoted); + /* Have to dequote here if necessary */ + if (t) + { + temp = (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) + ? dequote_string (t) + : dequote_escapes (t); + free (t); + t = temp; + } + chk_atstar (t, quoted, quoted_dollar_atp, contains_dollar_at); + if (t == 0) + return (t); + temp = parameter_brace_expand_word (t, SPECIAL_VAR(t, 0), quoted); + free (t); + return temp; +} + +/* Expand the right side of a parameter expansion of the form ${NAMEcVALUE}, + depending on the value of C, the separating character. C can be one of + "-", "+", or "=". QUOTED is true if the entire brace expression occurs + between double quotes. */ +static char * +parameter_brace_expand_rhs (name, value, c, quoted, qdollaratp, hasdollarat) + char *name, *value; + int c, quoted, *qdollaratp, *hasdollarat; +{ + WORD_LIST *l; + char *t, *t1, *temp; + int hasdol; + + /* XXX - Should we tilde expand in an assignment context if C is `='? */ + if (*value == '~') + temp = bash_tilde_expand (value, 0); + else if (xstrchr (value, '~') && unquoted_substring ("=~", value)) + temp = bash_tilde_expand (value, 1); + else + temp = savestring (value); + + /* If the entire expression is between double quotes, we want to treat + the value as a double-quoted string, with the exception that we strip + embedded unescaped double quotes. */ + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && *temp) + { + hasdol = 0; + t = string_extract_double_quoted (temp, &hasdol, 1); + free (temp); + temp = t; + } + + hasdol = 0; + /* XXX was 0 not quoted */ + l = *temp ? expand_string_for_rhs (temp, quoted, &hasdol, (int *)NULL) + : (WORD_LIST *)0; + if (hasdollarat) + *hasdollarat = hasdol || (l && l->next); + free (temp); + if (l) + { + /* The expansion of TEMP returned something. We need to treat things + slightly differently if HASDOL is non-zero. If we have "$@", the + individual words have already been quoted. We need to turn them + into a string with the words separated by the first character of + $IFS without any additional quoting, so string_list_dollar_at won't + do the right thing. We use string_list_dollar_star instead. */ + temp = (hasdol || l->next) ? string_list_dollar_star (l) : string_list (l); + + /* If l->next is not null, we know that TEMP contained "$@", since that + is the only expansion that creates more than one word. */ + if (qdollaratp && ((hasdol && quoted) || l->next)) + *qdollaratp = 1; + dispose_words (l); + } + else if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && hasdol) + { + /* The brace expansion occurred between double quotes and there was + a $@ in TEMP. It does not matter if the $@ is quoted, as long as + it does not expand to anything. In this case, we want to return + a quoted empty string. */ + temp = (char *)xmalloc (2); + temp[0] = CTLNUL; + temp[1] = '\0'; + } + else + temp = (char *)NULL; + + if (c == '-' || c == '+') + return (temp); + + /* c == '=' */ + t = temp ? savestring (temp) : savestring (""); + t1 = dequote_string (t); + free (t); +#if defined (ARRAY_VARS) + if (valid_array_reference (name)) + assign_array_element (name, t1); + else +#endif /* ARRAY_VARS */ + bind_variable (name, t1); + free (t1); + return (temp); +} + +/* Deal with the right hand side of a ${name:?value} expansion in the case + that NAME is null or not set. If VALUE is non-null it is expanded and + used as the error message to print, otherwise a standard message is + printed. */ +static void +parameter_brace_expand_error (name, value) + char *name, *value; +{ + WORD_LIST *l; + char *temp; + + if (value && *value) + { + if (*value == '~') + temp = bash_tilde_expand (value, 0); + else if (xstrchr (value, '~') && unquoted_substring ("=~", value)) + temp = bash_tilde_expand (value, 1); + else + temp = savestring (value); + + l = expand_string (temp, 0); + FREE (temp); + temp = string_list (l); + report_error ("%s: %s", name, temp ? temp : ""); /* XXX was value not "" */ + FREE (temp); + dispose_words (l); + } + else + report_error (_("%s: parameter null or not set"), name); + + /* Free the data we have allocated during this expansion, since we + are about to longjmp out. */ + free (name); + FREE (value); +} + +/* Return 1 if NAME is something for which parameter_brace_expand_length is + OK to do. */ +static int +valid_length_expression (name) + char *name; +{ + return (name[1] == '\0' || /* ${#} */ + ((sh_syntaxtab[(unsigned char) name[1]] & CSPECVAR) && name[2] == '\0') || /* special param */ + (DIGIT (name[1]) && all_digits (name + 1)) || /* ${#11} */ +#if defined (ARRAY_VARS) + valid_array_reference (name + 1) || /* ${#a[7]} */ +#endif + legal_identifier (name + 1)); /* ${#PS1} */ +} + +/* Handle the parameter brace expansion that requires us to return the + length of a parameter. */ +static intmax_t +parameter_brace_expand_length (name) + char *name; +{ + char *t, *newname; + intmax_t number, arg_index; + WORD_LIST *list; +#if defined (ARRAY_VARS) + SHELL_VAR *var; +#endif + + if (name[1] == '\0') /* ${#} */ + number = number_of_args (); + else if ((name[1] == '@' || name[1] == '*') && name[2] == '\0') /* ${#@}, ${#*} */ + number = number_of_args (); + else if ((sh_syntaxtab[(unsigned char) name[1]] & CSPECVAR) && name[2] == '\0') + { + /* Take the lengths of some of the shell's special parameters. */ + switch (name[1]) + { + case '-': + t = which_set_flags (); + break; + case '?': + t = itos (last_command_exit_value); + break; + case '$': + t = itos (dollar_dollar_pid); + break; + case '!': + if (last_asynchronous_pid == NO_PID) + t = (char *)NULL; + else + t = itos (last_asynchronous_pid); + break; + case '#': + t = itos (number_of_args ()); + break; + } + number = STRLEN (t); + FREE (t); + } +#if defined (ARRAY_VARS) + else if (valid_array_reference (name + 1)) + number = array_length_reference (name + 1); +#endif /* ARRAY_VARS */ + else + { + number = 0; + + if (legal_number (name + 1, &arg_index)) /* ${#1} */ + { + t = get_dollar_var_value (arg_index); + number = STRLEN (t); + FREE (t); + } +#if defined (ARRAY_VARS) + else if ((var = find_variable (name + 1)) && array_p (var)) + { + t = array_reference (array_cell (var), 0); + number = STRLEN (t); + } +#endif + else /* ${#PS1} */ + { + newname = savestring (name); + newname[0] = '$'; + list = expand_string (newname, Q_DOUBLE_QUOTES); + t = list ? string_list (list) : (char *)NULL; + free (newname); + if (list) + dispose_words (list); + + number = STRLEN (t); + FREE (t); + } + } + + return (number); +} + +/* Skip characters in SUBSTR until DELIM. SUBSTR is an arithmetic expression, + so we do some ad-hoc parsing of an arithmetic expression to find + the first DELIM, instead of using strchr(3). Two rules: + 1. If the substring contains a `(', read until closing `)'. + 2. If the substring contains a `?', read past one `:' for each `?'. +*/ + +static char * +skiparith (substr, delim) + char *substr; + int delim; +{ + size_t sublen; + int skipcol, pcount, i; + DECLARE_MBSTATE; + + sublen = strlen (substr); + i = skipcol = pcount = 0; + while (substr[i]) + { + /* Balance parens */ + if (substr[i] == LPAREN) + { + pcount++; + i++; + continue; + } + if (substr[i] == RPAREN && pcount) + { + pcount--; + i++; + continue; + } + if (pcount) + { + ADVANCE_CHAR (substr, sublen, i); + continue; + } + + /* Skip one `:' for each `?' */ + if (substr[i] == ':' && skipcol) + { + skipcol--; + i++; + continue; + } + if (substr[i] == delim) + break; + if (substr[i] == '?') + { + skipcol++; + i++; + continue; + } + ADVANCE_CHAR (substr, sublen, i); + } + + return (substr + i); +} + +/* Verify and limit the start and end of the desired substring. If + VTYPE == 0, a regular shell variable is being used; if it is 1, + then the positional parameters are being used; if it is 2, then + VALUE is really a pointer to an array variable that should be used. + Return value is 1 if both values were OK, 0 if there was a problem + with an invalid expression, or -1 if the values were out of range. */ +static int +verify_substring_values (value, substr, vtype, e1p, e2p) + char *value, *substr; + int vtype; + intmax_t *e1p, *e2p; +{ + char *t, *temp1, *temp2; + arrayind_t len; + int expok; +#if defined (ARRAY_VARS) + ARRAY *a; +#endif + + /* duplicate behavior of strchr(3) */ + t = skiparith (substr, ':'); + if (*t && *t == ':') + *t = '\0'; + else + t = (char *)0; + + temp1 = expand_string_if_necessary (substr, Q_DOUBLE_QUOTES, expand_string); + *e1p = evalexp (temp1, &expok); + free (temp1); + if (expok == 0) + return (0); + + len = -1; /* paranoia */ + switch (vtype) + { + case VT_VARIABLE: + case VT_ARRAYMEMBER: + len = strlen (value); + break; + case VT_POSPARMS: + len = number_of_args () + 1; + break; +#if defined (ARRAY_VARS) + case VT_ARRAYVAR: + a = (ARRAY *)value; + /* For arrays, the first value deals with array indices. */ + len = array_max_index (a); /* arrays index from 0 to n - 1 */ + break; +#endif + } + + if (len == -1) /* paranoia */ + return -1; + + if (*e1p < 0) /* negative offsets count from end */ + *e1p += len; + + if (*e1p >= len || *e1p < 0) + return (-1); + +#if defined (ARRAY_VARS) + /* For arrays, the second offset deals with the number of elements. */ + if (vtype == VT_ARRAYVAR) + len = array_num_elements (a); +#endif + + if (t) + { + t++; + temp2 = savestring (t); + temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string); + free (temp2); + t[-1] = ':'; + *e2p = evalexp (temp1, &expok); + free (temp1); + if (expok == 0) + return (0); + if (*e2p < 0) + { + internal_error (_("%s: substring expression < 0"), t); + return (0); + } +#if defined (ARRAY_VARS) + /* In order to deal with sparse arrays, push the intelligence about how + to deal with the number of elements desired down to the array- + specific functions. */ + if (vtype != VT_ARRAYVAR) +#endif + { + *e2p += *e1p; /* want E2 chars starting at E1 */ + if (*e2p > len) + *e2p = len; + } + } + else + *e2p = len; + + return (1); +} + +/* Return the type of variable specified by VARNAME (simple variable, + positional param, or array variable). Also return the value specified + by VARNAME (value of a variable or a reference to an array element). + If this returns VT_VARIABLE, the caller assumes that CTLESC and CTLNUL + characters in the value are quoted with CTLESC and takes appropriate + steps. For convenience, *VALP is set to the dequoted VALUE. */ +static int +get_var_and_type (varname, value, quoted, varp, valp) + char *varname, *value; + int quoted; + SHELL_VAR **varp; + char **valp; +{ + int vtype; + char *temp; +#if defined (ARRAY_VARS) + SHELL_VAR *v; +#endif + + /* This sets vtype to VT_VARIABLE or VT_POSPARMS */ + vtype = (varname[0] == '@' || varname[0] == '*') && varname[1] == '\0'; + if (vtype == VT_POSPARMS && varname[0] == '*') + vtype |= VT_STARSUB; + *varp = (SHELL_VAR *)NULL; + +#if defined (ARRAY_VARS) + if (valid_array_reference (varname)) + { + v = array_variable_part (varname, &temp, (int *)0); + if (v && array_p (v)) + { /* [ */ + if (ALL_ELEMENT_SUB (temp[0]) && temp[1] == ']') + { + vtype = VT_ARRAYVAR; + if (temp[0] == '*') + vtype |= VT_STARSUB; + *valp = (char *)array_cell (v); + } + else + { + vtype = VT_ARRAYMEMBER; + *valp = array_value (varname, 1, (int *)NULL); + } + *varp = v; + } + else + return -1; + } + else if ((v = find_variable (varname)) && array_p (v)) + { + vtype = VT_ARRAYMEMBER; + *varp = v; + *valp = array_reference (array_cell (v), 0); + } + else +#endif +#if 1 + { + if (value && vtype == VT_VARIABLE) + { + if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) + *valp = dequote_string (value); + else + *valp = dequote_escapes (value); + } + else + *valp = value; + } +#else + *valp = (value && vtype == VT_VARIABLE) ? dequote_escapes (value) : value; +#endif + + return vtype; +} + +/******************************************************/ +/* */ +/* Functions to extract substrings of variable values */ +/* */ +/******************************************************/ + +#if defined (HANDLE_MULTIBYTE) +/* Character-oriented rather than strictly byte-oriented substrings. S and + E, rather being strict indices into STRING, indicate character (possibly + multibyte character) positions that require calculation. + Used by the ${param:offset[:length]} expansion. */ +static char * +mb_substring (string, s, e) + char *string; + int s, e; +{ + char *tt; + int start, stop, i, slen; + DECLARE_MBSTATE; + + start = 0; + slen = STRLEN (string); + + i = s; + while (string[start] && i--) + ADVANCE_CHAR (string, slen, start); + stop = start; + i = e - s; + while (string[stop] && i--) + ADVANCE_CHAR (string, slen, stop); + tt = substring (string, start, stop); + return tt; +} +#endif + +/* Process a variable substring expansion: ${name:e1[:e2]}. If VARNAME + is `@', use the positional parameters; otherwise, use the value of + VARNAME. If VARNAME is an array variable, use the array elements. */ + +static char * +parameter_brace_substring (varname, value, substr, quoted) + char *varname, *value, *substr; + int quoted; +{ + intmax_t e1, e2; + int vtype, r, starsub; + char *temp, *val, *tt; + SHELL_VAR *v; + + if (value == 0) + return ((char *)NULL); + + this_command_name = varname; + + vtype = get_var_and_type (varname, value, quoted, &v, &val); + if (vtype == -1) + return ((char *)NULL); + + starsub = vtype & VT_STARSUB; + vtype &= ~VT_STARSUB; + + r = verify_substring_values (val, substr, vtype, &e1, &e2); + if (r <= 0) + return ((r == 0) ? &expand_param_error : (char *)NULL); + + switch (vtype) + { + case VT_VARIABLE: + case VT_ARRAYMEMBER: +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1) + tt = mb_substring (val, e1, e2); + else +#endif + tt = substring (val, e1, e2); + + if (vtype == VT_VARIABLE) + FREE (val); + if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) + temp = quote_string (tt); + else + temp = tt ? quote_escapes (tt) : (char *)NULL; + FREE (tt); + break; + case VT_POSPARMS: + tt = pos_params (varname, e1, e2, quoted); + if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) == 0) + { + temp = tt ? quote_escapes (tt) : (char *)NULL; + FREE (tt); + } + else + temp = tt; + break; +#if defined (ARRAY_VARS) + case VT_ARRAYVAR: + /* We want E2 to be the number of elements desired (arrays can be sparse, + so verify_substring_values just returns the numbers specified and we + rely on array_subrange to understand how to deal with them). */ + tt = array_subrange (array_cell (v), e1, e2, starsub, quoted); + if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) == 0) + { + temp = tt ? quote_escapes (tt) : (char *)NULL; + FREE (tt); + } + else + temp = tt; + break; +#endif + default: + temp = (char *)NULL; + } + + return temp; +} + +/****************************************************************/ +/* */ +/* Functions to perform pattern substitution on variable values */ +/* */ +/****************************************************************/ + +char * +pat_subst (string, pat, rep, mflags) + char *string, *pat, *rep; + int mflags; +{ + char *ret, *s, *e, *str; + int rsize, rptr, l, replen, mtype; + + mtype = mflags & MATCH_TYPEMASK; + + /* Special cases: + * 1. A null pattern with mtype == MATCH_BEG means to prefix STRING + * with REP and return the result. + * 2. A null pattern with mtype == MATCH_END means to append REP to + * STRING and return the result. + */ + if ((pat == 0 || *pat == 0) && (mtype == MATCH_BEG || mtype == MATCH_END)) + { + replen = STRLEN (rep); + l = strlen (string); + ret = (char *)xmalloc (replen + l + 2); + if (replen == 0) + strcpy (ret, string); + else if (mtype == MATCH_BEG) + { + strcpy (ret, rep); + strcpy (ret + replen, string); + } + else + { + strcpy (ret, string); + strcpy (ret + l, rep); + } + return (ret); + } + + ret = (char *)xmalloc (rsize = 64); + ret[0] = '\0'; + + for (replen = STRLEN (rep), rptr = 0, str = string;;) + { + if (match_pattern (str, pat, mtype, &s, &e) == 0) + break; + l = s - str; + RESIZE_MALLOCED_BUFFER (ret, rptr, (l + replen), rsize, 64); + + /* OK, now copy the leading unmatched portion of the string (from + str to s) to ret starting at rptr (the current offset). Then copy + the replacement string at ret + rptr + (s - str). Increment + rptr (if necessary) and str and go on. */ + if (l) + { + strncpy (ret + rptr, str, l); + rptr += l; + } + if (replen) + { + strncpy (ret + rptr, rep, replen); + rptr += replen; + } + str = e; /* e == end of match */ + + if (((mflags & MATCH_GLOBREP) == 0) || mtype != MATCH_ANY) + break; + + if (s == e) + e++, str++; /* avoid infinite recursion on zero-length match */ + } + + /* Now copy the unmatched portion of the input string */ + if (*str) + { + RESIZE_MALLOCED_BUFFER (ret, rptr, STRLEN(str) + 1, rsize, 64); + strcpy (ret + rptr, str); + } + else + ret[rptr] = '\0'; + + return ret; +} + +/* Do pattern match and replacement on the positional parameters. */ +static char * +pos_params_pat_subst (string, pat, rep, mflags) + char *string, *pat, *rep; + int mflags; +{ + WORD_LIST *save, *params; + WORD_DESC *w; + char *ret, *tt; + + save = params = list_rest_of_args (); + if (save == 0) + return ((char *)NULL); + + for ( ; params; params = params->next) + { + ret = pat_subst (params->word->word, pat, rep, mflags); + w = make_bare_word (ret); + dispose_word (params->word); + params->word = w; + FREE (ret); + } + + if ((mflags & (MATCH_QUOTED|MATCH_STARSUB)) == (MATCH_QUOTED|MATCH_STARSUB)) + ret = string_list_dollar_star (quote_list (save)); + else + ret = string_list ((mflags & MATCH_QUOTED) ? quote_list (save) : save); + dispose_words (save); + + return (ret); +} + +/* Perform pattern substitution on VALUE, which is the expansion of + VARNAME. PATSUB is an expression supplying the pattern to match + and the string to substitute. QUOTED is a flags word containing + the type of quoting currently in effect. */ +static char * +parameter_brace_patsub (varname, value, patsub, quoted) + char *varname, *value, *patsub; + int quoted; +{ + int vtype, mflags, starsub; + char *val, *temp, *pat, *rep, *p, *lpatsub, *tt; + SHELL_VAR *v; + + if (value == 0) + return ((char *)NULL); + + this_command_name = varname; + + vtype = get_var_and_type (varname, value, quoted, &v, &val); + if (vtype == -1) + return ((char *)NULL); + + starsub = vtype & VT_STARSUB; + vtype &= ~VT_STARSUB; + + mflags = 0; + if (*patsub == '/') + { + mflags |= MATCH_GLOBREP; + patsub++; + } + + /* Malloc this because expand_string_if_necessary or one of the expansion + functions in its call chain may free it on a substitution error. */ + lpatsub = savestring (patsub); + + if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) + mflags |= MATCH_QUOTED; + + if (starsub) + mflags |= MATCH_STARSUB; + + if (rep = quoted_strchr (lpatsub, '/', ST_BACKSL)) + *rep++ = '\0'; + else + rep = (char *)NULL; + + if (rep && *rep == '\0') + rep = (char *)NULL; + +#if 0 + /* Expand PAT and REP for command, variable and parameter, arithmetic, + and process substitution. Also perform quote removal. Do not + perform word splitting or filename generation. */ + pat = expand_string_if_necessary (lpatsub, (quoted & ~Q_DOUBLE_QUOTES), expand_string_unsplit); +#else + /* Perform the same expansions on the pattern as performed by the + pattern removal expansions. */ + pat = getpattern (lpatsub, quoted, 1); +#endif + + if (rep) + { + if ((mflags & MATCH_QUOTED) == 0) + rep = expand_string_if_necessary (rep, quoted, expand_string_unsplit); + else + rep = expand_string_to_string_internal (rep, quoted, expand_string_unsplit); + } + + p = pat; + if (pat && pat[0] == '#') + { + mflags |= MATCH_BEG; + p++; + } + else if (pat && pat[0] == '%') + { + mflags |= MATCH_END; + p++; + } + else + mflags |= MATCH_ANY; + + /* OK, we now want to substitute REP for PAT in VAL. If + flags & MATCH_GLOBREP is non-zero, the substitution is done + everywhere, otherwise only the first occurrence of PAT is + replaced. The pattern matching code doesn't understand + CTLESC quoting CTLESC and CTLNUL so we use the dequoted variable + values passed in (VT_VARIABLE) so the pattern substitution + code works right. We need to requote special chars after + we're done for VT_VARIABLE and VT_ARRAYMEMBER, and for the + other cases if QUOTED == 0, since the posparams and arrays + indexed by * or @ do special things when QUOTED != 0. */ + + switch (vtype) + { + case VT_VARIABLE: + case VT_ARRAYMEMBER: + temp = pat_subst (val, p, rep, mflags); + if (vtype == VT_VARIABLE) + FREE (val); + if (temp) + { + tt = quote_escapes (temp); + free (temp); + temp = tt; + } + break; + case VT_POSPARMS: + temp = pos_params_pat_subst (val, p, rep, mflags); + if (temp && (mflags & MATCH_QUOTED) == 0) + { + tt = quote_escapes (temp); + free (temp); + temp = tt; + } + break; +#if defined (ARRAY_VARS) + case VT_ARRAYVAR: + temp = array_patsub (array_cell (v), p, rep, mflags); + if (temp && (mflags & MATCH_QUOTED) == 0) + { + tt = quote_escapes (temp); + free (temp); + temp = tt; + } + break; +#endif + } + + FREE (pat); + FREE (rep); + free (lpatsub); + + return temp; +} + +/****************************************************************/ +/* */ +/* Functions to perform parameter expansion on a string */ +/* */ +/****************************************************************/ + +/* ${[#][!]name[[:]#[#]%[%]-=?+[word][:e1[:e2]]]} */ +static char * +parameter_brace_expand (string, indexp, quoted, quoted_dollar_atp, contains_dollar_at) + char *string; + int *indexp, quoted, *quoted_dollar_atp, *contains_dollar_at; +{ + int check_nullness, var_is_set, var_is_null, var_is_special; + int want_substring, want_indir, want_patsub; + char *name, *value, *temp, *temp1; + int t_index, sindex, c; + intmax_t number; + + value = (char *)NULL; + var_is_set = var_is_null = var_is_special = check_nullness = 0; + want_substring = want_indir = want_patsub = 0; + + sindex = *indexp; + t_index = ++sindex; + name = string_extract (string, &t_index, "#%:-=?+/}", EX_VARNAME); + + /* If the name really consists of a special variable, then make sure + that we have the entire name. We don't allow indirect references + to special variables except `#', `?', `@' and `*'. */ + if ((sindex == t_index && + (string[t_index] == '-' || + string[t_index] == '?' || + string[t_index] == '#')) || + (sindex == t_index - 1 && string[sindex] == '!' && + (string[t_index] == '#' || + string[t_index] == '?' || + string[t_index] == '@' || + string[t_index] == '*'))) + { + t_index++; + free (name); + temp1 = string_extract (string, &t_index, "#%:-=?+/}", 0); + name = (char *)xmalloc (3 + (strlen (temp1))); + *name = string[sindex]; + if (string[sindex] == '!') + { + /* indirect reference of $#, $?, $@, or $* */ + name[1] = string[sindex + 1]; + strcpy (name + 2, temp1); + } + else + strcpy (name + 1, temp1); + free (temp1); + } + sindex = t_index; + + /* Find out what character ended the variable name. Then + do the appropriate thing. */ + if (c = string[sindex]) + sindex++; + + /* If c is followed by one of the valid parameter expansion + characters, move past it as normal. If not, assume that + a substring specification is being given, and do not move + past it. */ + if (c == ':' && VALID_PARAM_EXPAND_CHAR (string[sindex])) + { + check_nullness++; + if (c = string[sindex]) + sindex++; + } + else if (c == ':' && string[sindex] != RBRACE) + want_substring = 1; + else if (c == '/' && string[sindex] != RBRACE) + want_patsub = 1; + + /* Catch the valid and invalid brace expressions that made it through the + tests above. */ + /* ${#-} is a valid expansion and means to take the length of $-. + Similarly for ${#?} and ${##}... */ + if (name[0] == '#' && name[1] == '\0' && check_nullness == 0 && + VALID_SPECIAL_LENGTH_PARAM (c) && string[sindex] == RBRACE) + { + name = (char *)xrealloc (name, 3); + name[1] = c; + name[2] = '\0'; + c = string[sindex++]; + } + + /* ...but ${#%}, ${#:}, ${#=}, ${#+}, and ${#/} are errors. */ + if (name[0] == '#' && name[1] == '\0' && check_nullness == 0 && + member (c, "%:=+/") && string[sindex] == RBRACE) + { + temp = (char *)NULL; + goto bad_substitution; + } + + /* Indirect expansion begins with a `!'. A valid indirect expansion is + either a variable name, one of the positional parameters or a special + variable that expands to one of the positional parameters. */ + want_indir = *name == '!' && + (legal_variable_starter ((unsigned char)name[1]) || DIGIT (name[1]) + || VALID_INDIR_PARAM (name[1])); + + /* Determine the value of this variable. */ + + /* Check for special variables, directly referenced. */ + if (SPECIAL_VAR (name, want_indir)) + var_is_special++; + + /* Check for special expansion things, like the length of a parameter */ + if (*name == '#' && name[1]) + { + /* If we are not pointing at the character just after the + closing brace, then we haven't gotten all of the name. + Since it begins with a special character, this is a bad + substitution. Also check NAME for validity before trying + to go on. */ + if (string[sindex - 1] != RBRACE || (valid_length_expression (name) == 0)) + { + temp = (char *)NULL; + goto bad_substitution; + } + + number = parameter_brace_expand_length (name); + free (name); + + *indexp = sindex; + return ((number < 0) ? &expand_param_error : itos (number)); + } + + /* ${@} is identical to $@. */ + if (name[0] == '@' && name[1] == '\0') + { + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && quoted_dollar_atp) + *quoted_dollar_atp = 1; + + if (contains_dollar_at) + *contains_dollar_at = 1; + } + + /* Process ${!PREFIX*} expansion. */ + if (want_indir && string[sindex - 1] == RBRACE && + (string[sindex - 2] == '*' || string[sindex - 2] == '@') && + legal_variable_starter ((unsigned char) name[1])) + { + char **x; + WORD_LIST *xlist; + + temp1 = savestring (name + 1); + number = strlen (temp1); + temp1[number - 1] = '\0'; + x = all_variables_matching_prefix (temp1); + xlist = strvec_to_word_list (x, 0, 0); + if (string[sindex - 2] == '*') + temp = string_list_dollar_star (xlist); + else + { + temp = string_list_dollar_at (xlist, quoted); + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && quoted_dollar_atp) + *quoted_dollar_atp = 1; + if (contains_dollar_at) + *contains_dollar_at = 1; + } + free (x); + free (xlist); + free (temp1); + *indexp = sindex; + return (temp); + } + +#if defined (ARRAY_VARS) + /* Process ${!ARRAY[@]} and ${!ARRAY[*]} expansion. */ /* [ */ + if (want_indir && string[sindex - 1] == RBRACE && + string[sindex - 2] == ']' && valid_array_reference (name+1)) + { + char *x, *x1; + + temp1 = savestring (name + 1); + x = array_variable_name (temp1, &x1, (int *)0); /* [ */ + FREE (x); + if (ALL_ELEMENT_SUB (x1[0]) && x1[1] == ']') + { + temp = array_keys (temp1, quoted); + if (x1[0] == '@') + { + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && quoted_dollar_atp) + *quoted_dollar_atp = 1; + if (contains_dollar_at) + *contains_dollar_at = 1; + } + + free (temp1); + *indexp = sindex; + return (temp); + } + + free (temp1); + } +#endif /* ARRAY_VARS */ + + /* Make sure that NAME is valid before trying to go on. */ + if (valid_brace_expansion_word (want_indir ? name + 1 : name, + var_is_special) == 0) + { + temp = (char *)NULL; + goto bad_substitution; + } + + if (want_indir) + temp = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at); + else + temp = parameter_brace_expand_word (name, var_is_special, quoted); + +#if defined (ARRAY_VARS) + if (valid_array_reference (name)) + chk_atstar (name, quoted, quoted_dollar_atp, contains_dollar_at); +#endif + + var_is_set = temp != (char *)0; + var_is_null = check_nullness && (var_is_set == 0 || *temp == 0); + + /* Get the rest of the stuff inside the braces. */ + if (c && c != RBRACE) + { + /* Extract the contents of the ${ ... } expansion + according to the Posix.2 rules. */ + value = extract_dollar_brace_string (string, &sindex, quoted, 0); + if (string[sindex] == RBRACE) + sindex++; + else + goto bad_substitution; + } + else + value = (char *)NULL; + + *indexp = sindex; + + /* If this is a substring spec, process it and add the result. */ + if (want_substring) + { + temp1 = parameter_brace_substring (name, temp, value, quoted); + FREE (name); + FREE (value); + FREE (temp); + return (temp1); + } + else if (want_patsub) + { + temp1 = parameter_brace_patsub (name, temp, value, quoted); + FREE (name); + FREE (value); + FREE (temp); + return (temp1); + } + + /* Do the right thing based on which character ended the variable name. */ + switch (c) + { + default: + case '\0': + bad_substitution: + report_error (_("%s: bad substitution"), string ? string : "??"); + FREE (value); + FREE (temp); + free (name); + return &expand_param_error; + + case RBRACE: + if (var_is_set == 0 && unbound_vars_is_error) + { + err_unboundvar (name); + FREE (value); + FREE (temp); + free (name); + last_command_exit_value = EXECUTION_FAILURE; + return (interactive_shell ? &expand_param_error : &expand_param_fatal); + } + break; + + case '#': /* ${param#[#]pattern} */ + case '%': /* ${param%[%]pattern} */ + if (value == 0 || *value == '\0' || temp == 0 || *temp == '\0') + { + FREE (value); + break; + } + temp1 = parameter_brace_remove_pattern (name, temp, value, c, quoted); + free (temp); + free (value); + temp = temp1; + break; + + case '-': + case '=': + case '?': + case '+': + if (var_is_set && var_is_null == 0) + { + /* If the operator is `+', we don't want the value of the named + variable for anything, just the value of the right hand side. */ + + if (c == '+') + { + /* XXX -- if we're double-quoted and the named variable is "$@", + we want to turn off any special handling of "$@" -- + we're not using it, so whatever is on the rhs applies. */ + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && quoted_dollar_atp) + *quoted_dollar_atp = 0; + if (contains_dollar_at) + *contains_dollar_at = 0; + + FREE (temp); + if (value) + { + temp = parameter_brace_expand_rhs (name, value, c, + quoted, + quoted_dollar_atp, + contains_dollar_at); + free (value); + } + else + temp = (char *)NULL; + } + else + { + FREE (value); + } + /* Otherwise do nothing; just use the value in TEMP. */ + } + else /* VAR not set or VAR is NULL. */ + { + FREE (temp); + temp = (char *)NULL; + if (c == '=' && var_is_special) + { + report_error (_("$%s: cannot assign in this way"), name); + free (name); + free (value); + return &expand_param_error; + } + else if (c == '?') + { + parameter_brace_expand_error (name, value); + return (interactive_shell ? &expand_param_error : &expand_param_fatal); + } + else if (c != '+') + { + /* XXX -- if we're double-quoted and the named variable is "$@", + we want to turn off any special handling of "$@" -- + we're not using it, so whatever is on the rhs applies. */ + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && quoted_dollar_atp) + *quoted_dollar_atp = 0; + if (contains_dollar_at) + *contains_dollar_at = 0; + + temp = parameter_brace_expand_rhs (name, value, c, quoted, + quoted_dollar_atp, + contains_dollar_at); + } + free (value); + } + + break; + } + free (name); + return (temp); +} + +/* Expand a single ${xxx} expansion. The braces are optional. When + the braces are used, parameter_brace_expand() does the work, + possibly calling param_expand recursively. */ +static char * +param_expand (string, sindex, quoted, expanded_something, + contains_dollar_at, quoted_dollar_at_p, had_quoted_null_p, + pflags) + char *string; + int *sindex, quoted, *expanded_something, *contains_dollar_at; + int *quoted_dollar_at_p, *had_quoted_null_p, pflags; +{ + char *temp, *temp1, uerror[3]; + int zindex, t_index, expok; + unsigned char c; + intmax_t number; + SHELL_VAR *var; + WORD_LIST *list; + + zindex = *sindex; + c = string[++zindex]; + + temp = (char *)NULL; + + /* Do simple cases first. Switch on what follows '$'. */ + switch (c) + { + /* $0 .. $9? */ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + temp1 = dollar_vars[TODIGIT (c)]; + if (unbound_vars_is_error && temp1 == (char *)NULL) + { + uerror[0] = '$'; + uerror[1] = c; + uerror[2] = '\0'; + err_unboundvar (uerror); + last_command_exit_value = EXECUTION_FAILURE; + return (interactive_shell ? &expand_param_error : &expand_param_fatal); + } +#if 1 + if (temp1) + temp = (*temp1 && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))) + ? quote_string (temp1) + : quote_escapes (temp1); + else + temp = (char *)NULL; +#else + temp = temp1 ? quote_escapes (temp1) : (char *)NULL; +#endif + break; + + /* $$ -- pid of the invoking shell. */ + case '$': + temp = itos (dollar_dollar_pid); + break; + + /* $# -- number of positional parameters. */ + case '#': + temp = itos (number_of_args ()); + break; + + /* $? -- return value of the last synchronous command. */ + case '?': + temp = itos (last_command_exit_value); + break; + + /* $- -- flags supplied to the shell on invocation or by `set'. */ + case '-': + temp = which_set_flags (); + break; + + /* $! -- Pid of the last asynchronous command. */ + case '!': + /* If no asynchronous pids have been created, expand to nothing. + If `set -u' has been executed, and no async processes have + been created, this is an expansion error. */ + if (last_asynchronous_pid == NO_PID) + { + if (expanded_something) + *expanded_something = 0; + temp = (char *)NULL; + if (unbound_vars_is_error) + { + uerror[0] = '$'; + uerror[1] = c; + uerror[2] = '\0'; + err_unboundvar (uerror); + last_command_exit_value = EXECUTION_FAILURE; + return (interactive_shell ? &expand_param_error : &expand_param_fatal); + } + } + else + temp = itos (last_asynchronous_pid); + break; + + /* The only difference between this and $@ is when the arg is quoted. */ + case '*': /* `$*' */ + list = list_rest_of_args (); + + /* If there are no command-line arguments, this should just + disappear if there are other characters in the expansion, + even if it's quoted. */ + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && list == 0) + temp = (char *)NULL; + else if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) + { + /* If we have "$*" we want to make a string of the positional + parameters, separated by the first character of $IFS, and + quote the whole string, including the separators. If IFS + is unset, the parameters are separated by ' '; if $IFS is + null, the parameters are concatenated. */ +#if 0 + temp = string_list_dollar_star (list); +#else + temp = (quoted & Q_DOUBLE_QUOTES) ? string_list_dollar_star (list) : string_list (list); +#endif + temp1 = quote_string (temp); + free (temp); + temp = temp1; + } + else + { + /* If the $* is not quoted it is identical to $@ */ + temp = string_list_dollar_at (list, quoted); + if (expand_no_split_dollar_star == 0 && contains_dollar_at) + *contains_dollar_at = 1; + } + + dispose_words (list); + break; + + /* When we have "$@" what we want is "$1" "$2" "$3" ... This + means that we have to turn quoting off after we split into + the individually quoted arguments so that the final split + on the first character of $IFS is still done. */ + case '@': /* `$@' */ + list = list_rest_of_args (); + + /* We want to flag the fact that we saw this. We can't turn + off quoting entirely, because other characters in the + string might need it (consider "\"$@\""), but we need some + way to signal that the final split on the first character + of $IFS should be done, even though QUOTED is 1. */ + if (quoted_dollar_at_p && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))) + *quoted_dollar_at_p = 1; + if (contains_dollar_at) + *contains_dollar_at = 1; + + /* We want to separate the positional parameters with the first + character of $IFS in case $IFS is something other than a space. + We also want to make sure that splitting is done no matter what -- + according to POSIX.2, this expands to a list of the positional + parameters no matter what IFS is set to. */ + temp = string_list_dollar_at (list, quoted); + + dispose_words (list); + break; + + case LBRACE: + temp = parameter_brace_expand (string, &zindex, quoted, + quoted_dollar_at_p, + contains_dollar_at); + if (temp == &expand_param_error || temp == &expand_param_fatal) + return (temp); + + /* XXX */ + /* Quoted nulls should be removed if there is anything else + in the string. */ + /* Note that we saw the quoted null so we can add one back at + the end of this function if there are no other characters + in the string, discard TEMP, and go on. The exception to + this is when we have "${@}" and $1 is '', since $@ needs + special handling. */ + if (temp && QUOTED_NULL (temp)) + { + if (had_quoted_null_p) + *had_quoted_null_p = 1; + if (*quoted_dollar_at_p == 0) + { + free (temp); + temp = (char *)NULL; + } + + } + + goto return0; + + /* Do command or arithmetic substitution. */ + case LPAREN: + /* We have to extract the contents of this paren substitution. */ + t_index = zindex + 1; + temp = extract_command_subst (string, &t_index); + zindex = t_index; + + /* For Posix.2-style `$(( ))' arithmetic substitution, + extract the expression and pass it to the evaluator. */ + if (temp && *temp == LPAREN) + { + char *temp2; + temp1 = temp + 1; + temp2 = savestring (temp1); + t_index = strlen (temp2) - 1; + + if (temp2[t_index] != RPAREN) + { + free (temp2); + goto comsub; + } + + /* Cut off ending `)' */ + temp2[t_index] = '\0'; + + /* Expand variables found inside the expression. */ + temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string); + free (temp2); + +arithsub: + /* No error messages. */ + this_command_name = (char *)NULL; + number = evalexp (temp1, &expok); + free (temp); + free (temp1); + if (expok == 0) + { + if (interactive_shell == 0 && posixly_correct) + { + last_command_exit_value = EXECUTION_FAILURE; + return (&expand_param_fatal); + } + else + return (&expand_param_error); + } + temp = itos (number); + break; + } + +comsub: + if (pflags & PF_NOCOMSUB) + /* we need zindex+1 because string[zindex] == RPAREN */ + temp1 = substring (string, *sindex, zindex+1); + else + temp1 = command_substitute (temp, quoted); + FREE (temp); + temp = temp1; + break; + + /* Do POSIX.2d9-style arithmetic substitution. This will probably go + away in a future bash release. */ + case '[': + /* Extract the contents of this arithmetic substitution. */ + t_index = zindex + 1; + temp = extract_arithmetic_subst (string, &t_index); + zindex = t_index; + + /* Do initial variable expansion. */ + temp1 = expand_string_if_necessary (temp, Q_DOUBLE_QUOTES, expand_string); + + goto arithsub; + + default: + /* Find the variable in VARIABLE_LIST. */ + temp = (char *)NULL; + + for (t_index = zindex; (c = string[zindex]) && legal_variable_char (c); zindex++) + ; + temp1 = (zindex > t_index) ? substring (string, t_index, zindex) : (char *)NULL; + + /* If this isn't a variable name, then just output the `$'. */ + if (temp1 == 0 || *temp1 == '\0') + { + FREE (temp1); + temp = (char *)xmalloc (2); + temp[0] = '$'; + temp[1] = '\0'; + if (expanded_something) + *expanded_something = 0; + goto return0; + } + + /* If the variable exists, return its value cell. */ + var = find_variable (temp1); + + if (var && invisible_p (var) == 0 && var_isset (var)) + { +#if defined (ARRAY_VARS) + if (array_p (var)) + { + temp = array_reference (array_cell (var), 0); + if (temp) + temp = (*temp && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))) + ? quote_string (temp) + : quote_escapes (temp); + else if (unbound_vars_is_error) + goto unbound_variable; + } + else +#endif + { + temp = value_cell (var); + + temp = (*temp && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))) + ? quote_string (temp) + : quote_escapes (temp); + } + + free (temp1); + + goto return0; + } + + temp = (char *)NULL; + +unbound_variable: + if (unbound_vars_is_error) + err_unboundvar (temp1); + else + { + free (temp1); + goto return0; + } + + free (temp1); + last_command_exit_value = EXECUTION_FAILURE; + return ((unbound_vars_is_error && interactive_shell == 0) + ? &expand_param_fatal + : &expand_param_error); + } + + if (string[zindex]) + zindex++; + +return0: + *sindex = zindex; + return (temp); +} + +/* Make a word list which is the result of parameter and variable + expansion, command substitution, arithmetic substitution, and + quote removal of WORD. Return a pointer to a WORD_LIST which is + the result of the expansion. If WORD contains a null word, the + word list returned is also null. + + QUOTED contains flag values defined in shell.h. + + ISEXP is used to tell expand_word_internal that the word should be + treated as the result of an expansion. This has implications for + how IFS characters in the word are treated. + + CONTAINS_DOLLAR_AT and EXPANDED_SOMETHING are return values; when non-null + they point to an integer value which receives information about expansion. + CONTAINS_DOLLAR_AT gets non-zero if WORD contained "$@", else zero. + EXPANDED_SOMETHING get non-zero if WORD contained any parameter expansions, + else zero. + + This only does word splitting in the case of $@ expansion. In that + case, we split on ' '. */ + +/* Values for the local variable quoted_state. */ +#define UNQUOTED 0 +#define PARTIALLY_QUOTED 1 +#define WHOLLY_QUOTED 2 + +static WORD_LIST * +expand_word_internal (word, quoted, isexp, contains_dollar_at, expanded_something) + WORD_DESC *word; + int quoted, isexp; + int *contains_dollar_at; + int *expanded_something; +{ + WORD_LIST *list; + WORD_DESC *tword; + + /* The intermediate string that we build while expanding. */ + char *istring; + + /* The current size of the above object. */ + int istring_size; + + /* Index into ISTRING. */ + int istring_index; + + /* Temporary string storage. */ + char *temp, *temp1; + + /* The text of WORD. */ + register char *string; + + /* The size of STRING. */ + size_t string_size; + + /* The index into STRING. */ + int sindex; + + /* This gets 1 if we see a $@ while quoted. */ + int quoted_dollar_at; + + /* One of UNQUOTED, PARTIALLY_QUOTED, or WHOLLY_QUOTED, depending on + whether WORD contains no quoting characters, a partially quoted + string (e.g., "xx"ab), or is fully quoted (e.g., "xxab"). */ + int quoted_state; + + int had_quoted_null; + int has_dollar_at; + int tflag; + + register unsigned char c; /* Current character. */ + int t_index; /* For calls to string_extract_xxx. */ + + char twochars[2]; + + DECLARE_MBSTATE; + + istring = (char *)xmalloc (istring_size = DEFAULT_INITIAL_ARRAY_SIZE); + istring[istring_index = 0] = '\0'; + quoted_dollar_at = had_quoted_null = has_dollar_at = 0; + quoted_state = UNQUOTED; + + string = word->word; + if (string == 0) + goto finished_with_string; + string_size = strlen (string); + + if (contains_dollar_at) + *contains_dollar_at = 0; + + /* Begin the expansion. */ + + for (sindex = 0; ;) + { + c = string[sindex]; + + /* Case on toplevel character. */ + switch (c) + { + case '\0': + goto finished_with_string; + + case CTLESC: + sindex++; +#if HANDLE_MULTIBYTE + if (MB_CUR_MAX > 1 && string[sindex]) + { + SADD_MBQCHAR_BODY(temp, string, sindex, string_size); + } + else +#endif + { + temp = (char *)xmalloc (3); + temp[0] = CTLESC; + temp[1] = c = string[sindex]; + temp[2] = '\0'; + } + +dollar_add_string: + if (string[sindex]) + sindex++; + +add_string: + if (temp) + { + istring = sub_append_string (temp, istring, &istring_index, &istring_size); + temp = (char *)0; + } + + break; + +#if defined (PROCESS_SUBSTITUTION) + /* Process substitution. */ + case '<': + case '>': + { + if (string[++sindex] != LPAREN || (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || posixly_correct) + { + sindex--; /* add_character: label increments sindex */ + goto add_character; + } + else + t_index = sindex + 1; /* skip past both '<' and LPAREN */ + + temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index); /*))*/ + sindex = t_index; + + /* If the process substitution specification is `<()', we want to + open the pipe for writing in the child and produce output; if + it is `>()', we want to open the pipe for reading in the child + and consume input. */ + temp = temp1 ? process_substitute (temp1, (c == '>')) : (char *)0; + + FREE (temp1); + + goto dollar_add_string; + } +#endif /* PROCESS_SUBSTITUTION */ + + case '$': + if (expanded_something) + *expanded_something = 1; + + has_dollar_at = 0; + temp = param_expand (string, &sindex, quoted, expanded_something, + &has_dollar_at, "ed_dollar_at, + &had_quoted_null, + (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0); + + if (temp == &expand_param_error || temp == &expand_param_fatal) + { + free (string); + free (istring); + return ((temp == &expand_param_error) ? &expand_word_error + : &expand_word_fatal); + } + if (contains_dollar_at && has_dollar_at) + *contains_dollar_at = 1; + goto add_string; + break; + + case '`': /* Backquoted command substitution. */ + { + t_index = sindex++; + + if (expanded_something) + *expanded_something = 1; + + temp = string_extract (string, &sindex, "`", 0); + if (word->flags & W_NOCOMSUB) + /* sindex + 1 because string[sindex] == '`' */ + temp1 = substring (string, t_index, sindex + 1); + else + { + de_backslash (temp); + temp1 = command_substitute (temp, quoted); + } + FREE (temp); + temp = temp1; + goto dollar_add_string; + } + + case '\\': + if (string[sindex + 1] == '\n') + { + sindex += 2; + continue; + } + + c = string[++sindex]; + + if (quoted & Q_HERE_DOCUMENT) + tflag = CBSHDOC; + else if (quoted & Q_DOUBLE_QUOTES) + tflag = CBSDQUOTE; + else + tflag = 0; + + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && ((sh_syntaxtab[c] & tflag) == 0)) + { + SCOPY_CHAR_I (twochars, '\\', c, string, sindex, string_size); + } + else if (c == 0) + { + c = CTLNUL; + sindex--; /* add_character: label increments sindex */ + goto add_character; + } + else + { + SCOPY_CHAR_I (twochars, CTLESC, c, string, sindex, string_size); + } + + sindex++; +add_twochars: + /* BEFORE jumping here, we need to increment sindex if appropriate */ + RESIZE_MALLOCED_BUFFER (istring, istring_index, 2, istring_size, + DEFAULT_ARRAY_SIZE); + istring[istring_index++] = twochars[0]; + istring[istring_index++] = twochars[1]; + istring[istring_index] = '\0'; + + break; + + case '"': +#if 0 + if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT|Q_PATQUOTE)) +#else + if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) +#endif + goto add_character; + + t_index = ++sindex; + temp = string_extract_double_quoted (string, &sindex, 0); + + /* If the quotes surrounded the entire string, then the + whole word was quoted. */ + quoted_state = (t_index == 1 && string[sindex] == '\0') + ? WHOLLY_QUOTED + : PARTIALLY_QUOTED; + + if (temp && *temp) + { + tword = make_word (temp); /* XXX */ + free (temp); + temp = (char *)NULL; + + has_dollar_at = 0; + list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &has_dollar_at, (int *)NULL); + + if (list == &expand_word_error || list == &expand_word_fatal) + { + free (istring); + free (string); + /* expand_word_internal has already freed temp_word->word + for us because of the way it prints error messages. */ + tword->word = (char *)NULL; + dispose_word (tword); + return list; + } + + dispose_word (tword); + + /* "$@" (a double-quoted dollar-at) expands into nothing, + not even a NULL word, when there are no positional + parameters. */ + if (list == 0 && has_dollar_at) + { + quoted_dollar_at++; + break; + } + + /* If we get "$@", we know we have expanded something, so we + need to remember it for the final split on $IFS. This is + a special case; it's the only case where a quoted string + can expand into more than one word. It's going to come back + from the above call to expand_word_internal as a list with + a single word, in which all characters are quoted and + separated by blanks. What we want to do is to turn it back + into a list for the next piece of code. */ + if (list) + dequote_list (list); + + if (has_dollar_at) + { + quoted_dollar_at++; + if (contains_dollar_at) + *contains_dollar_at = 1; + if (expanded_something) + *expanded_something = 1; + } + } + else + { + /* What we have is "". This is a minor optimization. */ + FREE (temp); + list = (WORD_LIST *)NULL; + } + + /* The code above *might* return a list (consider the case of "$@", + where it returns "$1", "$2", etc.). We can't throw away the + rest of the list, and we have to make sure each word gets added + as quoted. We test on tresult->next: if it is non-NULL, we + quote the whole list, save it to a string with string_list, and + add that string. We don't need to quote the results of this + (and it would be wrong, since that would quote the separators + as well), so we go directly to add_string. */ + if (list) + { + if (list->next) + { + /* Testing quoted_dollar_at makes sure that "$@" is + split correctly when $IFS does not contain a space. */ + temp = quoted_dollar_at + ? string_list_dollar_at (list, Q_DOUBLE_QUOTES) + : string_list (quote_list (list)); + dispose_words (list); + goto add_string; + } + else + { + temp = savestring (list->word->word); + dispose_words (list); +#if 1 + /* If the string is not a quoted null string, we want + to remove any embedded unquoted CTLNUL characters. + We do not want to turn quoted null strings back into + the empty string, though. We do this because we + want to remove any quoted nulls from expansions that + contain other characters. For example, if we have + x"$*"y or "x$*y" and there are no positional parameters, + the $* should expand into nothing. */ + /* HOWEVER, this fails if the string contains a literal + CTLNUL or CTLNUL is contained in the (non-null) expansion + of some variable. I'm not sure what to do about this + yet. There has to be some way to indicate the difference + between the two. An auxiliary data structure might be + necessary. */ + if (QUOTED_NULL (temp) == 0) + remove_quoted_nulls (temp); /* XXX */ +#endif + } + } + else + temp = (char *)NULL; + + /* We do not want to add quoted nulls to strings that are only + partially quoted; we can throw them away. */ + if (temp == 0 && quoted_state == PARTIALLY_QUOTED) + continue; + + add_quoted_string: + + if (temp) + { + temp1 = temp; + temp = quote_string (temp); + free (temp1); + goto add_string; + } + else + { + /* Add NULL arg. */ + c = CTLNUL; + sindex--; /* add_character: label increments sindex */ + goto add_character; + } + + /* break; */ + + case '\'': +#if 0 + if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT|Q_PATQUOTE)) +#else + if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) +#endif + goto add_character; + + t_index = ++sindex; + temp = string_extract_single_quoted (string, &sindex); + + /* If the entire STRING was surrounded by single quotes, + then the string is wholly quoted. */ + quoted_state = (t_index == 1 && string[sindex] == '\0') + ? WHOLLY_QUOTED + : PARTIALLY_QUOTED; + + /* If all we had was '', it is a null expansion. */ + if (*temp == '\0') + { + free (temp); + temp = (char *)NULL; + } + else + remove_quoted_escapes (temp); /* ??? */ + + /* We do not want to add quoted nulls to strings that are only + partially quoted; such nulls are discarded. */ + if (temp == 0 && (quoted_state == PARTIALLY_QUOTED)) + continue; + + /* If we have a quoted null expansion, add a quoted NULL to istring. */ + if (temp == 0) + { + c = CTLNUL; + sindex--; /* add_character: label increments sindex */ + goto add_character; + } + else + goto add_quoted_string; + + /* break; */ + + default: + /* This is the fix for " $@ " */ + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (isexp == 0 && isifs (c))) + { + if (string[sindex]) /* from old goto dollar_add_string */ + sindex++; + if (c == 0) + { + c = CTLNUL; + goto add_character; + } + else + { +#if HANDLE_MULTIBYTE + if (MB_CUR_MAX > 1) + sindex--; + + if (MB_CUR_MAX > 1) + { + SADD_MBQCHAR_BODY(temp, string, sindex, string_size); + } + else +#endif + { + twochars[0] = CTLESC; + twochars[1] = c; + goto add_twochars; + } + } + } + + SADD_MBCHAR (temp, string, sindex, string_size); + + add_character: + RESIZE_MALLOCED_BUFFER (istring, istring_index, 1, istring_size, + DEFAULT_ARRAY_SIZE); + istring[istring_index++] = c; + istring[istring_index] = '\0'; + + /* Next character. */ + sindex++; + } + } + +finished_with_string: + /* OK, we're ready to return. If we have a quoted string, and + quoted_dollar_at is not set, we do no splitting at all; otherwise + we split on ' '. The routines that call this will handle what to + do if nothing has been expanded. */ + + /* Partially and wholly quoted strings which expand to the empty + string are retained as an empty arguments. Unquoted strings + which expand to the empty string are discarded. The single + exception is the case of expanding "$@" when there are no + positional parameters. In that case, we discard the expansion. */ + + /* Because of how the code that handles "" and '' in partially + quoted strings works, we need to make ISTRING into a QUOTED_NULL + if we saw quoting characters, but the expansion was empty. + "" and '' are tossed away before we get to this point when + processing partially quoted strings. This makes "" and $xxx"" + equivalent when xxx is unset. We also look to see whether we + saw a quoted null from a ${} expansion and add one back if we + need to. */ + + /* If we expand to nothing and there were no single or double quotes + in the word, we throw it away. Otherwise, we return a NULL word. + The single exception is for $@ surrounded by double quotes when + there are no positional parameters. In that case, we also throw + the word away. */ + + if (*istring == '\0') + { + if (quoted_dollar_at == 0 && (had_quoted_null || quoted_state == PARTIALLY_QUOTED)) + { + istring[0] = CTLNUL; + istring[1] = '\0'; + tword = make_bare_word (istring); + list = make_word_list (tword, (WORD_LIST *)NULL); + if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) + tword->flags |= W_QUOTED; + } + /* According to sh, ksh, and Posix.2, if a word expands into nothing + and a double-quoted "$@" appears anywhere in it, then the entire + word is removed. */ + else if (quoted_state == UNQUOTED || quoted_dollar_at) + list = (WORD_LIST *)NULL; +#if 0 + else + { + tword = make_bare_word (istring); + list = make_word_list (tword, (WORD_LIST *)NULL); + if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) + tword->flags |= W_QUOTED; + } +#else + else + list = (WORD_LIST *)NULL; +#endif + } + else if (word->flags & W_NOSPLIT) + { + tword = make_bare_word (istring); + list = make_word_list (tword, (WORD_LIST *)NULL); + if (word->flags & W_ASSIGNMENT) + tword->flags |= W_ASSIGNMENT; /* XXX */ + if (word->flags & W_NOGLOB) + tword->flags |= W_NOGLOB; /* XXX */ + if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) + tword->flags |= W_QUOTED; + } + else + { + char *ifs_chars; + + ifs_chars = (quoted_dollar_at || has_dollar_at) ? ifs_value : (char *)NULL; + + /* If we have $@, we need to split the results no matter what. If + IFS is unset or NULL, string_list_dollar_at has separated the + positional parameters with a space, so we split on space (we have + set ifs_chars to " \t\n" above if ifs is unset). If IFS is set, + string_list_dollar_at has separated the positional parameters + with the first character of $IFS, so we split on $IFS. */ + if (has_dollar_at && ifs_chars) + list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1); + else + { + tword = make_bare_word (istring); + list = make_word_list (tword, (WORD_LIST *)NULL); + if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (quoted_state == WHOLLY_QUOTED)) + tword->flags |= W_QUOTED; + if (word->flags & W_ASSIGNMENT) + tword->flags |= W_ASSIGNMENT; + if (word->flags & W_NOGLOB) + tword->flags |= W_NOGLOB; + } + } + + free (istring); + return (list); +} + +/* **************************************************************** */ +/* */ +/* Functions for Quote Removal */ +/* */ +/* **************************************************************** */ + +/* Perform quote removal on STRING. If QUOTED > 0, assume we are obeying the + backslash quoting rules for within double quotes or a here document. */ +char * +string_quote_removal (string, quoted) + char *string; + int quoted; +{ + size_t slen; + char *r, *result_string, *temp, *send; + int sindex, tindex, dquote; + unsigned char c; + DECLARE_MBSTATE; + + /* The result can be no longer than the original string. */ + slen = strlen (string); + send = string + slen; + + r = result_string = (char *)xmalloc (slen + 1); + + for (dquote = sindex = 0; c = string[sindex];) + { + switch (c) + { + case '\\': + c = string[++sindex]; + if (((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || dquote) && (sh_syntaxtab[c] & CBSDQUOTE) == 0) + *r++ = '\\'; + /* FALLTHROUGH */ + + default: + SCOPY_CHAR_M (r, string, send, sindex); + break; + + case '\'': + if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || dquote) + { + *r++ = c; + sindex++; + break; + } + tindex = sindex + 1; + temp = string_extract_single_quoted (string, &tindex); + if (temp) + { + strcpy (r, temp); + r += strlen (r); + free (temp); + } + sindex = tindex; + break; + + case '"': + dquote = 1 - dquote; + sindex++; + break; + } + } + *r = '\0'; + return (result_string); +} + +#if 0 +/* UNUSED */ +/* Perform quote removal on word WORD. This allocates and returns a new + WORD_DESC *. */ +WORD_DESC * +word_quote_removal (word, quoted) + WORD_DESC *word; + int quoted; +{ + WORD_DESC *w; + char *t; + + t = string_quote_removal (word->word, quoted); + w = make_bare_word (t); + free (t); + return (w); +} + +/* Perform quote removal on all words in LIST. If QUOTED is non-zero, + the members of the list are treated as if they are surrounded by + double quotes. Return a new list, or NULL if LIST is NULL. */ +WORD_LIST * +word_list_quote_removal (list, quoted) + WORD_LIST *list; + int quoted; +{ + WORD_LIST *result, *t, *tresult; + + for (t = list, result = (WORD_LIST *)NULL; t; t = t->next) + { + tresult = make_word_list (word_quote_removal (t->word, quoted), (WORD_LIST *)NULL); + result = (WORD_LIST *) list_append (result, tresult); + } + return (result); +} +#endif + +/******************************************* + * * + * Functions to perform word splitting * + * * + *******************************************/ + +void +setifs (v) + SHELL_VAR *v; +{ + char *t; + unsigned char uc; + + ifs_var = v; + ifs_value = v ? value_cell (v) : " \t\n"; + + /* Should really merge ifs_cmap with sh_syntaxtab. */ + memset (ifs_cmap, '\0', sizeof (ifs_cmap)); + for (t = ifs_value ; t && *t; t++) + { + uc = *t; + ifs_cmap[uc] = 1; + } + + ifs_firstc = ifs_value ? *ifs_value : 0; +} + +char * +getifs () +{ + return ifs_value; +} + +/* This splits a single word into a WORD LIST on $IFS, but only if the word + is not quoted. list_string () performs quote removal for us, even if we + don't do any splitting. */ +WORD_LIST * +word_split (w, ifs_chars) + WORD_DESC *w; + char *ifs_chars; +{ + WORD_LIST *result; + + if (w) + { + char *xifs; + + xifs = ((w->flags & W_QUOTED) || ifs_chars == 0) ? "" : ifs_chars; + result = list_string (w->word, xifs, w->flags & W_QUOTED); + } + else + result = (WORD_LIST *)NULL; + + return (result); +} + +/* Perform word splitting on LIST and return the RESULT. It is possible + to return (WORD_LIST *)NULL. */ +static WORD_LIST * +word_list_split (list) + WORD_LIST *list; +{ + WORD_LIST *result, *t, *tresult; + + for (t = list, result = (WORD_LIST *)NULL; t; t = t->next) + { + tresult = word_split (t->word, ifs_value); + result = (WORD_LIST *) list_append (result, tresult); + } + return (result); +} + +/************************************************** + * * + * Functions to expand an entire WORD_LIST * + * * + **************************************************/ + +/* Do any word-expansion-specific cleanup and jump to top_level */ +static void +exp_jump_to_top_level (v) + int v; +{ + /* Cleanup code goes here. */ + expand_no_split_dollar_star = 0; /* XXX */ + expanding_redir = 0; + + jump_to_top_level (v); +} + +/* Put NLIST (which is a WORD_LIST * of only one element) at the front of + ELIST, and set ELIST to the new list. */ +#define PREPEND_LIST(nlist, elist) \ + do { nlist->next = elist; elist = nlist; } while (0) + +/* Separate out any initial variable assignments from TLIST. If set -k has + been executed, remove all assignment statements from TLIST. Initial + variable assignments and other environment assignments are placed + on SUBST_ASSIGN_VARLIST. */ +static WORD_LIST * +separate_out_assignments (tlist) + WORD_LIST *tlist; +{ + register WORD_LIST *vp, *lp; + + if (!tlist) + return ((WORD_LIST *)NULL); + + if (subst_assign_varlist) + dispose_words (subst_assign_varlist); /* Clean up after previous error */ + + subst_assign_varlist = (WORD_LIST *)NULL; + vp = lp = tlist; + + /* Separate out variable assignments at the start of the command. + Loop invariant: vp->next == lp + Loop postcondition: + lp = list of words left after assignment statements skipped + tlist = original list of words + */ + while (lp && (lp->word->flags & W_ASSIGNMENT)) + { + vp = lp; + lp = lp->next; + } + + /* If lp != tlist, we have some initial assignment statements. + We make SUBST_ASSIGN_VARLIST point to the list of assignment + words and TLIST point to the remaining words. */ + if (lp != tlist) + { + subst_assign_varlist = tlist; + /* ASSERT(vp->next == lp); */ + vp->next = (WORD_LIST *)NULL; /* terminate variable list */ + tlist = lp; /* remainder of word list */ + } + + /* vp == end of variable list */ + /* tlist == remainder of original word list without variable assignments */ + if (!tlist) + /* All the words in tlist were assignment statements */ + return ((WORD_LIST *)NULL); + + /* ASSERT(tlist != NULL); */ + /* ASSERT((tlist->word->flags & W_ASSIGNMENT) == 0); */ + + /* If the -k option is in effect, we need to go through the remaining + words, separate out the assignment words, and place them on + SUBST_ASSIGN_VARLIST. */ + if (place_keywords_in_env) + { + WORD_LIST *tp; /* tp == running pointer into tlist */ + + tp = tlist; + lp = tlist->next; + + /* Loop Invariant: tp->next == lp */ + /* Loop postcondition: tlist == word list without assignment statements */ + while (lp) + { + if (lp->word->flags & W_ASSIGNMENT) + { + /* Found an assignment statement, add this word to end of + subst_assign_varlist (vp). */ + if (!subst_assign_varlist) + subst_assign_varlist = vp = lp; + else + { + vp->next = lp; + vp = lp; + } + + /* Remove the word pointed to by LP from TLIST. */ + tp->next = lp->next; + /* ASSERT(vp == lp); */ + lp->next = (WORD_LIST *)NULL; + lp = tp->next; + } + else + { + tp = lp; + lp = lp->next; + } + } + } + return (tlist); +} + +#define WEXP_VARASSIGN 0x001 +#define WEXP_BRACEEXP 0x002 +#define WEXP_TILDEEXP 0x004 +#define WEXP_PARAMEXP 0x008 +#define WEXP_PATHEXP 0x010 + +/* All of the expansions, including variable assignments at the start of + the list. */ +#define WEXP_ALL (WEXP_VARASSIGN|WEXP_BRACEEXP|WEXP_TILDEEXP|WEXP_PARAMEXP|WEXP_PATHEXP) + +/* All of the expansions except variable assignments at the start of + the list. */ +#define WEXP_NOVARS (WEXP_BRACEEXP|WEXP_TILDEEXP|WEXP_PARAMEXP|WEXP_PATHEXP) + +/* All of the `shell expansions': brace expansion, tilde expansion, parameter + expansion, command substitution, arithmetic expansion, word splitting, and + quote removal. */ +#define WEXP_SHELLEXP (WEXP_BRACEEXP|WEXP_TILDEEXP|WEXP_PARAMEXP) + +/* Take the list of words in LIST and do the various substitutions. Return + a new list of words which is the expanded list, and without things like + variable assignments. */ + +WORD_LIST * +expand_words (list) + WORD_LIST *list; +{ + return (expand_word_list_internal (list, WEXP_ALL)); +} + +/* Same as expand_words (), but doesn't hack variable or environment + variables. */ +WORD_LIST * +expand_words_no_vars (list) + WORD_LIST *list; +{ + return (expand_word_list_internal (list, WEXP_NOVARS)); +} + +WORD_LIST * +expand_words_shellexp (list) + WORD_LIST *list; +{ + return (expand_word_list_internal (list, WEXP_SHELLEXP)); +} + +static WORD_LIST * +glob_expand_word_list (tlist, eflags) + WORD_LIST *tlist; + int eflags; +{ + char **glob_array, *temp_string; + register int glob_index; + WORD_LIST *glob_list, *output_list, *disposables, *next; + WORD_DESC *tword; + + output_list = disposables = (WORD_LIST *)NULL; + glob_array = (char **)NULL; + while (tlist) + { + /* For each word, either globbing is attempted or the word is + added to orig_list. If globbing succeeds, the results are + added to orig_list and the word (tlist) is added to the list + of disposable words. If globbing fails and failed glob + expansions are left unchanged (the shell default), the + original word is added to orig_list. If globbing fails and + failed glob expansions are removed, the original word is + added to the list of disposable words. orig_list ends up + in reverse order and requires a call to REVERSE_LIST to + be set right. After all words are examined, the disposable + words are freed. */ + next = tlist->next; + + /* If the word isn't an assignment and contains an unquoted + pattern matching character, then glob it. */ + if ((tlist->word->flags & W_NOGLOB) == 0 && + unquoted_glob_pattern_p (tlist->word->word)) + { + glob_array = shell_glob_filename (tlist->word->word); + + /* Handle error cases. + I don't think we should report errors like "No such file + or directory". However, I would like to report errors + like "Read failed". */ + + if (glob_array == 0 || GLOB_FAILED (glob_array)) + { + glob_array = (char **)xmalloc (sizeof (char *)); + glob_array[0] = (char *)NULL; + } + + /* Dequote the current word in case we have to use it. */ + if (glob_array[0] == NULL) + { + temp_string = dequote_string (tlist->word->word); + free (tlist->word->word); + tlist->word->word = temp_string; + } + + /* Make the array into a word list. */ + glob_list = (WORD_LIST *)NULL; + for (glob_index = 0; glob_array[glob_index]; glob_index++) + { + tword = make_bare_word (glob_array[glob_index]); + tword->flags |= W_GLOBEXP; /* XXX */ + glob_list = make_word_list (tword, glob_list); + } + + if (glob_list) + { + output_list = (WORD_LIST *)list_append (glob_list, output_list); + PREPEND_LIST (tlist, disposables); + } + else if (fail_glob_expansion != 0) + { + report_error (_("no match: %s"), tlist->word->word); + jump_to_top_level (DISCARD); + } + else if (allow_null_glob_expansion == 0) + { + /* Failed glob expressions are left unchanged. */ + PREPEND_LIST (tlist, output_list); + } + else + { + /* Failed glob expressions are removed. */ + PREPEND_LIST (tlist, disposables); + } + } + else + { + /* Dequote the string. */ + temp_string = dequote_string (tlist->word->word); + free (tlist->word->word); + tlist->word->word = temp_string; + PREPEND_LIST (tlist, output_list); + } + + strvec_dispose (glob_array); + glob_array = (char **)NULL; + + tlist = next; + } + + if (disposables) + dispose_words (disposables); + + if (output_list) + output_list = REVERSE_LIST (output_list, WORD_LIST *); + + return (output_list); +} + +#if defined (BRACE_EXPANSION) +static WORD_LIST * +brace_expand_word_list (tlist, eflags) + WORD_LIST *tlist; + int eflags; +{ + register char **expansions; + char *temp_string; + WORD_LIST *disposables, *output_list, *next; + WORD_DESC *w; + int eindex; + + for (disposables = output_list = (WORD_LIST *)NULL; tlist; tlist = next) + { + next = tlist->next; + + /* Only do brace expansion if the word has a brace character. If + not, just add the word list element to BRACES and continue. In + the common case, at least when running shell scripts, this will + degenerate to a bunch of calls to `xstrchr', and then what is + basically a reversal of TLIST into BRACES, which is corrected + by a call to REVERSE_LIST () on BRACES when the end of TLIST + is reached. */ + if (xstrchr (tlist->word->word, LBRACE)) + { + expansions = brace_expand (tlist->word->word); + + for (eindex = 0; temp_string = expansions[eindex]; eindex++) + { + w = make_word (temp_string); + /* If brace expansion didn't change the word, preserve + the flags. We may want to preserve the flags + unconditionally someday -- XXX */ + if (STREQ (temp_string, tlist->word->word)) + w->flags = tlist->word->flags; + output_list = make_word_list (w, output_list); + free (expansions[eindex]); + } + free (expansions); + + /* Add TLIST to the list of words to be freed after brace + expansion has been performed. */ + PREPEND_LIST (tlist, disposables); + } + else + PREPEND_LIST (tlist, output_list); + } + + if (disposables) + dispose_words (disposables); + + if (output_list) + output_list = REVERSE_LIST (output_list, WORD_LIST *); + + return (output_list); +} +#endif + +static WORD_LIST * +shell_expand_word_list (tlist, eflags) + WORD_LIST *tlist; + int eflags; +{ + WORD_LIST *expanded, *orig_list, *new_list, *next, *temp_list; + int expanded_something, has_dollar_at; + char *temp_string; + + /* We do tilde expansion all the time. This is what 1003.2 says. */ + new_list = (WORD_LIST *)NULL; + for (orig_list = tlist; tlist; tlist = next) + { + temp_string = tlist->word->word; + + next = tlist->next; + + /* Posix.2 section 3.6.1 says that tildes following `=' in words + which are not assignment statements are not expanded. If the + shell isn't in posix mode, though, we perform tilde expansion + on `likely candidate' unquoted assignment statements (flags + include W_ASSIGNMENT but not W_QUOTED). A likely candidate + contains an unquoted :~ or =~. Something to think about: we + now have a flag that says to perform tilde expansion on arguments + to `assignment builtins' like declare and export that look like + assignment statements. We now do tilde expansion on such words + even in POSIX mode. */ + if (((tlist->word->flags & (W_ASSIGNMENT|W_QUOTED)) == W_ASSIGNMENT) && + (posixly_correct == 0 || (tlist->word->flags & W_TILDEEXP)) && + (unquoted_substring ("=~", temp_string) || unquoted_substring (":~", temp_string))) + { + tlist->word->word = bash_tilde_expand (temp_string, 1); + free (temp_string); + } + else if (temp_string[0] == '~') + { + tlist->word->word = bash_tilde_expand (temp_string, 0); + free (temp_string); + } + + expanded_something = 0; + expanded = expand_word_internal + (tlist->word, 0, 0, &has_dollar_at, &expanded_something); + + if (expanded == &expand_word_error || expanded == &expand_word_fatal) + { + /* By convention, each time this error is returned, + tlist->word->word has already been freed. */ + tlist->word->word = (char *)NULL; + + /* Dispose our copy of the original list. */ + dispose_words (orig_list); + /* Dispose the new list we're building. */ + dispose_words (new_list); + + last_command_exit_value = EXECUTION_FAILURE; + if (expanded == &expand_word_error) + exp_jump_to_top_level (DISCARD); + else + exp_jump_to_top_level (FORCE_EOF); + } + + /* Don't split words marked W_NOSPLIT. */ + if (expanded_something && (tlist->word->flags & W_NOSPLIT) == 0) + { + temp_list = word_list_split (expanded); + dispose_words (expanded); + } + else + { + /* If no parameter expansion, command substitution, process + substitution, or arithmetic substitution took place, then + do not do word splitting. We still have to remove quoted + null characters from the result. */ + word_list_remove_quoted_nulls (expanded); + temp_list = expanded; + } + + expanded = REVERSE_LIST (temp_list, WORD_LIST *); + new_list = (WORD_LIST *)list_append (expanded, new_list); + } + + if (orig_list) + dispose_words (orig_list); + + if (new_list) + new_list = REVERSE_LIST (new_list, WORD_LIST *); + + return (new_list); +} + +/* The workhorse for expand_words () and expand_words_no_vars (). + First arg is LIST, a WORD_LIST of words. + Second arg EFLAGS is a flags word controlling which expansions are + performed. + + This does all of the substitutions: brace expansion, tilde expansion, + parameter expansion, command substitution, arithmetic expansion, + process substitution, word splitting, and pathname expansion, according + to the bits set in EFLAGS. Words with the W_QUOTED or W_NOSPLIT bits + set, or for which no expansion is done, do not undergo word splitting. + Words with the W_NOGLOB bit set do not undergo pathname expansion. */ +static WORD_LIST * +expand_word_list_internal (list, eflags) + WORD_LIST *list; + int eflags; +{ + WORD_LIST *new_list, *temp_list; + int tint; + + if (list == 0) + return ((WORD_LIST *)NULL); + + garglist = new_list = copy_word_list (list); + if (eflags & WEXP_VARASSIGN) + { + garglist = new_list = separate_out_assignments (new_list); + if (new_list == 0) + { + if (subst_assign_varlist) + { + /* All the words were variable assignments, so they are placed + into the shell's environment. */ + for (temp_list = subst_assign_varlist; temp_list; temp_list = temp_list->next) + { + this_command_name = (char *)NULL; /* no arithmetic errors */ + tint = do_assignment (temp_list->word->word); + /* Variable assignment errors in non-interactive shells + running in Posix.2 mode cause the shell to exit. */ + if (tint == 0) + { + last_command_exit_value = EXECUTION_FAILURE; + if (interactive_shell == 0 && posixly_correct) + exp_jump_to_top_level (FORCE_EOF); + else + exp_jump_to_top_level (DISCARD); + } + } + dispose_words (subst_assign_varlist); + subst_assign_varlist = (WORD_LIST *)NULL; + } + return ((WORD_LIST *)NULL); + } + } + + /* Begin expanding the words that remain. The expansions take place on + things that aren't really variable assignments. */ + +#if defined (BRACE_EXPANSION) + /* Do brace expansion on this word if there are any brace characters + in the string. */ + if ((eflags & WEXP_BRACEEXP) && brace_expansion && new_list) + new_list = brace_expand_word_list (new_list, eflags); +#endif /* BRACE_EXPANSION */ + + /* Perform the `normal' shell expansions: tilde expansion, parameter and + variable substitution, command substitution, arithmetic expansion, + and word splitting. */ + new_list = shell_expand_word_list (new_list, eflags); + + /* Okay, we're almost done. Now let's just do some filename + globbing. */ + if (new_list) + { + if ((eflags & WEXP_PATHEXP) && disallow_filename_globbing == 0) + /* Glob expand the word list unless globbing has been disabled. */ + new_list = glob_expand_word_list (new_list, eflags); + else + /* Dequote the words, because we're not performing globbing. */ + new_list = dequote_list (new_list); + } + + if ((eflags & WEXP_VARASSIGN) && subst_assign_varlist) + { + sh_assign_func_t *assign_func; + + /* If the remainder of the words expand to nothing, Posix.2 requires + that the variable and environment assignments affect the shell's + environment. */ + assign_func = new_list ? assign_in_env : do_assignment; + + for (temp_list = subst_assign_varlist; temp_list; temp_list = temp_list->next) + { + this_command_name = (char *)NULL; + tint = (*assign_func) (temp_list->word->word); + /* Variable assignment errors in non-interactive shells running + in Posix.2 mode cause the shell to exit. */ + if (tint == 0 && assign_func == do_assignment) + { + last_command_exit_value = EXECUTION_FAILURE; + if (interactive_shell == 0 && posixly_correct) + exp_jump_to_top_level (FORCE_EOF); + else + exp_jump_to_top_level (DISCARD); + } + } + + dispose_words (subst_assign_varlist); + subst_assign_varlist = (WORD_LIST *)NULL; + } + +#if 0 + tint = list_length (new_list) + 1; + RESIZE_MALLOCED_BUFFER (glob_argv_flags, 0, tint, glob_argv_flags_size, 16); + for (tint = 0, temp_list = new_list; temp_list; temp_list = temp_list->next) + glob_argv_flags[tint++] = (temp_list->word->flags & W_GLOBEXP) ? '1' : '0'; + glob_argv_flags[tint] = '\0'; +#endif + + return (new_list); +} diff --git a/support/mkconffiles b/support/mkconffiles old mode 100755 new mode 100644 diff --git a/support/mkversion.sh b/support/mkversion.sh old mode 100755 new mode 100644 diff --git a/support/rlvers.sh b/support/rlvers.sh old mode 100755 new mode 100644