mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			848 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			848 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* BZ #5225 */
 | 
						|
#include <stdio.h>
 | 
						|
#include <string.h>
 | 
						|
#include <wchar.h>
 | 
						|
 | 
						|
static int
 | 
						|
do_test (void)
 | 
						|
{
 | 
						|
  wchar_t in[] = L"123,abc,321";
 | 
						|
  /* This is the critical part for this test.  format must be in
 | 
						|
     read-only memory.  */
 | 
						|
  static const wchar_t format[50] = L"%d,%[^,],%d";
 | 
						|
  int out_d1, out_d2;
 | 
						|
  char out_s[50];
 | 
						|
  printf ("in='%ls' format='%ls'\n", in, format);
 | 
						|
  if (swscanf (in, format, &out_d1, out_s, &out_d2) != 3)
 | 
						|
    {
 | 
						|
      puts ("swscanf did not return 3");
 | 
						|
      return 1;
 | 
						|
    }
 | 
						|
  printf ("in='%ls' format='%ls'\n", in, format);
 | 
						|
  printf ("out_d1=%d out_s='%s' out_d2=%d\n", out_d1, out_s, out_d2);
 | 
						|
  if (out_d1 != 123 || strcmp (out_s, "abc") != 0 || out_d2 != 321)
 | 
						|
    {
 | 
						|
      puts ("swscanf did not return the correct values");
 | 
						|
      return 1;
 | 
						|
    }
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
#define TEST_FUNCTION do_test ()
 | 
						|
#include "../test-skeleton.c"
 |