// RUN: %clangxx -g %s -o %t && %run %t
#include <assert.h>
#include <stdio.h>
int main(int argc, char **argv) {
FILE *fp = fopen(argv[0], "r");
assert(fp);
// the file should be at least one character long, always
assert(fgetc(fp) != EOF);
// POSIX guarantees being able to ungetc() at least one character
assert(ungetc('X', fp) != EOF);
// check whether ungetc() worked
assert(getc(fp) == 'X');
assert(!fclose(fp));
return 0;
}