From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r@public.gmane.org
Subject: [Bug 61511] scanf man page is misleading re out-of-range integer
conversions
Date: Mon, 16 Sep 2013 21:48:49 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Return-path:
In-Reply-To:
Sender: linux-man-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
To: linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
List-Id: linux-man@vger.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=61511
--- Comment #2 from Ian Pilcher ---
(In reply to walter from comment #1)
> please try this code:
>
> #include
> #include
> int main()
> {
> int ret,i;
> ret=sscanf("9999999999999999999999999999999", "%d", &i);
> perror("scanf");
> printf("ret=%d i=%d\n",ret,i);
> return 0;
> }
scanf: Numerical result out of range
ret=1 i=-1
So it is setting errno, but it's still returning 1. That's just weird. (But
allowed, since the behavior is undefined in this case.)
Perhaps the ERANGE section could note that it can occur even when the function
does not return EOF.
--
You are receiving this mail because:
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html