summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/sanitizer_common/TestCases/Posix/getfsent.cpp
blob: 687a7a7d4879aebffdc07d4ad3429b14c0589763 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// RUN: %clangxx -O0 -g %s -o %t && %run %t 2>&1 | FileCheck %s
//
// UNSUPPORTED: linux, darwin, solaris

#include <assert.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <fstab.h>

int main(void) {
  printf("getfsent\n");

  setfsent();
  struct fstab *fentry = getfsent();

  assert(fentry);

  setfsent();
  struct fstab *pentry = getfsspec(fentry->fs_spec);
  assert(pentry);
  setfsent();
  struct fstab *wentry = getfsfile(fentry->fs_file);
  assert(wentry);
  assert(!memcmp(fentry, wentry, sizeof(*wentry)));
  assert(!memcmp(pentry, wentry, sizeof(*pentry)));

  printf("First entry: device block '%s', mounted with '%s'\n",
    fentry->fs_spec, fentry->fs_mntops);

  endfsent();

  return 0;
  // CHECK: getfsent
  // CHECK: First entry: device block '{{.*}}', mounted with '{{.*}}'
}
OpenPOWER on IntegriCloud