From: Aurelien Jacobs Date: Thu, 4 Sep 2014 18:13:55 +0000 (+0200) Subject: linux: remove readlinkat() dependency X-Git-Tag: libserialport-0.1.1~102 X-Git-Url: https://sigrok.org/gitweb/?p=libserialport.git;a=commitdiff_plain;h=653cef3ab1a71a76c8c5a503af6ce74b731ecc42 linux: remove readlinkat() dependency --- diff --git a/configure.ac b/configure.ac index 457d6f9..96d5277 100644 --- a/configure.ac +++ b/configure.ac @@ -119,9 +119,6 @@ AC_CHECK_MEMBERS([struct termios.c_ispeed, struct termios.c_ospeed], AC_CHECK_MEMBERS([struct termios2.c_ispeed, struct termios2.c_ospeed], [AC_DEFINE(HAVE_TERMIOS2_SPEED, 1)], [], [[#include ]]) -# Check for readlinkat. -AC_CHECK_FUNC([readlinkat], [AC_DEFINE(HAVE_READLINKAT, 1)], []) - # Check for serial_struct. AC_CHECK_TYPE([struct serial_struct], [AC_DEFINE(HAVE_SERIAL_STRUCT, 1)], [], [[#include ]]) diff --git a/libserialport_internal.h b/libserialport_internal.h index bef84b6..9d582f8 100644 --- a/libserialport_internal.h +++ b/libserialport_internal.h @@ -20,7 +20,6 @@ #ifdef __linux__ #define _BSD_SOURCE // for timeradd, timersub, timercmp -#define _XOPEN_SOURCE 700 // for readlinkat #endif #include diff --git a/linux.c b/linux.c index e995347..61446a4 100644 --- a/linux.c +++ b/linux.c @@ -165,9 +165,7 @@ SP_PRIV enum sp_return list_ports(struct sp_port ***list) struct serial_struct serial_info; int ioctl_result; #endif -#ifndef HAVE_READLINKAT char buf[sizeof(entry.d_name) + 16]; -#endif int len, fd; DIR *dir; int ret = SP_OK; @@ -178,12 +176,8 @@ SP_PRIV enum sp_return list_ports(struct sp_port ***list) DEBUG("Iterating over results"); while (!readdir_r(dir, &entry, &result) && result) { -#ifdef HAVE_READLINKAT - len = readlinkat(dirfd(dir), entry.d_name, target, sizeof(target)); -#else snprintf(buf, sizeof(buf), "/sys/class/tty/%s", entry.d_name); len = readlink(buf, target, sizeof(target)); -#endif if (len <= 0 || len >= (int) sizeof(target)-1) continue; target[len] = 0;