From 35557a6ca00dc66f4de7b45bab2572bd29c24b4f Mon Sep 17 00:00:00 2001 From: kichik Date: Mon, 17 Mar 2003 13:46:13 +0000 Subject: [PATCH] Escaping notes in the readme and a check for ConvertNewLines git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2320 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/InstallOptions/InstallerOptions.cpp | 67 +++++++++++--------- Contrib/InstallOptions/Readme.html | 6 +- Plugins/InstallOptions.dll | Bin 12800 -> 12800 bytes 3 files changed, 39 insertions(+), 34 deletions(-) diff --git a/Contrib/InstallOptions/InstallerOptions.cpp b/Contrib/InstallOptions/InstallerOptions.cpp index fe6e496d..a19ab545 100644 --- a/Contrib/InstallOptions/InstallerOptions.cpp +++ b/Contrib/InstallOptions/InstallerOptions.cpp @@ -32,34 +32,6 @@ char *STRDUP(const char *c) return t; } -void ConvertNewLines(char *str) { - char *p1, *p2; - for (p1=p2=str; *p1; p1++, p2++) { - if (*p1 == '\\') { - switch (p1[1]) { - case 'n': - *p2 = '\n'; - break; - case 'r': - *p2 = '\r'; - break; - case 't': - *p2 = '\t'; - break; - case '\\': - *p2 = '\\'; - break; - default: - p1--; - p2--; - break; - } - p1++; - } - else *p2 = *p1; - } - *p2 = 0; -} #define FIELD_LABEL (1) #define FIELD_ICON (2) @@ -101,6 +73,8 @@ struct TableEntry { int LookupToken(TableEntry*, char*); int LookupTokens(TableEntry*, char*); +void ConvertNewLines(char *str); + struct FieldType { char *pszText; char *pszState; @@ -377,12 +351,13 @@ bool SaveSettings(void) { return true; } +#define BROWSE_WIDTH 15 + void AddBrowseButtons() { // this function loops through all the controls and if a filerequest or dirrequest // control is found, then it adds the corresponding browse button. // NOTE: this also resizes the text box created to make room for the button. int nIdx; - int nWidth = 15; FieldType *pNewField; for (nIdx = nNumFields - 1; nIdx >= 0; nIdx--) { @@ -403,7 +378,7 @@ void AddBrowseButtons() { //pNewField->pszValidateText = NULL; pNewField->rect.right = pFields[nIdx].rect.right; - pNewField->rect.left = pNewField->rect.right - nWidth; + pNewField->rect.left = pNewField->rect.right - BROWSE_WIDTH; pNewField->rect.bottom = pFields[nIdx].rect.bottom; pNewField->rect.top = pFields[nIdx].rect.top; @@ -514,7 +489,7 @@ bool ReadSettings(void) { // Label Text - convert newline - if (pFields[nIdx].nType == FIELD_LABEL && pFields[nIdx].pszText) { + if (pFields[nIdx].nType == FIELD_LABEL) { ConvertNewLines(pFields[nIdx].pszText); } @@ -1123,3 +1098,33 @@ int LookupTokens(TableEntry* psTable_, char* pszTokens_) } return n; } + +void ConvertNewLines(char *str) { + char *p1, *p2; + if (!str) return; + for (p1=p2=str; *p1; p1++, p2++) { + if (*p1 == '\\') { + switch (p1[1]) { + case 'n': + *p2 = '\n'; + break; + case 'r': + *p2 = '\r'; + break; + case 't': + *p2 = '\t'; + break; + case '\\': + *p2 = '\\'; + break; + default: + p1--; + p2--; + break; + } + p1++; + } + else *p2 = *p1; + } + *p2 = 0; +} \ No newline at end of file diff --git a/Contrib/InstallOptions/Readme.html b/Contrib/InstallOptions/Readme.html index 253fa010..4b59f022 100644 --- a/Contrib/InstallOptions/Readme.html +++ b/Contrib/InstallOptions/Readme.html @@ -235,7 +235,7 @@ numbers from 1 to NumFields. Each Field section can contain the following values (optional) Specifies the caption of a label, checkbox, or radio button control. For icon and bitmaps control this specifies the path to the image.

- Note: For labels, \r\n will be converted to a newline. + Note: For labels, \r\n will be converted to a newline. To use a back-slash in your text you have to escape it using another back-slash - \\. State @@ -277,10 +277,10 @@ numbers from 1 to NumFields. Each Field section can contain the following values ValidateText (optional) - If a particular field fails the test for + If the field fails the test for "MinLen" or "MaxLen", a messagebox will be displayed with this text.

