1*74989affSNico Weber // RUN: %clangxx -O0 -g %s -o %t && %run %t 2>&1 | FileCheck %s 2*74989affSNico Weber 3*74989affSNico Weber #include <assert.h> 4*74989affSNico Weber #include <fcntl.h> 5*74989affSNico Weber #include <stdio.h> 6*74989affSNico Weber #include <stdlib.h> 7*74989affSNico Weber #include <unistd.h> 8*74989affSNico Weber #include <sys/stat.h> 9*74989affSNico Weber test_fdevname()10*74989affSNico Webervoid test_fdevname() { 11*74989affSNico Weber int fd = open("/dev/null", O_RDONLY); 12*74989affSNico Weber char *name; 13*74989affSNico Weber 14*74989affSNico Weber printf("test_fdevname\n"); 15*74989affSNico Weber assert(fd != -1); 16*74989affSNico Weber assert((name = fdevname(fd))); 17*74989affSNico Weber close(fd); 18*74989affSNico Weber 19*74989affSNico Weber printf("%s\n", name); 20*74989affSNico Weber } 21*74989affSNico Weber test_fdevname_r()22*74989affSNico Webervoid test_fdevname_r() { 23*74989affSNico Weber int fd = open("/dev/null", O_RDONLY); 24*74989affSNico Weber char *name; 25*74989affSNico Weber char buf[5]; 26*74989affSNico Weber 27*74989affSNico Weber printf("test_fdevname_r\n"); 28*74989affSNico Weber assert(fd != -1); 29*74989affSNico Weber assert((name = fdevname_r(fd, buf, sizeof(buf)))); 30*74989affSNico Weber close(fd); 31*74989affSNico Weber 32*74989affSNico Weber printf("%s\n", name); 33*74989affSNico Weber } 34*74989affSNico Weber main(void)35*74989affSNico Weberint main(void) { 36*74989affSNico Weber test_fdevname(); 37*74989affSNico Weber test_fdevname_r(); 38*74989affSNico Weber // CHECK: test_fdevname 39*74989affSNico Weber // CHECK: null 40*74989affSNico Weber // CHECK: test_fdevname_r 41*74989affSNico Weber // CHECK: null 42*74989affSNico Weber 43*74989affSNico Weber return 0; 44*74989affSNico Weber } 45