[Linux-ia64] sscanf() broken on ia64

From: David J. Morse <david.morse_at_onebox.com>
Date: 2001-10-19 07:50:28
Hi,

I'm having a problem with sscanf() on IA-64; it seems to be able to parse
a string into arguments correctly when whitespace is the delimiter, but
not "."!

Below is a small module to illustrate what I mean (you must be running
2.4.10 or greater, since that's when sscanf was added).  On IA-64 I get

sscanf returned 1, d1=192, d2=0, d3=30, d4=0, port=0
sscanf returned 5, d1=192, d2=1, d3=1, d4=132, port=80

when I should get the latter both times (as I do on x86).

Can someone help?

Thanks,

David
-----------------------------------------------------------------
/* sscanf.c 
 * 
 * Tests sscanf() functionality as a loadable kernel module.
 *
 *  gcc -Wall -Wstrict-prototypes -O6 -I/lib/modules/`uname -r`/build/include
-c -o sscanf.o sscanf.c
 */

/* Declare what kind of code we want from the header files */
#define __KERNEL__         /* We're part of the kernel */
#define MODULE             /* Not a permanent part, though. */

/* Standard headers for LKMs */
#include <linux/modversions.h> 
#include <linux/module.h>  

/* Initialize the LKM */
int init_module()
{
        unsigned int d1, d2, d3, d4, port;
	int retval = 0;

	/* This does not work on IA-64 */
	retval = sscanf("192.1.1.132:80", "%d.%d.%d.%d:%d",
                                        &d1, &d2, &d3, &d4, &port);
	printk(KERN_INFO "sscanf returned %d, d1=%d, d2=%d, d3=%d, d4=%d,
port=%d\n", retval, d1, d2, d3, d4, port);

	/* This does work on IA-64 */

	retval = sscanf("192 1 1 132 80", "%d %d %d %d %d",
                                        &d1, &d2, &d3, &d4, &port);
	printk(KERN_INFO "sscanf returned %d, d1=%d, d2=%d, d3=%d, d4=%d,
port=%d\n", retval, d1, d2, d3, d4, port);

  return 0;
}


/* Cleanup - undo whatever init_module did */
void cleanup_module()
{
  printk(KERN_INFO "Removing sscanf module\n");
}


__________________________________________________
FREE voicemail, email, and fax...all in one place.
Sign Up Now! http://www.onebox.com
Received on Thu Oct 18 14:50:34 2001

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:05 EST