X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=linux.c;fp=linux.c;h=9ccd3b384608d8ed4fd62551a4744f9af04cc5bb;hb=12056e2f75c01a8512d046ce5d8ed9d72e7cf22b;hp=d70a45f90a2260041c9d1722daa192bb69f55faa;hpb=5bd33b7c8be499b970192d144409bec7072fc701;p=libserialport.git diff --git a/linux.c b/linux.c index d70a45f..9ccd3b3 100644 --- a/linux.c +++ b/linux.c @@ -160,11 +160,14 @@ SP_PRIV enum sp_return list_ports(struct sp_port ***list) { char name[PATH_MAX], target[PATH_MAX]; struct dirent entry, *result; +#ifdef HAVE_SERIAL_STRUCT struct serial_struct serial_info; + int ioctl_result; +#endif #ifndef HAVE_READLINKAT char buf[sizeof(entry.d_name) + 16]; #endif - int len, fd, ioctl_result; + int len, fd; DIR *dir; int ret = SP_OK; @@ -196,8 +199,11 @@ SP_PRIV enum sp_return list_ports(struct sp_port ***list) DEBUG("open failed, skipping"); continue; } +#ifdef HAVE_SERIAL_STRUCT ioctl_result = ioctl(fd, TIOCGSERIAL, &serial_info); +#endif close(fd); +#ifdef HAVE_SERIAL_STRUCT if (ioctl_result != 0) { DEBUG("ioctl failed, skipping"); continue; @@ -206,6 +212,7 @@ SP_PRIV enum sp_return list_ports(struct sp_port ***list) DEBUG("port type is unknown, skipping"); continue; } +#endif } DEBUG("Found port %s", name); *list = list_append(*list, name);