ptsname.c 472 Bytes
// RUN: %clang %s -o %t && %run %t

#define _GNU_SOURCE
#define _XOPEN_SOURCE 600

#include <assert.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int main() {
  int pt = posix_openpt(O_NOCTTY);
  if (pt == -1)
    return 0;
  char *s = ptsname(pt);
  assert(s);
  assert(strstr(s, "/dev"));

  char buff[1000] = {};
  int r = ptsname_r(pt, buff, sizeof(buff));
  assert(!r);
  assert(strstr(buff, "/dev"));

  close(pt);
  return 0;
}