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" ) ;