Bug 77246

Summary: isblank() not properly prototyped in /usr/include/ctype.h
Product: [Retired] Red Hat Linux Reporter: greg hosler <greg>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0CC: fweimer
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-11-04 06:41:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description greg hosler 2002-11-04 06:41:21 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003

Description of problem:
man isblank, gives usage or "isblank()", yet the following program
yields at error when compiled (warning actually, but it shouldn't).

#include <ctype.h>
int main()
{
        char a;
        int i = isblank(a);
        return(i);
}


# gcc -Wall -o fooey foo.c
foo.c: In function `main':
foo.c:5: warning: implicit declaration of function `isblank'

Note: isblank() should NOT be seen by the compiler as "implicitly defined"


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. See sample code snippet above
2.
3.
	

Actual Results:  erroneous warning message. Note that w/o proper prototyping,
compile
time argument mismatches would be properly converted to correct argument type.

Expected Results:  no warning message.

Additional info:

This same bug existed in Red Hat 7.3

Comment 1 Jakub Jelinek 2002-11-04 09:05:45 UTC
Please RTFM info libc about feature set macros.
isblank is only specified in ISO C99, so you either get it when compiling
with -std=c99, -std=gnu99 or -D_ISOC99_SOURCE.