]> sigrok.org Git - libserialport.git/blobdiff - freebsd.c
change type of result variables to ssize_t
[libserialport.git] / freebsd.c
index d1fabee93e1d7701e0c565366725c2273529c1e8..b51b731b6071fc3523e0e2369d861c8822130a48 100644 (file)
--- a/freebsd.c
+++ b/freebsd.c
@@ -76,6 +76,7 @@
  *    device description.
  */
 
+#include <config.h>
 #include <unistd.h>
 #include <stdint.h>
 #include <stdlib.h>
@@ -133,7 +134,7 @@ static int libusb_query_port(struct libusb20_device *dev, int idx,
        if (sbuf[0] == 0)
                return rc;
 
-       DBG("device interface descriptor: idx=%003d '%s'\n", idx, sbuf);
+       DBG("Device interface descriptor: idx=%003d '%s'\n", idx, sbuf);
        j = strchr(sbuf, ':');
        if (j > sbuf) {
                sbuf[j - sbuf] = 0;
@@ -162,7 +163,7 @@ static int sysctl_query_dev_drv(const char *drv_name_str,
        if (!ttyname || !ttyport_cnt)
                return -1;
 
-       snprintf(sbuf, sizeof(sbuf) - 1, "dev.%s.%s.ttyname", drv_name_str,
+       snprintf(sbuf, sizeof(sbuf), "dev.%s.%s.ttyname", drv_name_str,
                 drv_inst_str);
        tbuf_len = sizeof(tbuf) - 1;
        if ((rc = sysctlbyname(sbuf, tbuf, &tbuf_len, NULL, 0)) != 0)
@@ -173,7 +174,7 @@ static int sysctl_query_dev_drv(const char *drv_name_str,
        DBG("sysctl: '%s' (%d) (%d): '%.*s'\n", sbuf, rc, (int)tbuf_len,
            (int)tbuf_len, tbuf);
 
-       snprintf(sbuf, sizeof(sbuf) - 1, "dev.%s.%s.ttyports",
+       snprintf(sbuf, sizeof(sbuf), "dev.%s.%s.ttyports",
                 drv_name_str, drv_inst_str);
        tbuf_len = sizeof(tbuf) - 1;
        rc = sysctlbyname(sbuf, tbuf, &tbuf_len, NULL, 0);
@@ -244,19 +245,19 @@ SP_PRIV enum sp_return get_port_details(struct sp_port *port)
        uint8_t idx;
        int sub_inst;
 
-       DBG("portname: '%s'\n", port->name);
+       DBG("Portname: '%s'\n", port->name);
 
        if (!strncmp(port->name, DEV_CUA_PATH, strlen(DEV_CUA_PATH))) {
                cua_sfx = port->name + strlen(DEV_CUA_PATH);
                DBG("'%s': '%s'\n", DEV_CUA_PATH, cua_sfx);
        } else {
-               RETURN_ERROR(SP_ERR_ARG, "Device name not recognized.");
+               RETURN_ERROR(SP_ERR_ARG, "Device name not recognized");
        }
 
        /* Native UART enumeration. */
        if ((cua_sfx[0] == 'u') || (cua_sfx[0] == 'd')) {
                port->transport = SP_TRANSPORT_NATIVE;
-               snprintf(tbuf, sizeof(tbuf) - 1, "cua%s", cua_sfx);
+               snprintf(tbuf, sizeof(tbuf), "cua%s", cua_sfx);
                port->description = strdup(tbuf);
                RETURN_OK();
        }
@@ -271,7 +272,7 @@ SP_PRIV enum sp_return get_port_details(struct sp_port *port)
                        break;
 
                libusb20_dev_open(dev, 0);
-               DBG("device descriptor: '%s'\n", libusb20_dev_get_desc(dev));
+               DBG("Device descriptor: '%s'\n", libusb20_dev_get_desc(dev));
 
                for (idx = 0; idx <= UINT8_MAX - 1; idx++) {
                        char *drv_name_str = NULL;
@@ -287,9 +288,9 @@ SP_PRIV enum sp_return get_port_details(struct sp_port *port)
                                        /* Handle multiple subinstances of serial ports in the same driver instance. */
                                        for (sub_inst = 0; sub_inst < ttyport_cnt; sub_inst++) {
                                                if (ttyport_cnt == 1)
-                                                       snprintf(tbuf, sizeof(tbuf) - 1, "%s", ttyname);
+                                                       snprintf(tbuf, sizeof(tbuf), "%s", ttyname);
                                                else
-                                                       snprintf(tbuf, sizeof(tbuf) - 1, "%s.%d", ttyname, sub_inst);
+                                                       snprintf(tbuf, sizeof(tbuf), "%s.%d", ttyname, sub_inst);
                                                if (!strcmp(cua_sfx, tbuf)) {
                                                        DBG("MATCH: '%s' == '%s'\n", cua_sfx, tbuf);
                                                        cua_dev_found = 1;
@@ -316,7 +317,7 @@ SP_PRIV enum sp_return get_port_details(struct sp_port *port)
        libusb20_be_free(be);
 
        if (cua_dev_found == 0)
-               DBG("WARN: found no match '%s' %s'\n", port->name, cua_sfx);
+               DBG("WARN: Found no match '%s' %s'\n", port->name, cua_sfx);
 
        RETURN_OK();
 }
@@ -324,36 +325,35 @@ SP_PRIV enum sp_return get_port_details(struct sp_port *port)
 SP_PRIV enum sp_return list_ports(struct sp_port ***list)
 {
        DIR *dir;
-       struct dirent entry;
-       struct dirent *result;
+       struct dirent *entry;
        struct termios tios;
        char name[PATH_MAX];
        int fd, ret;
 
        DEBUG("Enumerating tty devices");
        if (!(dir = opendir("/dev")))
-               RETURN_FAIL("could not open dir /dev");
+               RETURN_FAIL("Could not open dir /dev");
 
        DEBUG("Iterating over results");
-       while (!readdir_r(dir, &entry, &result) && result) {
+       while ((entry = readdir(dir))) {
                ret = SP_OK;
-               if (entry.d_type != DT_CHR)
+               if (entry->d_type != DT_CHR)
                        continue;
-               if (strncmp(entry.d_name, "cuaU", 4) != 0)
-                       if (strncmp(entry.d_name, "cuau", 4) != 0)
-                               if (strncmp(entry.d_name, "cuad", 4) != 0)
+               if (strncmp(entry->d_name, "cuaU", 4) != 0)
+                       if (strncmp(entry->d_name, "cuau", 4) != 0)
+                               if (strncmp(entry->d_name, "cuad", 4) != 0)
                                        continue;
-               if (strend(entry.d_name, ".init"))
+               if (strend(entry->d_name, ".init"))
                        continue;
-               if (strend(entry.d_name, ".lock"))
+               if (strend(entry->d_name, ".lock"))
                        continue;
 
-               snprintf(name, sizeof(name), "/dev/%s", entry.d_name);
+               snprintf(name, sizeof(name), "/dev/%s", entry->d_name);
                DEBUG_FMT("Found device %s", name);
 
                /* Check that we can open tty/cua device in rw mode - we need that. */
                if ((fd = open(name, O_RDWR | O_NONBLOCK | O_NOCTTY | O_TTY_INIT | O_CLOEXEC)) < 0) {
-                       DEBUG("open failed, skipping");
+                       DEBUG("Open failed, skipping");
                        continue;
                }
 
@@ -369,11 +369,11 @@ SP_PRIV enum sp_return list_ports(struct sp_port ***list)
                        continue;
 
                DEBUG_FMT("Found port %s", name);
-               DBG("%s: %s\n", __func__, entry.d_name);
+               DBG("%s: %s\n", __func__, entry->d_name);
 
                *list = list_append(*list, name);
-               if (!list) {
-                       SET_ERROR(ret, SP_ERR_MEM, "list append failed");
+               if (!*list) {
+                       SET_ERROR(ret, SP_ERR_MEM, "List append failed");
                        break;
                }
        }