- Note: \r\n will be converted to a newline. + Note: \r\n will be converted to a newline, two back-slashes will be converted to one - \\. Left
Right
Top
Bottom
(required) diff --git a/Plugins/InstallOptions.dll b/Plugins/InstallOptions.dll index 8abfff94d18e1d380d4471356d2d8ddc0d1c7b9d..e90475697f7ea139ec950afcb5fac61d0f12e266 100644 GIT binary patch delta 5571 zcma(#dsvg_y>B2u&;U^rMFm9-&WhUPyCvaExJZKNP@`NjCSCwj5(dP<7sVcI*n+Lu zN1WYv&erbnY0J{vdRc9?wjQ;Dc)WCW!y`qXs(o~A*U#amb{?j!C z-rxQHdtd0-+_8C&RUtlWD{?knDgE1HN9G`YQ4rKuR2Ea?; zd&i4Y4lRK1fBdIj{vO;rU;bX}t@B_V&(2AI%;`X=RFQy`=lppn_U|f6oikC9h)_Bp zmPC8gQkXAh?VGrq)y zOOFDjO#A@T_bIA2ZdiAw4}6m>wsJ7})CxWY$4m}~m8rotZBqN<1_b|8r7c!TcNQB= zDHSd!&RLAP+dtZ;*tnrDOi8_ejpyyD1~4b-hNhlX;l5}#C`EtFM&pZO`1$_GitJ5>E6lpvMDj>;r{UYf+IKMY(`NS5` zQ5LG!r;F=^TS?lu;`>6Ps#bAR@T%Cr{_i9yT%>h^M7sDq0Q{}0ox@e!Dv8r;Dj^f6 zLH$sC$9yEwi@?1~&xuhZl8(Zj+VxpMyIxzuCgAYWx}JobR*LID736B;hV|=$C$xQ# zJ&l+NE7^vHsqvuT@0HQ za%KgO-wrv`$58r^Q$Ge|gq#_CL5vs_<3sjISy7WqL$c*n!RsYpIb1JE5>y}>Pe=Ak zcBDZb_(4e?eD?fExRRWss1cGUEC?9DBk=b5QUnL@`8FOQPv?02VT2?p;sj!ur)@kTQc#Vm0qJ=NX_pzRqqs;3 zK;2mJ&Yra0i$FJwT<=w-Q>?uQN^#<1)T*@IDL}3uhfmq{nte)yj$Ibi6Ujh-8bVc7 z(FP9LQ?=b#DA=B;MQNRT;y}XF2BipBCsN`oz?vLiRpmJV9pDlsL z_*IfYd>5;gTg4^L0>%ol_wFeBDW$#?{C9ylWk6gqrp8kc!>Ys^Flqe7otL=$a8aC7 ztOwbcj};)LmaR!#qFT}wK)z*=wE9S}q@t4>YdA`B2VN^Sw+9aoVHWk7I6~Zp{yui!Bd}Zko|5@E?!C0GWXREaapYS(SNjw&@ajJDOr@n%uXXuXM`w^d_ml%%o`Ug+%MascutN(uX5+W{3HmFr-8CcFg*dHrf6=tSKCDEx*YqCp|~p$-Tj;Z|yv zVv;Z^EhCVQGiJjoLN+YzpX?I%Bq0PH>VZvgeJh;1RX|`*rFB*Vz$1KG3#VX@l06k! zgv0M#3UG%R2F3yh@p(u?CuDaK04~oa(BqP5Y)R7X0`olGi9b_d;sc;Ja`(qb!>N9D z4{ru8bxn+QP{y;TutyTyzTi;__UJ1(J0)EQr~uj5!E-JJ)MF)*t{t!qaiba<6p;*U zHEMgXAwH5d4&*c2437i5LZUG`qQ|uJJdM}=F$9Hhc`jCAX{;miQaKz4g{L%A11^sS z=UJAL2D|YBgjq;&#xS}QpupvM9ShL1(!p-L4r4qrM&{{;^``jrUBsz!O_$Rh*bFK@&5Eje6S*9V=|=dBV&w`Bh6^17U^NQx zj*AW297n&CcMRm<*M+}d@}F&hn-Z&(bRH1Kjd!}i5JSOTpcUSkR7>Kyi6BU1+U|w0 zjQPw(*qnUTh1ES_^~d~AwZRcZS{H7M;D|cyncIS6@(<)2GUT}2jYS)jlK%uOe2MGL z8rx}(FQYV-hF~fOn?wBgAZeAQ( zCs=ej`0EMXyRg90r_QRtLIu$mNi@w}m*GJYwBh?4aSJ>MlJ4n;@rl(^e&$FtCXZrp zBg@0jtN7%Q3Wpe;S~QXDsVa~kfZZzL($rZ2ydL<(%8)|R*+BxYGx#a!3)(ORahC3j z(7Khu9+k79K+=^0k3?e>e+!;i>Tt0V=Gic23xyJ8qankFzTl0FvPzzQ35YIFI2$T{ zf3)?;OA!tDT2@ARQXrI3pKGnDWj|1O+g|t#Wxgf6H7$Lz%yVI9k3T1D z*Q=eNLKvKu9l-mO`-3G@-iHaI^`<0sV^eG&H_`dPfr?QhU7*sEi5CRFxDC!+a#_sg zr#y{wIBt(fgAXl_hqlBqyb3I~0G@v?Rig30$5z0n78`!(tmme8;~9U{@LMu*>9~~f zH665M$_p|TXXL?#j9!mo=Ma9hVJUIDe5CNPIUt|$Ruk*wBVJzOkKhQ;ShB~GIc{>F zfhTNiWMB%ZUeO3_(ThiZdRCR*UhELRVk7jxV5*-?@xTm zi~E2nTDvMP>BBv6WeiQWWbP9_nNA0yO@S{&$*;xNA^sf*QiH22>0So>`r{e|?|Eg= z)(?3`5xnLARz>7~g@;!bZ4isZIM%{X}H~yG6*|NBlg2k_|8}*@GKU)*36>)QB2boZz0;PSmx%OE#9p)oZH#rd&1l3 zUfv9>+c18mZ?nJAT~gD$xzP>M4cM05yA`2B!pzyz15d}5xjC1&d9!a@xw{SPm!%%U zu)x#2d8NCxwWc2HsKheGzB+#^LZ2&Q_@%zKLNpk+t#wO_x0!pQ5H(}#Q9Y%;=6aA* z#5sMf+ygyF6{P`R&F1BGKFGo`MJYZvMNMo%MJ;X!Co1m%)oQHHUW9@V90qL&8RN?8 zAiK@wzM@92yP1P`(gVY5-E|zQi0QI>YZ`s^&YG5*CUE8iax~Y}1{z}~5c*YIna8&+ zY7n7!70X+r=Spv@x3Z_D5)EDfx$*M z=Z2J^148DUY4eU?O}L0F-CT>euC)-Q0)HchLzqG}-t<_!ZYbo|MZg#f-_BG-9oSb<06Ob@%?wsU5W+OCx zK0-D73+MJF2lVh8p~^7BFyFu$HX61YUNHQ@aL{nV@TCD6XBrn7R~kLWUB)+z9~eI| z-ZrKabBIL*L%4}1;u#`LyhHq%_>{Ord__zqXORm?g0zuK$(7{OAm#(^e6Ox(^u#(=)cqdq`#-* znN&v0OlPu~$CxFInJHv`$gE+0%xq-bOf%EUY-fJPJk7kwyv!VBjx*<&i_BH#26K;z zGfgpNn~WxlX_aY{sou2B)Na~qdeyYg^uFo1>740;>2uT9rrV~wCWSeWXr5}GZKllm zX1n=^=8a~rxz*fe7R z-OK)teS_W49tyC>+0$%4dy&1ue#PEmhuQDgIBSY^igmhmwspSMXf;`F)*|Z)YlU^4 zb(3|Ab({6)*4pts2>v8MH)_&_H>ou!ry=xt@Ds8E@8Ma(ofo-L&!nV#< zYiqW(+xFOgW7}u@(00^z#`b61h)tO{Id4YZlDq(uw<2$C-V=E(d4_yPzB|7;pUZzT z|LOd${I~P>=YN*}O+M`FEcj!g0-jffZHD&@9~v$jl8w(9UpBsJJYu|L{EP8x<3Ejv zNF>z6WFnoIMa&}}Crm^hv5sgUb`ZZN_7blV2Z@h}KN9DNYs6oPo5TpAB-NyjoEw0q zF^~*tg|;anSCQ3ZJ=sQv$mhrx$XCht$YbPb@=xRd`5E~IwA3wfnEalMrzTJuDwE2l zaww8wspZsas)DMfYN-Z_qn@NXD4zN?)lI!c9ie)uPpB)@7t|fZ3XO-{@E9H|e8vAAOF#KwqV=)8Ekd=-Es*w4I45V3slEOg+=YY-Iw_ Va02rx^FDK!`JCCG`}oPY{{@&|#fty{ delta 5564 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 UOts`#?3O0W2FtpF