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 7e4b82dfa..00fedc65c 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 a927f90d8..2cfb65473 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 zc-oBHQ{{~=Wn z5u;_KV}>FfyN)Y_Vk2N6us5=T;^Co}F|{*yu^?do$3}@>%+kii)QNyz%*N2gRK(QS z-o%uT56aoa$<)vm$|HM5OWS#C6xDC7Zar)|IX4~q`f!(TqV=-Ag>=kl(~L$Q93&0J z2qE9G;hN_e{W$J9@VDXY8g?HkF-69F^I90cg@@KA=v3AVns;Neg%DT2kP-m48lp*zLVQjKTm8F54L+G%s`Ptkhl8FDyQIBexh*lB6yo8 z+7c@U#NW~J=lkYx#>vsuv#%vLM~fOjJ!`zs@>*K_kC*0&&5-Y9h?tdoRx((DAM4!J z4qmW+%Afw<+eRzd$?DD54Yl~fOOYmfkZ)MG2`-}K%V;qfdw_*;m2>}8dgaL^7TK|Z z^tT*~nNwOzkyf&-(p^dAHe8gH+OR<^>h+r_+WLX8xn)%>` ze&115&5hN3H9hvP&IyIuUev5!66^$5U*KQ1#0z4dq&EUA`I_0l&riiAeq!Ix8 z2*;D_(+KMq&wWo8DKSM}!>@QI+>mJjf?#SewH7q%#T66M{t8cB+e2OKqa z=8luS6Es9n_jBA#c+nP8`mD~qAf#ORkA_RKGUM1Nu#-9yHvPRY5j@xq9uLI?n;yDi zr~F9Q%1Jo6<%+N6mp=R;#`mNCo#RHZWVOnMiYcX11sF;z9EY$|_R77T z$Ve321V-W{SlmI}4gMAJMq;vwGkg}3k6vKOEB?+-2e1;;;~C-GQcD5fIUuXGfaKUJ zVJz5n9N=wfdwEarMxt<8t*j(5OK{LVk)lV&a(FdsLa^LJx0QfWjd+^EPNK4WuS6aK zW`QC~qyi+&Xkm1$6{6a`z=imX})?nE<;1TFSnnpy6zk$I6r@GDjS;af2VP%_14B`b;%0Tx51sR*D&| zw5=&XG|}6>JCiW8QjKB7JBAT9c}A?(T+w@7g2wc-SlHoQrgw6bXg!{>6{+Tuqc)Bo>^(tgnak~7wO)YvFoBFS{dD3d z=~=TTtw>Nl2_We;cVv^@_$3NYiv!#%zq(>}Jc*sH2fC1!kK!}B8W~=DEf6B$m zufY@I1o0PuE3Y;KZT%UpgLep*WtMw;+Vy&MdGz(V15(cqSE$3P0KrfCR+<47Ea_pu zmRgreL32+Yz^@|G(wla8=f~M($f{wcv5@jBSq+#0bnr6oV2#*~!fNtC>~ymY!?@6C zozTlDBu&f-!GlPEe#o5HFy6Uf4<8&he1F!v3~1% z^Yd6YLfS|yLajJ@tXIOnS32P<`BUJ&nf{gwNQ|bdR_Y7gFF9cfG|M7^ROsA84$s$k zAFGr%@Jaej`#N%m1`DDxQ$EZzP(Ws5Y$QUDjfCFcWeGj5b#lFO#9t?j@eW=0FCgSd z5Ti�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
|ZB`LEu5{{|X{Uy9UubCk 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 PP8oXl-Q!*uKlJ|rRX3XX literal 307165 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

-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

5Eb>c`j`lFK2HJeq_rkdAX** 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 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 zc-l?Ue`r%z6bJBp?@eR!@?M_p6gTYZYGnRuY}&+bcHLYZ^~a#=v=y{WTp-Z~W70N> z-JCE4H(?TKcw1kYo4=4+mp>f7=y9M!vC766BkM}HwJQ`1SP^DdI@qtW*JgD0j|2Cf z&$;(p?!CQPcW>6+?Ut)I)K+InGYgKk4ZoU50o)}}}#5Km~y_U^{9U?33+ zYSsU3v5>D}o_CBoexnH7_{09#gL}rqnisqv^Ul-R^OiEPZ;c6-h~^+ zgUflQ7uVPp8RJ*JmT=0*+}zFZ)@;oZ{oNyY#;Ch>Si$!OeS1W~F(H3oq~8G;i}KS7 z#)W+SRN9GQV{qm#8E5D7D@c+NQt%12KZU!BjxyVmg?z_KWSrpiv=2=scqpvsZ-AaFBik}s<&Iy^)tYSS4o&a|Vt=&}oF_tR0K%R?`Ro3^XK*?+P zLWP|w?;$I*yMGI`Y!DkAxI%kJG3rExAcr1czXJ{$n}pqk%>Qz=oc$^zOT`N7RWT+k zxnIhxD!OQ5Eqlq1YXy1y4=blP{p_%eX&QN%Wo7gW@>L_NSFwkrJuIMNSda@5=67NP z{nW*(RP+h*%5i3u@gr^3*f$au&&zUZJk9d5Ydm%4H;W}T_sM?o>$z@TMI9MdE5Rbv z=C86c1#gq}4x3bv6QnZ78l1R8$x+rSW0N3`36_%ZDd|(JUP7?&CZ^n%&__ddep$wO z;h;Ac^Bx;^P)jNI$tV}()++v?gq^h0$BQ_Y7v%HT_%ce@@XwrBMRl9_8!{Y)7N!h2 zu#eu~#bYX(h4P9vKHxIXI(dkD6nr@^Wz=$v$7DRBfo{Iph4ifWY2z7QC7D;(afwG1 z{q-DQPbI{6Dag=)0iKufJehUpIp>ci^xuEr<)wV)gFrN>b+yIfAuSwjPbRe4d8o59 z)~S1j_|hdO&&}O*BG$wE_9a4{2gA`oB(BlkA^wpKWyhySxEWS6ip;Rl^vDAD%)ckE Bl-vLS delta 1018 zc-l>oeMnVz7{~AT_uQ-Zo_o$cy%5oABeP+yY4=60l;CcbSU@UK2*!pGC^W&_!#nG0FX*{>&6pFXbn7(>#Rjj_vS#&Q}Zxoit8e(;|Mkw3=>0#%#SWUFP!PvgFrFf(~+E7t$ z1m7Q`&?l)yodwbQDkJel0nIc^=#&dCbHY8Ag+I;5;XFTj%=ueZEx~JZOWO|$B8mP( zm}$N}HtIvK`SARxz%_{mFWyyf-2AzxOknR6$~D6`c4>HEUg+DcVV^`5gJ(QQHGQL# z8lFg$H___Fu-TVGIHG_QUWDBm-@C#?0 zhN_Fxj;Sh-w_d_!9X`&yjc!%k7LtB&ANd|!=CUCSc@dOw+f!6}p!0)qxP7?5|Ne(e z4OiK#iFO^2ynLmm}M8{@! zZW2))!|x1RW}O$G@%`^aKu4D?&u>Ld20AZ?F?{AvMJd4^=P|79qD5N68X09%x0}3|qnh?1Ni=^@YL?7|KFrD)vo5KaP zQH5?ZcS?vosNwHRsZK|k&3s%%w|v&EpMOhP8g9yuv`k#ZOTOMht9(ev{KX~uke7B) zK*0!qbCzl}tdzNBwrkd3t++|n!t!l-V?WgrImaW3vA-ydTq|BB(ymYeQD-H8H9!Yb Wu&`-zkgRc9 - + %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 000000000..439ceedeb --- /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 f8182c999..000000000 --- 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 000000000..6fea2aeaa --- /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 000000000..011930b36 --- /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 -- 2.47.3