Deutsch   English   Français   Italiano  
<6778765b$0$29730$426a34cc@news.free.fr>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!3.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!cleanfeed3-a.proxad.net!nnrp1-2.free.fr!not-for-mail
Date: Sat, 4 Jan 2025 00:44:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: =?UTF-8?Q?Re=3A_Proc=C3=A9dure_ARGV?=
From: Good Old TOS <_remove_vision@atari.org>
To: OL <ol.google@lutece.net>
Newsgroups: fr.comp.sys.atari
References: <6776c99f$0$12931$426a74cc@news.free.fr>
 <7JvJomHd6m_kGA6xXqpnj9n9gJ4@jntp> <67771a0a$0$29727$426a74cc@news.free.fr>
 <obL8snLYupJyJ2K3YCHvnuUkOBU@jntp> <6778159f$0$513$426a74cc@news.free.fr>
 <677826a2$0$29717$426a74cc@news.free.fr> <Q9EaQy098-PVA5Z7zAi1RLKy4XQ@jntp>
 <mIBAMcSyY7LpBCtFdtvLpUFiqJc@jntp> <67785429$0$375$426a74cc@news.free.fr>
 <n2atGw7UckVKd_awDmn5Fdq4Hf8@jntp> <677866ee$0$12914$426a34cc@news.free.fr>
Content-Language: fr
In-Reply-To: <677866ee$0$12914$426a34cc@news.free.fr>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 148
Message-ID: <6778765b$0$29730$426a34cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 04 Jan 2025 00:44:27 CET
NNTP-Posting-Host: 83.159.222.32
X-Trace: 1735947867 news-4.free.fr 29730 83.159.222.32:4499
X-Complaints-To: abuse@proxad.net
Bytes: 7387

