1 // RUN: %clangxx -g %s -o %t && %run %t 2 3 #include <assert.h> 4 #include <stdio.h> 5 main(int argc,char ** argv)6int 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(getc_unlocked(fp) != EOF); 12 // POSIX guarantees being able to ungetc() at least one character 13 // NB: ungetc_unlocked is apparently not present 14 assert(ungetc('X', fp) != EOF); 15 // check whether ungetc() works with getc_unlocked() 16 assert(getc_unlocked(fp) == 'X'); 17 18 assert(!fclose(fp)); 19 return 0; 20 } 21