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!