🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Uwaga: blad w funkcji isdigit .

#289
From: Jacek Czerwinski
Date: Fri, 14 Nov 1997 06:17
37 lines
2187 bytes
Karol Wojtiuk wrote:
Chyba masz racje, w borlandzie o ile pamietam jest najpierw filtrowana
na zakres, a moze tylko w wersji z mocniejszym deguggiem ?
Moze nie w borlandzie, ale gdzies widzialem ....
Albo makra, ktore pomyslane sa dla liczb dodatnich, a daje ktos znak >
128, a znak jest signed ...

> 
> Witam wszystkich
> funkcja isdigit jest zadeklarowana następująco:
> int isdigit(int c);
> i ma ona za zadanie sprawdzać czy dane c jest znakiem z przedzialu '0' -
> '9'.
> Nie wiem jak wyglądają implementacje w innych bibliotekach ale w
> dostarczanej
> przez Microsoft isdigit operuje na tablicy _ctype[257]. Jak widać z rozmiaru
> tablicy
> można sprawdzić tylko 257 wartości i jeżeli zmienna c przyjmie wartość
> ujemną (co
> może być bardzo częste gdy używamy jako parametru wartości typu char ze
> znakiem)
> lub przyjmie wartość powyżej 256 to program nam się wywala.
> Rozumiem, że ze względu na dużą szybkość przyjęto taki sposób implementacji
> ale
> po pierwsze należało sporządzić inną deklarację funkcji (parametr typu int
> mówi wyraźnie,
> że możemy używać wartości parametru w o wiele większym zakresie niż tylko od
> 0 do 256) i
> po drugie można było zaznaczyć w opisie funkcji, że akceptuje ona tylko
> wartości od 0 do 256.
> Co o tym sądzicie?
> A może ja jestem w błędzie?
> Czy zauważyliście inne kwiatki?
> Pozdrowienia
> Karol Wojtiuk
> PS. Powyższe prawdopodobnie tyczy się wszystkich funkcji is..., ale jeszcze
> tego nie sprawdzałem.
Technical Details
Message-ID: <346BED09.74A1BB6E@rubikon.net.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!news.webcorp.com.pl!not-for-mail
References: <64flfj$jds$1@sunsite.icm.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!news.webcorp.com.pl!not-for-mail
From: Jacek Czerwinski <klik@rubikon.net.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: Uwaga: blad w funkcji isdigit .
Date: Thu, 13 Nov 1997 22:17:45 -0800
Organization: Biuro Inf. KLIK
Lines: 37
Message-ID: <346BED09.74A1BB6E@rubikon.net.pl>
References: <64flfj$jds$1@sunsite.icm.edu.pl>
NNTP-Posting-Host: 194.204.150.74
Mime-Version: 1.0
X-Mailer: Mozilla 4.01 [en] (Win16; I)
X-Priority: 3 (Normal)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit