| Deutsch English Français Italiano |
|
<sgOeZieNBuLdsGmei9sqX2FRssM@jntp> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!2.eu.feeder.erje.net!feeder.erje.net!fdn.fr!glou.org!news.glou.org!pi2.pasdenom.info!from-devjntp
Message-ID: <sgOeZieNBuLdsGmei9sqX2FRssM@jntp>
JNTP-Route: nemoweb.net
JNTP-DataType: Article
Subject: Re: =?UTF-8?Q?Proc=C3=A9dure=20ARGV?=
References: <6776c99f$0$12931$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>
<6778765b$0$29730$426a34cc@news.free.fr>
Newsgroups: fr.comp.sys.atari
JNTP-HashClient: LHJ5LExEsPUC3LRmLaTOG_e0FRA
JNTP-ThreadID: 6776c99f$0$12931$426a74cc@news.free.fr
JNTP-Uri: https://nemoweb.net/?DataID=sgOeZieNBuLdsGmei9sqX2FRssM@jntp
User-Agent: Nemo/1.0
JNTP-OriginServer: nemoweb.net
Date: Sat, 04 Jan 25 07:13:01 +0000
Organization: Nemoweb
JNTP-Browser: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36
Injection-Info: nemoweb.net; posting-host="89cd93d383b14ad4ebf6710f8ef916cbd284394b"; logging-data="2025-01-04T07:13:01Z/9162905"; posting-account="69@nemoweb.net"; mail-complaints-to="julien.arlandis@gmail.com"
JNTP-ProtocolVersion: 0.21.1
JNTP-Server: PhpNemoServer/0.94.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-JNTP-JsonNewsGateway: 0.96
From: OL <ol.google@lutece.net>
Bytes: 8022
Lines: 153
Le 04/01/2025 à 00:44, Good Old TOS a écrit :
> 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" ) ;
Ton code est faux
Tu dois recopier cmdline c'est tout et ne surtout pas remplacer les
espaces par des 0!