Le 03/01/2025 à 23:38, Good Old TOS a écrit :
> Le 03/01/2025 à 22:34, OL a écrit :
>> Le 03/01/2025 à 22:18, Good Old TOS a écrit :
>>> Le 03/01/2025 à 19:11, OL a écrit :
>>>> Le 03/01/2025 à 19:07, OL a écrit :
>>>>> Le 03/01/2025 à 19:04, Good Old TOS a écrit :
>>>>>> Le 03/01/2025 à 17:51, Good Old TOS a écrit :
>>>>>>> Le 03/01/2025 à 17:33, OL a écrit :
>>>>>>>> Le 02/01/2025 à 23:58, Good Old TOS a écrit :
>>>>>>>>> Salut Olivier et bonne année!
>>>>>>>>>
>>>>>>>>> Sur https://www.atari-forum.com/viewtopic.php?t=44522
>>>>>>>>> Thorsten a posté un spawn qui compilé avec le cstartv.s posté à 
>>>>>>>>> https://www.atari-forum.com/viewtopic.php?p=473831#p473831 
>>>>>>>>> devrait faire l'affaire.
>>>>>>>>> J'ai un peu regardé mais je n'ai pas vu de différence notable 
>>>>>>>>> dans les paramètres, juste les variables d'environnements en 
>>>>>>>>> plus au début. J'ai essayé de récupérer sa routine pc_spawnve 
>>>>>>>>> de spawn mais pas moyen d'arriver à un résultat concluant.
>>>>>>>>>
>>>>>>>>> Du coup je suis passé par un appel à /bin/sh qui ne me 
>>>>>>>>> satisfait guère (exécution d'un shell + création d'un ficher 
>>>>>>>>> temporaire) mais au moins ça marche.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Le 02/01/2025 à 19:42, OL a écrit :
>>>>>>>>>> Le 02/01/2025 à 18:15, Good Old TOS a écrit :
>>>>>>>>>>> Hello,
>>>>>>>>>>>
>>>>>>>>>>> si certains ont suivi https://www.atari-forum.com/ 
>>>>>>>>>>> viewtopic.php? f=70&t=44522
>>>>>>>>>>> vous avez pu réaliser que je galère pas mal avec ARGV pour 
>>>>>>>>>>> passer plus de 124 caractères en ligne de commande.
>>>>>>>>>>> Bref, j'ai laissé tomber et je laisse à sh le soin de passer 
>>>>>>>>>>> correctement les paramètres à curl.
>>>>>>>>>>> Si jamais il y en a qui maitrise ARGV et qui arrive à faire 
>>>>>>>>>>> l'appel suivant via Pexec (PURE C svp :-)):
>>>>>>>>>>> u:\usr\bin\curl -L --cacert cacert.pem --get https:// 
>>>>>>>>>>> vision2.atari.org/vupdate/staging/vision.ver --output H: 
>>>>>>>>>>> \PURE_C\PROJECTS\VISION\UPDATE\vision.ver
>>>>>>>>>>> Faites moi signe :-)
>>>>>>>>>>>
>>>>>>>>>>> Attention: il y a un piège, parfois on croit que ça marche 
>>>>>>>>>>> mais dans H:\PURE_C\PROJECTS\VISION\UPDATE\vision.ver, on y 
>>>>>>>>>>> trouve que le fichier a été déplacé comme si -L avait été 
>>>>>>>>>>> ignoré :-(
>>>>>>>>>>>
>>>>>>>>>>> A+,
>>>>>>>>>>> Jean
>>>>>>>>>>
>>>>>>>>>> Normalement je savais faire, on peut regarder si tu veux, mais 
>>>>>>>>>> pas sur qu'à l'époque je n'étais que avec GCC. Pour vérifier 
>>>>>>>>>> il te faudrait un client (qui remplace curl) et voir ce qu'il 
>>>>>>>>>> retourne comme arguments.
>>>>>>>>>>
>>>>>>>>>> Olivier
>>>>>>>>
>>>>>>>> Je lit quelques commentaires que j'ai put faire, voilà ce qu'il 
>>>>>>>> semble ressortir
>>>>>>>>
>>>>>>>> Ton problème ne serait pas dans la création de ARGV sous PureC, 
>>>>>>>> en fait il faut recopier tout l'environnement de ton application 
>>>>>>>> et rajouter ARGV à la fin, sinon l'application n'a pas 
>>>>>>>> l'environnement, GCC il me semble fait tout dans ton dos de ce 
>>>>>>>> que je me souvient et ne suit pas la documentation.
>>>>>>>> Je vais voir si je peux faire un exemple
>>>>>>>>
>>>>>>>> Olivier
>>>>>>> Salut Olivier,
>>>>>>> je pense que c'est ça mais en même m'inspirant du code de 
>>>>>>> Thorsten, j'ai bien recréé l'environnement depuis Pure C mais 
>>>>>>> même résultat (curl 27, out of memory)
>>>>>>> Mais si tu y arrives, je suis preneur :-)
>>>>>>> A+,
>>>>>>> Jean
>>>>>> Ah non erreur 27 c'était avant, avec l’environnement c'est 
>>>>>> l'option - L de curl qui n'est pas prise en compte (d'où le 
>>>>>> fichier généré qui dit juste que le doc a bougé)
>>>>>
>>>>> J'ai regardé ton code cela ne peut pas marcher à mon avis vu que 
>>>>> c'est un argument qui est demandé par la commande pas un 
>>>>> environnement donc tout doit être mis dans le même variable 
>>>>> d'environnement
>>>>
>>>> Su tu préfère il faut remplacer les T par u:\usr\bin\curl -L -- 
>>>> cacert.....
>>>> Et si tu as des chemins avec des espaces il faut mettre le tout 
>>>> entre ""
>>>>
>>>>
>>> -L est bien passé par les argv; je faisais référence à l’environnent 
>>> car dans mes tests c'est vrai que rajouter l'environnement solutionne 
>>> le pb du out of memory mais du coup je me retrouve avec le pb du -L 
>>> ignoré
>>> Les  "T"?
>>> J'ai essayé plein de trucs en passant par u:\, u:/, en récupérat 
>>> l'env, en ajoutant un espace pour les paramètres dans valeur (e.g. -L 
>>> vs --cacert cacert.pem); j'ai du/pu rater un truc c'est sur.
>>
>> Tu n'as pas lu mon 3eme message avec le code!
> Salut Olivier,
> ben je ne vois pas le code dans tes messages! J'utilise Thunderbird pour 
> lire les news mais j'ai reçu ton email.
> Je vais regarder ton code et tester
Pareil :-( curl ignore le -L
Code:
long XPexec_eas(int mode, char* full_name, char* cmdline)
{
   char  buffer[1500] ;
   char  eas_cmd[1] ;
   char* pt_env = buffer ;
   char* source ;
   char* envp = _BasPag->p_env ;

   while( *envp )
   {
     while ( *envp ) *pt_env++ = *envp++ ;
     *pt_env++ = 0 ;
     envp++ ;
   }

   *pt_env++='A' ;
   *pt_env++='R' ;
   *pt_env++='G' ;
   *pt_env++='V' ;
   *pt_env++='=' ;
   *pt_env++ = 0 ;

   while ( *cmdline )
   {
     if ( *cmdline == ' ' )       *pt_env++ = 0 ; /* New parameter/value */
     else if ( *cmdline == '\\' ) *pt_env++ = '/' ; /* Change \ to / */
     else                         *pt_env++ = *cmdline ; /* Next char of 
parameter/value */
     cmdline++ ;
   }

   *pt_env++  = 0 ;
   *pt_env    = 0 ;
   eas_cmd[0] = 127 ;
   return Pexec( mode, full_name, eas_cmd, buffer ) ;
}


Appel: XPexec_eas( 0, "u:\\usr\\bin\\curl", "-L --cacert cacert.pem 
--get https://vision2.atari.org/vupdate/staging/vision.ver --output 
H:\\PURE_C\\PROJECTS\\VISION\\UPDATE\\vision.ver" ) ;