mirror of git://sourceware.org/git/glibc.git
				
				
				
			
		
			
				
	
	
		
			52 lines
		
	
	
		
			965 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			965 B
		
	
	
	
		
			C
		
	
	
	
| /*@group*/
 | |
| #include <unistd.h>
 | |
| #include <stdio.h>
 | |
| 
 | |
| int 
 | |
| main (int argc, char **argv)
 | |
| {
 | |
|   int aflag = 0;
 | |
|   int bflag = 0;
 | |
|   char *cvalue = NULL;
 | |
|   int index;
 | |
|   int c;
 | |
| 
 | |
|   opterr = 0;
 | |
| /*@end group*/
 | |
| 
 | |
| /*@group*/
 | |
|   while ((c = getopt (argc, argv, "abc:")) != -1)
 | |
|     switch (c)
 | |
|       {
 | |
|       case 'a':
 | |
|         aflag = 1;
 | |
|         break;
 | |
|       case 'b':
 | |
|         bflag = 1;
 | |
|         break;
 | |
|       case 'c':
 | |
|         cvalue = optarg;
 | |
|         break;
 | |
|       case '?':
 | |
|         if (isprint (optopt))
 | |
|           fprintf (stderr, "Unknown option `-%c'.\n", optopt);
 | |
|         else
 | |
|           fprintf (stderr,
 | |
|                    "Unknown option character `\\x%x'.\n",
 | |
|                    optopt);
 | |
|         return 1;
 | |
|       default:
 | |
|         abort ();
 | |
|       }
 | |
| /*@end group*/
 | |
| 
 | |
| /*@group*/
 | |
|   printf ("aflag = %d, bflag = %d, cvalue = %s\n",
 | |
| 	  aflag, bflag, cvalue);
 | |
| 
 | |
|   for (index = optind; index < argc; index++)
 | |
|     printf ("Non-option argument %s\n", argv[index]);
 | |
|   return 0;
 | |
| }
 | |
| /*@end group*/
 |