]> git.zerfleddert.de Git - record-dvb/blobdiff - common.c
'cleanup'. it's still as ugly as before
[record-dvb] / common.c
index 80327f5292ed0b711fefa261e485309087810916..825b5aebebff69b73b0550110ab11fec1184d3d2 100644 (file)
--- a/common.c
+++ b/common.c
 
 struct dvb_host *parse(char *urlpart, char *defport)
 {
-       struct dvb_host *dvbhost;
+       static struct dvb_host *dvbhost = NULL;
        char *pos;
 
-       if (!(dvbhost = malloc(sizeof(struct dvb_host)))) {
-               perror("malloc");
-               exit(EXIT_FAILURE);
+       if (!dvbhost) {
+               if (!(dvbhost = malloc(sizeof(struct dvb_host)))) {
+                       perror("malloc");
+                       exit(EXIT_FAILURE);
+               }
        }
 
        bzero(dvbhost, sizeof(struct dvb_host));
@@ -90,3 +92,20 @@ int resolve(struct dvb_host *dvbhost, struct sockaddr_in *server)
        return 0;
 }
 
+int is_url(char *string)
+{
+       char *pos;
+
+       if (!(strlen(string)))
+               return 0;
+
+       pos = string;
+
+       while(*pos != ':' && *pos != 0)
+               pos++;
+
+       if (!strncmp("://", pos, 3))
+               return 1;
+
+       return 0;
+}
Impressum, Datenschutz