1 // RUN: %clangxx -g %s -o %t && %run %t
2 
3 #include <assert.h>
4 #include <stdio.h>
5 
main(int argc,char ** argv)6 int main(int argc, char **argv) {
7   FILE *fp = fopen(argv[0], "r");
8   assert(fp);
9 
10   // the file should be at least one character long, always
11   assert(fgetc(fp) != EOF);
12   // POSIX guarantees being able to ungetc() at least one character
13   assert(ungetc('X', fp) != EOF);
14   // check whether ungetc() worked
15   assert(getc(fp) == 'X');
16 
17   assert(!fclose(fp));
18   return 0;
19 }
20