mirror of git://sourceware.org/git/glibc.git
				
				
				
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			876 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			876 B
		
	
	
	
		
			C
		
	
	
	
| #include <stdio.h>
 | |
| #include <unistd.h>
 | |
| #include <string.h>
 | |
| 
 | |
| int stdio_block_read = 1, stdio_block_write = 1;
 | |
| 
 | |
| int
 | |
| main (int argc, char *argv[])
 | |
| {
 | |
|   FILE *f;
 | |
|   int i;
 | |
|   char buffer[31];
 | |
|   const char filename[] = "/tmp/bug4.test";
 | |
| 
 | |
|   while ((i = getopt (argc, argv, "rw")) != -1)
 | |
|     switch (i)
 | |
|       {
 | |
|       case 'r':
 | |
| 	stdio_block_read = 0;
 | |
| 	break;
 | |
|       case 'w':
 | |
| 	stdio_block_write = 0;
 | |
| 	break;
 | |
|       }
 | |
| 
 | |
|   f = fopen (filename, "w+");
 | |
|   for (i = 0; i < 9000; ++i)
 | |
|     putc('x', f);
 | |
| 
 | |
|   fseek (f, 8180L, 0);
 | |
|   fwrite ("Where does this text come from?", 1, 31, f);
 | |
|   fseek (f, 8180L, 0);
 | |
|   fread (buffer, 1, 31, f);
 | |
|   fwrite (buffer, 1, 31, stdout);
 | |
|   fclose (f);
 | |
|   remove (filename);
 | |
| 
 | |
|   if (!memcmp (buffer, "Where does this text come from?", 31))
 | |
|     {
 | |
|       puts ("\nTest succeeded.");
 | |
|       return 0;
 | |
|     }
 | |
|   else
 | |
|     {
 | |
|       puts ("\nTest FAILED!");
 | |
|       return 1;
 | |
|     }
 | |
| }
 |