]> git.armaanb.net Git - sic.git/blobdiff - util.c
Initial config changes
[sic.git] / util.c
diff --git a/util.c b/util.c
index 707fc1388c1b1505595835e11cfba3fdb504bc55..8cea8836cf6dc14dbadb5394201b45cda9dc0d34 100644 (file)
--- a/util.c
+++ b/util.c
@@ -18,9 +18,9 @@ eprint(const char *fmt, ...) {
 
 static int
 dial(char *host, char *port) {
-       static struct addrinfo hints;
-       int srv;
+       struct addrinfo hints;
        struct addrinfo *res, *r;
+       int fd;
 
        memset(&hints, 0, sizeof hints);
        hints.ai_family = AF_UNSPEC;
@@ -28,47 +28,39 @@ dial(char *host, char *port) {
        if(getaddrinfo(host, port, &hints, &res) != 0)
                eprint("error: cannot resolve hostname '%s':", host);
        for(r = res; r; r = r->ai_next) {
-               if((srv = socket(r->ai_family, r->ai_socktype, r->ai_protocol)) == -1)
+               if((fd = socket(r->ai_family, r->ai_socktype, r->ai_protocol)) == -1)
                        continue;
-               if(connect(srv, r->ai_addr, r->ai_addrlen) == 0)
+               if(connect(fd, r->ai_addr, r->ai_addrlen) == 0)
                        break;
-               close(srv);
+               close(fd);
        }
        freeaddrinfo(res);
        if(!r)
                eprint("error: cannot connect to host '%s'\n", host);
-       return srv;
-}
-
-#define strlcpy _strlcpy
-static void
-strlcpy(char *to, const char *from, int l) {
-       memccpy(to, from, '\0', l);
-       to[l-1] = '\0';
+       return fd;
 }
 
 static char *
 eat(char *s, int (*p)(int), int r) {
-       while(s != '\0' && p(*s) == r)
+       while(*s != '\0' && p((unsigned char)*s) == r)
                s++;
        return s;
 }
 
 static char*
 skip(char *s, char c) {
-        while(*s != c && *s != '\0')
-                s++;
-        if (*s != '\0')
-                *s++ = '\0';
-        return s;
+       while(*s != c && *s != '\0')
+               s++;
+       if(*s != '\0')
+               *s++ = '\0';
+       return s;
 }
 
 static void
 trim(char *s) {
        char *e;
 
-       e = s + strlen(s) - 1;
-       while (isspace(*e) && e > s)
-               e--;
-       *(e + 1) = '\0';
+       for (e = s + strlen(s); e > s && isspace((unsigned char)*(e - 1)); e--)
+               ;
+       *e = '\0';
 }