mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	* sysdeps/unix/sysv/linux/internal_statvfs.c (__internal_statvfs): Avoid infinite loops in case the mounts file is hosed. * io/Makefile: Add rules to build and run tst-statvfs. * io/tst-statvfs.c: New file.
		
			
				
	
	
		
			31 lines
		
	
	
		
			758 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			758 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include <stdio.h>
 | 
						|
#include <sys/statvfs.h>
 | 
						|
 | 
						|
 | 
						|
/* This test cannot detect many errors.  But it will fail if the
 | 
						|
   statvfs is completely hosed and it'll detect a missing export.  So
 | 
						|
   it is better than nothing.  */
 | 
						|
static int
 | 
						|
do_test (int argc, char *argv[])
 | 
						|
{
 | 
						|
  for (int i = 1; i < argc; ++i)
 | 
						|
    {
 | 
						|
      struct statvfs st;
 | 
						|
      if (statvfs (argv[i], &st) != 0)
 | 
						|
        printf ("%s: failed (%m)\n", argv[i]);
 | 
						|
      else
 | 
						|
        printf ("%s: free: %llu, mandatory: %s\n", argv[i],
 | 
						|
                (unsigned long long int) st.f_bfree,
 | 
						|
#ifdef ST_MANDLOCK
 | 
						|
                (st.f_flag & ST_MANDLOCK) ? "yes" : "no"
 | 
						|
#else
 | 
						|
                "no"
 | 
						|
#endif
 | 
						|
                );
 | 
						|
    }
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
#define TEST_FUNCTION do_test (argc, argv)
 | 
						|
#include "../test-skeleton.c"
 |