🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #792

Re: argv

#792
From: Qrczak
Date: Wed, 28 Jan 1998 13:48
44 lines
2493 bytes
On Wed, 28 Jan 1998, Maciej MOCHOL wrote:

> Az sie cofnalem do poczatku. Moim zdaniem zalezy to od implementacji
> systemu. Nawet w Unixach jest to roznie zrobione, bo np. w Unixware:
> 
> /* argc = 1 */
> 
> int i = strlen(argv[1])
> 
> /* i = 0 */
> 
> przechodzi bez problemu, natomiast w Linuxie jest core dumped ... (
> argv[1] = NULL)

To jest inna sprawa - tutaj chodzi o sięganie poza zakres tablicy!
A mnie chodzi tylko o to, czy argv[1][1], o ile istnieje, jest 
read-only, czy nie.

Gdyby było typu (const char *const *) (chyba tam mają być te consty...),
toby nie było problemu, ale być może wtedy, kiedy ta składnia była
ustalana, constów w ogóle nie było, a potem nikomu nie chciało się
zmieniać - być może bredzę, ale po prostu NIE WIEM.

> Sadze ze na wiekszosci platform mozna spokojnie pisac do argv, bo 
> w Unixach parametry wywolania trzymane sa w informacjach o procesie,
> w dosie siedzi to w environment. Jednak sa maszyny w ktorych pamiec
> mozna ustawic w tryb read-only, jestem przekonany ze wtedy by to nie
> przeszlo.

No więc wciąż nikt nie potrafi mi odpowiedzieć, czy wszędzie można, czy
też czasem nie...

> Nasuwa mi sie jednak jedno pytanie, po jakiego groma pisac do argv ?

Np. żeby pozamieniać "\\n" na "\n" itd. W praktyce najczęściej większość
argumentów w ogóle się nie zmieni, a te, które się zmienią, najwyżej się
skrócą. Po co mam tworzyć własną tablicę, do której będę je kopiował z
niewielkimi zmianami, jeśli się okaże, że można poprawić w miejscu?

-- 
                                 QRCZAK
    __("<              Marcin Kowalczyk
    \__/              qrczak@knm.org.pl
     ^^      http://qrczak.home.ml.org/
Technical Details
Message-ID: <Pine.LNX.3.96.980128143946.553A-100000@qrnik.knm.org.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczak
References: <Pine.LNX.3.96.980118170312.17197A-100000@qrnik.knm.org.pl> <Pine.GSO.3.95.980128123942.7883M-100000@neutron.elka.pw.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczak
From: Qrczak <qrczak@knm.org.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: argv
Date: Wed, 28 Jan 1998 14:48:59 +0100
Organization: Klub Nieszkodliwych Manjaków
Lines: 45
Message-ID: <Pine.LNX.3.96.980128143946.553A-100000@qrnik.knm.org.pl>
References: <Pine.LNX.3.96.980118170312.17197A-100000@qrnik.knm.org.pl> <Pine.GSO.3.95.980128123942.7883M-100000@neutron.elka.pw.edu.pl>
NNTP-Posting-Host: ppp3-cst39.warszawa.tpnet.pl
Mime-Version: 1.0
In-Reply-To: <Pine.GSO.3.95.980128123942.7883M-100000@neutron.elka.pw.edu.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit