// FIXME: https://code.google.com/p/address-sanitizer/issues/detail?id=316
// XFAIL: android
//
// RUN: %clangxx_asan -O0 %s -o %t && %run %t %p 2>&1 | FileCheck %s
// RUN: %clangxx_asan -O3 %s -o %t && %run %t %p 2>&1 | FileCheck %s
// XFAIL: arm-linux-gnueabi

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


int main(int argc, char *argv[]) {
  std::string path = argv[1];
  std::string pattern = path + "/glob_test_root/*a";
  printf("pattern: %s\n", pattern.c_str());

  glob_t globbuf;
  int res = glob(pattern.c_str(), 0, 0, &globbuf);

  printf("%d %s\n", errno, strerror(errno));
  assert(res == 0);
  assert(globbuf.gl_pathc == 2);
  printf("%zu\n", strlen(globbuf.gl_pathv[0]));
  printf("%zu\n", strlen(globbuf.gl_pathv[1]));
  globfree(&globbuf);
  printf("PASS\n");
  // CHECK: PASS
  return 0;
}
