]> sigrok.org Git - libserialport.git/commitdiff
Add sp_get_port_by_name() function.
authorMartin Ling <redacted>
Sun, 3 Nov 2013 21:35:46 +0000 (21:35 +0000)
committerUwe Hermann <redacted>
Thu, 14 Nov 2013 23:42:38 +0000 (00:42 +0100)
serialport.c
serialport.h

index 3c81f9ef097af937f250f2a5ef7a23789493327f..93303767c05dfb512926c538cbb6748dcade4db6 100644 (file)
 
 #include "serialport.h"
 
-static struct sp_port *sp_port_new(const char *portname)
+struct sp_port *sp_get_port_by_name(const char *portname)
 {
        struct sp_port *port;
        int len;
 
+       if (!portname)
+               return NULL;
+
        if (!(port = malloc(sizeof(struct sp_port))))
                return NULL;
 
@@ -74,7 +77,7 @@ static struct sp_port **sp_list_append(struct sp_port **list, const char *portna
        if (!(tmp = realloc(list, sizeof(struct sp_port *) * (count + 2))))
                goto fail;
        list = tmp;
-       if (!(list[count] = sp_port_new(portname)))
+       if (!(list[count] = sp_get_port_by_name(portname)))
                goto fail;
        list[count + 1] = NULL;
        return list;
index 8c427202d260abc5d6cd89d41305d09557a68aa2..9a32109743b60f6c31bd30221958d9c701f23412 100644 (file)
@@ -79,6 +79,7 @@ enum {
        SP_FLOW_SOFTWARE = 2
 };
 
+struct sp_port *sp_get_port_by_name(const char *portname);
 struct sp_port **sp_list_ports(void);
 void sp_free_port_list(struct sp_port **ports);
 int sp_open(struct sp_port *port, int flags);