// RUN: %clangxx -O0 -g %s -o %t && %run %t 2>&1 | FileCheck %s // // UNSUPPORTED: linux, darwin, solaris #include #include #include int main(void) { printf("fseek\n"); FILE *fp = fopen("/etc/fstab", "r"); assert(fp); int rv = fseek(fp, 10, SEEK_SET); assert(!rv); printf("position: %ld\n", ftell(fp)); rewind(fp); printf("position: %ld\n", ftell(fp)); rv = fseeko(fp, 15, SEEK_SET); assert(!rv); printf("position: %" PRIuMAX "\n", (uintmax_t)ftello(fp)); fpos_t pos; rv = fgetpos(fp, &pos); assert(!rv); rewind(fp); printf("position: %" PRIuMAX "\n", (uintmax_t)ftello(fp)); rv = fsetpos(fp, &pos); assert(!rv); printf("position: %" PRIuMAX "\n", (uintmax_t)ftello(fp)); rv = fclose(fp); assert(!rv); // CHECK: fseek // CHECK: position: 10 // CHECK: position: 0 // CHECK: position: 15 // CHECK: position: 0 // CHECK: position: 15 return 0; }