<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Nope. Nici un ascii sau Unicode. Faza e ca parserul e cretin. Adica:
daca dau “echo ‘bla bla’ etc etc” el va descompune
param in “bla bla”, “etc”, “etc”. faza e ca
daca tu vrei sa apelezi CreateProcess si bagi la command line textul
recompus pe baza arborelui obti ceva de genul “echo bla bla etc etc”.
se pierd apostroafele alea care fac ca unele charactere din linia de parametrii
sa apara cand dai echo.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>De fapt e o chestie specifica linux: tb sa pui un param intre
ghilimele daca nu vrei sa pierzi din simboluri atunci cand apelezi ceva.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Pe win daca dai: “echo bla { bla” se va afisa “bla
{ bla”<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Pe linux daca dai: “echo bla { bla” se va afisa “bla
bla” si doar daca dai “echo ‘bla { bla’” se
va afisa “bla { bla”.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ce pot sa zic … ori e o chestie f inteligenta din partea
linuxului ori una f prosta. Bla bla :P<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<div style='border:none;border-top:solid #91C0FF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Segoe UI","sans-serif"'>From:</span></b><span
style='font-size:9.0pt;font-family:"Segoe UI","sans-serif"'>
so-bounces@cursuri.cs.pub.ro [mailto:so-bounces@cursuri.cs.pub.ro] <b>On Behalf
Of </b>Catalin Iacob<br>
<b>Sent:</b> Saturday, November 04, 2006 10:25 PM<br>
<b>To:</b> so@cursuri.cs.pub.ro<br>
<b>Subject:</b> [so] Tema 1 Windows problema ciudata<o:p></o:p></span></p>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal style='margin-bottom:12.0pt'>Salut<br>
<br>
Raspunsul de aseara a fost foarte util, multumesc din nou.<br>
<br>
Mai am nevoie de ajutor pentru o problema destul de bizara: am vazut ca
tema pica testele 4 si 5 din cauza acoladei deschise de la echo ' int main {
....' <br>
Mai precis { nu apare in output. Si programul nu compileaza si deci testul pica
cu glorie. <br>
<br>
Am facut tot felul de incercari de comenzi simple in shellul din tema mea:<br>
<br>
echo 'a{b' imi scrie doar a<br>
echo 'aaa { bbb' imi scrie aaa bbb (cu 2 spatii deci practic elimina
acolada) <br>
echo '{' nu scrie nimic<br>
echo '{}' scrie culmea {} ... e singurul mod in care am reusit sa fac sa apara
o acolada deschisa<br>
echo 'aa{}bb' scrie aabb fara nici o acolada si fara spatiu<br>
echo 'aa{ }bb' (cu spatiu intre acolade) scrie aa }bb <br>
<br>
Evident ca totusi in marea majoritate a cazurilor shellul merge ca altfel
problema nu era bizara, adica echo 'ana are mere' afiseaza ana are mere.
Problema e cu acolada deschisa.<br>
<br>
Singurul lucru la care pot sa ma gandesc e ca problema vine de la dualitatea
Unicode / Ascii de pe Windows sau de la faptul ca din cine stie ce motive
CreateProcessA trateaza special caracterul { din pathul pe care il primeste.
Fiindca portez tema de pe Linux am ales sa folosesc ASCII si deci apelez
CreateProcessA careia ii trimit un char[] pe post de parametru 2 lpCommandLine
(care e LPCSTR adica tot aia). Daca afisez inainte parametrul pe care urmeaza
sa-l trimit lui CreateProcessA , pentru echo 'aa{bb' el este echo aa{bb
(presupun ca de eliminarea ' se ocupa parserul) deci ok si totusi rezultatul
comenzii e ca imi scrie doar aa. <br>
<br>
Ce as putea sa fac? <br>
<br>
Multumesc<br>
<br>
<br>
<o:p></o:p></p>
</div>
</body>
</html>