www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/01/28/10:19:36

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.2 required=5.0 tests=AWL,BAYES_00,SARE_SUB_PCT_LETTER,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4980776B.50601@gmail.com>
Date: Wed, 28 Jan 2009 23:19:07 +0800
From: KHMan <keinhong AT gmail DOT com>
User-Agent: Thunderbird 2.0.0.16 (Windows/20080708)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Possible sscanf %f conversion glitch
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Hi all,

Someone ran into a problem with sscanf %f conversion on the Lout 
list. It appeared that one specific case fails. I am running 
cygwin-1.5.25-15. Test cases:

#include <stdio.h>
int main()
{
     char *foo1 = "10i";
     char *foo2 = "0i";
     char *foo3 = "0.0i";
     char *foo4 = "1.0i";
     char *foo5 = "0.1i";
     float f;
     printf("%d ", sscanf(foo1, "%f", &f)); printf("%f\n", f);
     printf("%d ", sscanf(foo2, "%f", &f)); printf("%f\n", f);
     printf("%d ", sscanf(foo3, "%f", &f)); printf("%f\n", f);
     printf("%d ", sscanf(foo4, "%f", &f)); printf("%f\n", f);
     printf("%d ", sscanf(foo5, "%f", &f)); printf("%f\n", f);
}

As the scanf man page specifies, 'i' is not supposed to be 
converted, only the number part is supposed to be recognized.

On Cygwin:
$ ./test
1 10.000000
0 10.000000
1 0.000000
1 1.000000
1 0.100000

On Linux (Ubuntu 8.04) and MinGW, the second case succeeds, the 
result being the same as the third case. I've done some googling, 
and haven't found anything related to this behaviour.

-- 
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019