mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	This patch fixes "set but not used" warnings in the tests libio/bug-rewind.c and libio/bug-rewind2.c by checking the return values from fwscanf and making the tests fail if those values aren't as expected. Tested for x86_64. * libio/bug-rewind.c (do_test): Check fwscanf return values. * libio/bug-rewind2.c (do_test): Likewise.
		
			
				
	
	
		
			84 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#include <stdio.h>
 | 
						|
#include <wchar.h>
 | 
						|
 | 
						|
#define PASSED  0
 | 
						|
#define	FAILED  3
 | 
						|
 | 
						|
 | 
						|
static int fd;
 | 
						|
 | 
						|
static void prepare (void);
 | 
						|
#define PREPARE(argc, argv) prepare ()
 | 
						|
 | 
						|
 | 
						|
#define TEST_FUNCTION do_test ()
 | 
						|
static int do_test (void);
 | 
						|
#include "../test-skeleton.c"
 | 
						|
 | 
						|
 | 
						|
static void
 | 
						|
prepare (void)
 | 
						|
{
 | 
						|
  fd = create_temp_file ("wrewind.", NULL);
 | 
						|
  if (fd == -1)
 | 
						|
    exit (3);
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
static int
 | 
						|
do_test (void)
 | 
						|
{
 | 
						|
  FILE *fptr;
 | 
						|
  char arg1;
 | 
						|
  char arg2;
 | 
						|
  int ret1, ret2, result, num;
 | 
						|
 | 
						|
  ret1 = 0;
 | 
						|
  ret2 = 0;
 | 
						|
 | 
						|
  fptr = fdopen (fd, "w+");
 | 
						|
  if (fptr == NULL)
 | 
						|
    {
 | 
						|
      printf ("Unable to open file.\n");
 | 
						|
      return 1;
 | 
						|
    }
 | 
						|
 | 
						|
  if (fwprintf (fptr, L"cderf") <= 0)
 | 
						|
    {
 | 
						|
      printf ("Unable to write to file with fwprintf().\n");
 | 
						|
      fclose (fptr);
 | 
						|
      return 2;
 | 
						|
    }
 | 
						|
 | 
						|
  rewind (fptr);
 | 
						|
  ret1 = fwscanf (fptr, L"%c%c", &arg1, &arg2);
 | 
						|
  if (ret1 != 2)
 | 
						|
    {
 | 
						|
      printf ("first fwscanf returned %d, expected 2\n", ret1);
 | 
						|
      return 3;
 | 
						|
    }
 | 
						|
 | 
						|
  rewind (fptr);
 | 
						|
  ret2 = fwscanf (fptr, L"%c%n%c", &arg1, &num, &arg2);
 | 
						|
  if (ret2 != 2)
 | 
						|
    {
 | 
						|
      printf ("second fwscanf returned %d, expected 2\n", ret2);
 | 
						|
      return 4;
 | 
						|
    }
 | 
						|
 | 
						|
  if (arg2 != 'd')
 | 
						|
    {
 | 
						|
      result = FAILED;
 | 
						|
      printf ("rewind after first fwscanf failed\n");
 | 
						|
    }
 | 
						|
  else
 | 
						|
    {
 | 
						|
      printf ("Passed\n");
 | 
						|
      result = PASSED;
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
  fclose (fptr);
 | 
						|
  return result;
 | 
						|
}
 |