Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Feb 2002 21:11:59 -0500 (EST)
From:      Chuck Cranor <chuck@research.att.com>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   bin/34682: scanf/sscanf doesn't understand %lld
Message-ID:  <200202070211.g172Bxc97149@cdn3.research.att.com>

next in thread | raw e-mail | index | archive | help

>Number:         34682
>Category:       bin
>Synopsis:       scanf/sscanf doesn't understand %lld
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 06 18:20:02 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Chuck Cranor
>Release:        FreeBSD 4.4-STABLE i386
>Organization:
at&t labs-research
>Environment:
System: FreeBSD cdn3.research.att.com 4.4-STABLE FreeBSD 4.4-STABLE #0: Mon Dec 3 14:12:23 EST 2001 chuck@cdn3.research.att.com:/usr/home/chuck/freebsd/44s-kern/src/sys/compile/RESEARCH i386



>Description:

	scanf/sscanf doesn't understand %lld, %qd works ok.

>How-To-Repeat:

	cdn3[64]> cat tp.c
	#include <stdio.h>
	#include <sys/types.h>

	main() {
    	u_int64_t q = 0;
    	sscanf("4354736128", "%lld", &q);
    	printf("%lld\n", q);
	}
	cdn3[65]> cc -O -o tp tp.c
	cdn3[66]> ./tp
	59768832
	cdn3[67]> 

>Fix:

pull up rev 1.14 of lib/libc/stdio/vfscanf.c from NetBSD CVS repository.
It would be great if this could be fixed in the 4.x stable branch too.


RCS file: /cvsroot/basesrc/lib/libc/stdio/vfscanf.c,v
----------------------------
revision 1.14
date: 1995/03/22 00:57:02;  author: jtc;  state: Exp;  lines: +8 -3
Added "long long" support %ll{d,x,o,i}.
=============================================================================


Index: vfscanf.c
===================================================================
RCS file: /cvsroot/basesrc/lib/libc/stdio/vfscanf.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -c -r1.13 -r1.14
*** vfscanf.c	1995/02/25 07:02:16	1.13
--- vfscanf.c	1995/03/22 00:57:02	1.14
***************
*** 172,178 ****
  			flags |= SHORT;
  			goto again;
  		case 'l':
! 			flags |= LONG;
  			goto again;
  		case 'q':
  			flags |= QUAD;
--- 172,183 ----
  			flags |= SHORT;
  			goto again;
  		case 'l':
! 			if (*fmt == 'l') {
! 				fmt++;
! 				flags |= QUAD;
! 			} else {
! 				flags |= LONG;
! 			}
  			goto again;
  		case 'q':
  			flags |= QUAD;
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202070211.g172Bxc97149>