[xiph-cvs] cvs commit: icecast/src geturl.c geturl.h source.c yp.c yp.h

Ed oddsock at xiph.org
Sun Feb 2 08:48:16 PST 2003



oddsock     03/02/02 11:48:16

  Modified:    src      geturl.c geturl.h source.c yp.c yp.h
  Log:
  style changes

Revision  Changes    Path
1.2       +122 -125  icecast/src/geturl.c

Index: geturl.c
===================================================================
RCS file: /usr/local/cvsroot/icecast/src/geturl.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- geturl.c	2 Feb 2003 14:24:13 -0000	1.1
+++ geturl.c	2 Feb 2003 16:48:15 -0000	1.2
@@ -17,162 +17,159 @@
 #include <curl/easy.h>
 
 
-#define CATMODULE "CURL" 
+#define CATMODULE "geturl" 
 
-static CurlConnection	curlConnections[NUM_CONNECTIONS];
-static int		nunConnections = NUM_CONNECTIONS;
+static curl_connection curl_connections[NUM_CONNECTIONS];
 mutex_t _curl_mutex;
 
 size_t
-WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data)
+curl_write_memory_callback(void *ptr, size_t size, size_t nmemb, void *data)
 {
-	register int realsize = size * nmemb;
+    register int realsize = size * nmemb;
 
-	struct MemoryStruct *mem = (struct MemoryStruct *)data;
+    struct curl_memory_struct *mem = (struct curl_memory_struct *)data;
 
-	if ((realsize + mem->size) < YP_RESPONSE_SIZE-1) {
-		strncat(mem->memory, ptr, realsize);
-	}
+    if ((realsize + mem->size) < YP_RESPONSE_SIZE-1) {
+        strncat(mem->memory, ptr, realsize);
+    }
 
-	return realsize;
+    return realsize;
 }
 size_t
-HeaderMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data)
+curl_header_memory_callback(void *ptr, size_t size, size_t nmemb, void *data)
 {
-	char	*p1 = 0;
-	char	*p2 = 0;
-	int	copylen = 0;
-	register int realsize = size * nmemb;
-	struct MemoryStruct2 *mem = (struct MemoryStruct2 *)data;
-
-	if (!strncmp(ptr, "SID: ", strlen("SID: "))) {
-		p1 = (char *)ptr + strlen("SID: ");
-		p2 = strchr((const char *)p1, '\r');
-		memset(mem->sid, '\000', sizeof(mem->sid));
-		if (p2) {
-			if (p2-p1 > sizeof(mem->sid)-1) {
-				copylen = sizeof(mem->sid)-1;
-			}
-			else {
-				copylen = p2-p1;
-			}
-			strncpy(mem->sid, p1, copylen);
-		}
-		else {
-			strncpy(mem->sid, p1, sizeof(mem->sid)-1);
-			strcpy(mem->sid, p1);
-		}
-	}
-	if (!strncmp(ptr, "YPMessage: ", strlen("YPMessage: "))) {
-		p1 = (char *)ptr + strlen("YPMessage: ");
-		p2 = strchr((const char *)p1, '\r');
-		memset(mem->message, '\000', sizeof(mem->message));
-		if (p2) {
-			if (p2-p1 > sizeof(mem->message)-1) {
-				copylen = sizeof(mem->message)-1;
-			}
-			else {
-				copylen = p2-p1;
-			}
-			strncpy(mem->message, p1, copylen);
-		}
-		else {
-			strncpy(mem->message, p1, sizeof(mem->message)-1);
-			strcpy(mem->message, p1);
-		}
-	}
-	if (!strncmp(ptr, "TouchFreq: ", strlen("TouchFreq: "))) {
-		p1 = (char *)ptr + strlen("TouchFreq: ");
-		mem->touchFreq = atoi(p1);
-	}
-	if (!strncmp(ptr, "YPResponse: ", strlen("YPResponse: "))) {
-		p1 = (char *)ptr + strlen("YPResponse: ");
-		mem->response = atoi(p1);
-	}
-	return realsize;
+    char *p1 = 0;
+    char *p2 = 0;
+    int copylen = 0;
+    register int realsize = size * nmemb;
+    struct curl_memory_struct2 *mem = (struct curl_memory_struct2 *)data;
+
+    if (!strncmp(ptr, "SID: ", strlen("SID: "))) {
+        p1 = (char *)ptr + strlen("SID: ");
+        p2 = strchr((const char *)p1, '\r');
+        memset(mem->sid, '\000', sizeof(mem->sid));
+            if (p2) {
+                if (p2-p1 > sizeof(mem->sid)-1) {
+                    copylen = sizeof(mem->sid)-1;
+                }
+                else {
+                    copylen = p2-p1;
+                }
+                strncpy(mem->sid, p1, copylen);
+            }
+            else {
+                strncpy(mem->sid, p1, sizeof(mem->sid)-1);
+                strcpy(mem->sid, p1);
+            }
+    }
+    if (!strncmp(ptr, "YPMessage: ", strlen("YPMessage: "))) {
+        p1 = (char *)ptr + strlen("YPMessage: ");
+        p2 = strchr((const char *)p1, '\r');
+        memset(mem->message, '\000', sizeof(mem->message));
+        if (p2) {
+            if (p2-p1 > sizeof(mem->message)-1) {
+                copylen = sizeof(mem->message)-1;
+            }
+            else {
+                copylen = p2-p1;
+            }
+            strncpy(mem->message, p1, copylen);
+        }
+        else {
+            strncpy(mem->message, p1, sizeof(mem->message)-1);
+            strcpy(mem->message, p1);
+        }
+    }
+    if (!strncmp(ptr, "TouchFreq: ", strlen("TouchFreq: "))) {
+        p1 = (char *)ptr + strlen("TouchFreq: ");
+        mem->touch_freq = atoi(p1);
+    }
+    if (!strncmp(ptr, "YPResponse: ", strlen("YPResponse: "))) {
+        p1 = (char *)ptr + strlen("YPResponse: ");
+        mem->response = atoi(p1);
+    }
+    return realsize;
 }
-
 int curl_initialize()
 {
-	int i = 0;
-	thread_mutex_create(&_curl_mutex);
-
-	memset(&curlConnections, '\000', sizeof(curlConnections));
-	for (i=0;i<NUM_CONNECTIONS;i++) {
-		curlConnections[i].curl_handle = curl_easy_init();
-		curl_easy_setopt(curlConnections[i].curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
-		curl_easy_setopt(curlConnections[i].curl_handle, CURLOPT_WRITEHEADER, (void *)&(curlConnections[i].headerresult));
-		curl_easy_setopt(curlConnections[i].curl_handle, CURLOPT_HEADERFUNCTION, HeaderMemoryCallback);
-		curl_easy_setopt(curlConnections[i].curl_handle, CURLOPT_FILE, (void *)&(curlConnections[i].result));
-	}
-	return(1);
+    int i = 0;
+    thread_mutex_create(&_curl_mutex);
 
+    memset(&curl_connections, '\000', sizeof(curl_connections));
+    for (i=0; i<NUM_CONNECTIONS; i++) {
+        curl_connections[i].curl_handle = curl_easy_init();
+        curl_easy_setopt(curl_connections[i].curl_handle, 
+                CURLOPT_WRITEFUNCTION, curl_write_memory_callback);
+        curl_easy_setopt(curl_connections[i].curl_handle, 
+                CURLOPT_WRITEHEADER, (void *)&(curl_connections[i].header_result));
+        curl_easy_setopt(curl_connections[i].curl_handle, 
+                CURLOPT_HEADERFUNCTION, curl_header_memory_callback);
+        curl_easy_setopt(curl_connections[i].curl_handle, 
+                CURLOPT_FILE, (void *)&(curl_connections[i].result));
+    }
+    return(1);
 }
-
 void curl_shutdown()
 {
-	int i = 0;
-	for (i=0;i<NUM_CONNECTIONS;i++) {
-		curl_easy_cleanup(curlConnections[i].curl_handle);
-		memset(&(curlConnections[i]), '\000', sizeof(curlConnections[i]));
-	}
-
-}
-
-int getCurlConnection()
-{
-	int found = 0;
-	int	curlConnection = -1;
-	int i = 0;
-	while (!found) {
-		thread_mutex_lock(&_curl_mutex);
-		for (i=0;i<NUM_CONNECTIONS;i++) {
-			if (!curlConnections[i].inUse) {
-				found = 1;
-				curlConnections[i].inUse = 1;
-				curlConnection = i;
-				break;
-			}
-		}
-		thread_mutex_unlock(&_curl_mutex);
+    int i = 0;
+    for (i=0; i<NUM_CONNECTIONS; i++) {
+        curl_easy_cleanup(curl_connections[i].curl_handle);
+        memset(&(curl_connections[i]), '\000', sizeof(curl_connections[i]));
+    }
+}
+int curl_get_connection()
+{
+    int found = 0;
+    int curl_connection = -1;
+    int i = 0;
+    while (!found) {
+        thread_mutex_lock(&_curl_mutex);
+        for (i=0; i<NUM_CONNECTIONS; i++) {
+            if (!curl_connections[i].in_use) {
+                found = 1;
+                curl_connections[i].in_use = 1;
+                curl_connection = i;
+                break;
+            }
+        }
+        thread_mutex_unlock(&_curl_mutex);
 #ifdef WIN32
-		Sleep(200);
+        Sleep(200);
 #else
-		usleep(200);
+        usleep(200);
 #endif
-	}
-	return(curlConnection);
+    }
+    return(curl_connection);
 }
-int releaseCurlConnection(int which)
+int curl_release_connection(int which)
 {
-	thread_mutex_lock(&_curl_mutex);
-	curlConnections[which].inUse = 0;
-	memset(&(curlConnections[which].result), '\000', sizeof(curlConnections[which].result));
-	memset(&(curlConnections[which].headerresult), '\000', sizeof(curlConnections[which].headerresult));
-	thread_mutex_unlock(&_curl_mutex);
-
-	return 1;
+    thread_mutex_lock(&_curl_mutex);
+    curl_connections[which].in_use = 0;
+    memset(&(curl_connections[which].result), '\000', 
+                sizeof(curl_connections[which].result));
+    memset(&(curl_connections[which].header_result), '\000', 
+                sizeof(curl_connections[which].header_result));
+    thread_mutex_unlock(&_curl_mutex);
+    return 1;
 }
-
-
-void printHeaderResult(struct MemoryStruct2 *mem) {
-	DEBUG1("SID -> (%s)", mem->sid);
-	DEBUG1("Message -> (%s)", mem->message);
-	DEBUG1("Touch Freq -> (%d)", mem->touchFreq);
-	DEBUG1("Response -> (%d)", mem->response);
+void curl_print_header_result(struct curl_memory_struct2 *mem) {
+    DEBUG1("SID -> (%s)", mem->sid);
+    DEBUG1("Message -> (%s)", mem->message);
+    DEBUG1("Touch Freq -> (%d)", mem->touch_freq);
+    DEBUG1("Response -> (%d)", mem->response);
 }
 
 
-CURL *getCurlHandle(int which)
+CURL *curl_get_handle(int which)
 {
-	return curlConnections[which].curl_handle;
+    return curl_connections[which].curl_handle;
 }
-struct MemoryStruct *getCurlResult(int which)
+struct curl_memory_struct *curl_get_result(int which)
 {
-	return &(curlConnections[which].result);
+    return &(curl_connections[which].result);
 }
 
-struct MemoryStruct2 *getCurlHeaderResult(int which)
+struct curl_memory_struct2 *curl_get_header_result(int which)
 {
-	return &(curlConnections[which].headerresult);
+    return &(curl_connections[which].header_result);
 }

<p><p>1.2       +21 -21    icecast/src/geturl.h

Index: geturl.h
===================================================================
RCS file: /usr/local/cvsroot/icecast/src/geturl.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- geturl.h	2 Feb 2003 14:24:13 -0000	1.1
+++ geturl.h	2 Feb 2003 16:48:15 -0000	1.2
@@ -13,33 +13,33 @@
 #define YP_RESPONSE_SIZE 2046
 #define YP_SID_SIZE 255
 
-struct MemoryStruct {
-	char memory[YP_RESPONSE_SIZE];
-	size_t size;
+struct curl_memory_struct {
+    char memory[YP_RESPONSE_SIZE];
+    size_t size;
 };
-struct MemoryStruct2 {
-	char 	sid[YP_SID_SIZE];
-	char 	message[YP_RESPONSE_SIZE];
-	int	touchFreq;
-	int	response;
-	size_t size;
+struct curl_memory_struct2 {
+    char sid[YP_SID_SIZE];
+    char message[YP_RESPONSE_SIZE];
+    int touch_freq;
+    int response;
+    size_t size;
 };
 
-typedef struct tag_CurlConnection {
-	struct MemoryStruct	result;
-	struct MemoryStruct2	headerresult;
-	CURL		*curl_handle;
-	int		inUse;
-} CurlConnection;
+typedef struct tag_curl_connection {
+    struct curl_memory_struct result;
+    struct curl_memory_struct2 header_result;
+    CURL *curl_handle;
+    int in_use;
+} curl_connection;
 
 
 int curl_initialize();
 void curl_shutdown();
-CURL *getCurlHandle(int which);
-struct MemoryStruct *getCurlResult(int which);
-struct MemoryStruct2 *getCurlHeaderResult(int which);
-void printHeaderResult(struct MemoryStruct2 *mem);
-int getCurlConnection();
-int releaseCurlConnection(int which);
+CURL *curl_get_handle(int which);
+struct curl_memory_struct *curl_get_result(int which);
+struct curl_memory_struct2 *curl_get_header_result(int which);
+void curl_print_header_result(struct curl_memory_struct2 *mem);
+int curl_get_connection();
+int curl_release_connection(int which);
 #endif
 

<p><p>1.31      +4 -4      icecast/src/source.c

Index: source.c
===================================================================
RCS file: /usr/local/cvsroot/icecast/src/source.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- source.c	2 Feb 2003 14:33:17 -0000	1.30
+++ source.c	2 Feb 2003 16:48:15 -0000	1.31
@@ -57,7 +57,7 @@
         src->listeners = 0;
         for (i=0;i<config_get_config()->num_yp_directories;i++) {
                 if (config_get_config()->yp_url[i]) {
-			src->ypdata[src->num_yp_directories] = create_ypdata();
+			src->ypdata[src->num_yp_directories] = yp_create_ypdata();
                         src->ypdata[src->num_yp_directories]->yp_url = config_get_config()->yp_url[i];
                         src->ypdata[src->num_yp_directories]->yp_url_timeout = config_get_config()->yp_url_timeout[i];
                         src->ypdata[src->num_yp_directories]->yp_touch_freq = 0;
@@ -117,9 +117,9 @@
         avl_tree_free(source->pending_tree, _free_client);
         avl_tree_free(source->client_tree, _free_client);
         source->format->free_plugin(source->format);
-	for (i=0;i<source->num_yp_directories;i++) {
-			destroy_ypdata(source->ypdata[i]);
-	}
+    for (i=0; i<source->num_yp_directories; i++) {
+        yp_destroy_ypdata(source->ypdata[i]);
+    }
         free(source);
 
         return 1;

<p><p>1.2       +314 -338  icecast/src/yp.c

Index: yp.c
===================================================================
RCS file: /usr/local/cvsroot/icecast/src/yp.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- yp.c	2 Feb 2003 14:24:13 -0000	1.1
+++ yp.c	2 Feb 2003 16:48:15 -0000	1.2
@@ -12,364 +12,340 @@
 #include "source.h"
 #include "config.h"
 
-#define CATMODULE "YP" 
+#define CATMODULE "yp" 
 
-int yp_submit_url(int curlCon, char *yp_url, char *pURL, char *type)
+int yp_submit_url(int curl_con, char *yp_url, char *url, char *type)
 {
-	int ret = 0;
+    int ret = 0;
 
-	curl_easy_setopt(getCurlHandle(curlCon), CURLOPT_URL, yp_url);
-	curl_easy_setopt(getCurlHandle(curlCon), CURLOPT_POSTFIELDS, pURL);
-	curl_easy_setopt(getCurlHandle(curlCon), CURLOPT_TIMEOUT, config_get_config()->yp_url_timeout);
-
-	/* get it! */
-	memset(getCurlResult(curlCon), '\000', sizeof(struct MemoryStruct));
-	memset(getCurlHeaderResult(curlCon), '\000', sizeof(struct MemoryStruct2));
-
-	curl_easy_perform(getCurlHandle(curlCon));
-
-	printHeaderResult(getCurlHeaderResult(curlCon));
-
-	if (getCurlHeaderResult(curlCon)->response == ACK) {
-		INFO2("Successfull ACK from %s (%s)", type, yp_url);
-		ret = 1;
-	}
-	else {
-		if (strlen(getCurlHeaderResult(curlCon)->message) > 0) {
-			ERROR3("Got a NAK from %s(%s) (%s)", type,getCurlHeaderResult(curlCon)->message, yp_url);
-		}
-		else {
-			ERROR2("Got a NAK from %s(Unknown) (%s)", type, yp_url);
-		}
-		ret = 0;
-	}
-	return ret;
+    curl_easy_setopt(curl_get_handle(curl_con), CURLOPT_URL, yp_url);
+    curl_easy_setopt(curl_get_handle(curl_con), CURLOPT_POSTFIELDS, url);
+    curl_easy_setopt(curl_get_handle(curl_con), CURLOPT_TIMEOUT, config_get_config()->yp_url_timeout);
+
+    /* get it! */
+    memset(curl_get_result(curl_con), '\000', sizeof(struct curl_memory_struct));
+    memset(curl_get_header_result(curl_con), '\000', sizeof(struct curl_memory_struct2));
+
+    curl_easy_perform(curl_get_handle(curl_con));
+
+    curl_print_header_result(curl_get_header_result(curl_con));
+
+    if (curl_get_header_result(curl_con)->response == ACK) {
+        INFO2("Successfull ACK from %s (%s)", type, yp_url);
+        ret = 1;
+    }
+    else {
+        if (strlen(curl_get_header_result(curl_con)->message) > 0) {
+            ERROR3("Got a NAK from %s(%s) (%s)", type,curl_get_header_result(curl_con)->message, yp_url);
+        }
+        else {
+            ERROR2("Got a NAK from %s(Unknown) (%s)", type, yp_url);
+        }
+        ret = 0;
+    }
+    return ret;
 }
 
 void *yp_touch_thread(void *arg)
 {
-	yp_touch((source_t *)arg);
-	thread_exit(0);
-	return NULL;
+    yp_touch((source_t *)arg);
+    thread_exit(0);
+    return NULL;
 }
 int yp_remove(void *psource)
 {
-	char	*pURL = NULL;
-	int	pURLsize = 0;
-	int	ret = 0;
-	int	curlCon = 0;
-	char	*p1 = NULL;
-	int	i = 0;
-
-	int	regenSID = 0;
-	long	currentTime = 0;
-	source_t	*source = (source_t *)psource;
-
-	currentTime = time(&currentTime);
-	
-	for (i=0;i<source->num_yp_directories;i++) {
-		source->ypdata[i]->yp_last_touch = currentTime;
-		
-		if (source->ypdata[i]->sid == 0) {
-			return 0;
-		}
-		else {
-			if (strlen(source->ypdata[i]->sid) == 0) {
-				return 0;
-			}
-		}
-
-		if (source->ypdata) {
-			pURLsize = strlen("action=remove&sid=") + 1;
-			pURLsize += strlen(source->ypdata[i]->sid);
-			pURLsize += 1024;
-
-			pURL = (char *)malloc(pURLsize);
-			memset(pURL, '\000', pURLsize);
-			sprintf(pURL, "action=remove&sid=%s", 
-					source->ypdata[i]->sid);
-
-			curlCon = getCurlConnection();
-			if (curlCon < 0) {
-				ERROR0("Unable to get auth connection");
-			}
-			else {
-
-				/* specify URL to get */
-				ret = yp_submit_url(curlCon, source->ypdata[i]->yp_url, pURL, "yp_remove");
-			}
-
-			if (pURL) {
-				free(pURL);
-			}
-
-			releaseCurlConnection(curlCon);
-		}
-	}
-
-	return 1;
+    char *url = NULL;
+    int url_size = 0;
+    int ret = 0;
+    int curl_con = 0;
+    char *p1 = NULL;
+    int i = 0;
+
+    int regen_sid = 0;
+    long current_time = 0;
+    source_t *source = (source_t *)psource;
+
+    current_time = time(&current_time);
+
+    for (i=0; i<source->num_yp_directories; i++) {
+        source->ypdata[i]->yp_last_touch = current_time;
+        if (source->ypdata[i]->sid == 0) {
+            return 0;
+        }
+        else {
+            if (strlen(source->ypdata[i]->sid) == 0) {
+                return 0;
+            }
+        }
+        if (source->ypdata) {
+            url_size = strlen("action=remove&sid=") + 1;
+            url_size += strlen(source->ypdata[i]->sid);
+            url_size += 1024;
+            url = (char *)malloc(url_size);
+            memset(url, '\000', url_size);
+            sprintf(url, "action=remove&sid=%s", 
+            source->ypdata[i]->sid);
+            curl_con = curl_get_connection();
+            if (curl_con < 0) {
+                ERROR0("Unable to get auth connection");
+            }
+            else {
+            /* specify URL to get */
+                ret = yp_submit_url(curl_con, source->ypdata[i]->yp_url, url, "yp_remove");
+            }
+            if (url) {
+                free(url);
+            }
+            curl_release_connection(curl_con);
+        }
+    }
+    return 1;
 }
 int yp_touch(void *psource)
 {
-	char	*pURL = NULL;
-	int	pURLsize = 0;
-	int	ret = 0;
-	int	curlCon = 0;
-	char	*p1 = NULL;
-	int	i = 0;
-
-	int	regenSID = 0;
-	long	currentTime = 0;
-	source_t	*source = (source_t *)psource;
-
-	currentTime = time(&currentTime);
-	
-	for (i=0;i<source->num_yp_directories;i++) {
-
-		source->ypdata[i]->yp_last_touch = currentTime;
-	
-		if (source->ypdata[i]->sid == 0) {
-			regenSID = 1;
-		}
-		else {
-			if (strlen(source->ypdata[i]->sid) == 0) {
-				regenSID = 1;
-			}
-		}
-
-		if (regenSID) {
-			if (!yp_add(source, i)) {
-				return 0;
-			}
-		}
-
-		if (source->ypdata) {
-			pURLsize = strlen("action=touch&sid=&st=&listeners=") + 1;
-			if (source->ypdata[i]->current_song) {
-				pURLsize += strlen(source->ypdata[i]->current_song);
-			}
-			else {
-				source->ypdata[i]->current_song = (char *)malloc(1);
-				memset(source->ypdata[i]->current_song, '\000', 1);
-			}
-			if (source->ypdata[i]->sid) {
-				pURLsize += strlen(source->ypdata[i]->sid);
-			}
-			else {
-				source->ypdata[i]->sid = (char *)malloc(1);
-				memset(source->ypdata[i]->sid, '\000', 1);
-			}
-			pURLsize += 1024;
-			pURL = (char *)malloc(pURLsize);
-			memset(pURL, '\000', pURLsize);
-			sprintf(pURL, "action=touch&sid=%s&st=%s&listeners=%d", 
-					source->ypdata[i]->sid,
-					source->ypdata[i]->current_song,
-					source->listeners);
-
-			curlCon = getCurlConnection();
-			if (curlCon < 0) {
-				ERROR0("Unable to get auth connection");
-			}
-			else {
-
-				/* specify URL to get */
-				ret = yp_submit_url(curlCon, source->ypdata[i]->yp_url, pURL, "yp_touch");
-			}
-
-			if (pURL) {
-				free(pURL);
-			}
-
-			releaseCurlConnection(curlCon);
-		}
-	}
-
-	return 1;
+    char *url = NULL;
+    int url_size = 0;
+    int ret = 0;
+    int curl_con = 0;
+    char *p1 = NULL;
+    int i = 0;
+    int regen_sid = 0;
+    long current_time = 0;
+    source_t *source = (source_t *)psource;
+
+    current_time = time(&current_time);
+    for (i=0; i<source->num_yp_directories; i++) {
+        source->ypdata[i]->yp_last_touch = current_time;
+        if (source->ypdata[i]->sid == 0) {
+            regen_sid = 1;
+        }
+        else {
+            if (strlen(source->ypdata[i]->sid) == 0) {
+                regen_sid = 1;
+            }
+        }
+        if (regen_sid) {
+            if (!yp_add(source, i)) {
+                return 0;
+            }
+        }
+        if (source->ypdata) {
+            url_size = strlen("action=touch&sid=&st=&listeners=") + 1;
+            if (source->ypdata[i]->current_song) {
+                url_size += strlen(source->ypdata[i]->current_song);
+            }
+            else {
+                source->ypdata[i]->current_song = (char *)malloc(1);
+                memset(source->ypdata[i]->current_song, '\000', 1);
+            }
+            if (source->ypdata[i]->sid) {
+                url_size += strlen(source->ypdata[i]->sid);
+            }
+            else {
+                source->ypdata[i]->sid = (char *)malloc(1);
+                memset(source->ypdata[i]->sid, '\000', 1);
+            }
+            url_size += 1024;
+            url = (char *)malloc(url_size);
+            memset(url, '\000', url_size);
+            sprintf(url, "action=touch&sid=%s&st=%s&listeners=%d", 
+                        source->ypdata[i]->sid,
+                        source->ypdata[i]->current_song,
+                        source->listeners);
+
+            curl_con = curl_get_connection();
+            if (curl_con < 0) {
+                ERROR0("Unable to get auth connection");
+            }
+            else {
+            /* specify URL to get */
+                ret = yp_submit_url(curl_con, source->ypdata[i]->yp_url, url, "yp_touch");
+            }
+           if (url) {
+               free(url);
+           } 
+           curl_release_connection(curl_con);
+        }
+    }
+    return 1;
 }
 int yp_add(void *psource, int which)
 {
-	char	*pURL = NULL;
-	int	pURLsize = 0;
-	int	ret = 0;
-	int	curlCon = 0;
-	char	*p1 = NULL;
-	int	i = 0;
-
-	int	ok = 0;
-	source_t	*source = (source_t *)psource;
-	
-	for (i=0;i<source->num_yp_directories;i++) {
-		if (which != -1) {
-			if (i == which) {
-				ok = 1;
-			}
-			else {
-				ok = 0;
-			}
-		}
-		else {
-			ok = 1;
-		}
-
-		if (ok) {
-			if (source->ypdata[i]) {
-				pURLsize = strlen("action=add&sn=&genre=&cpswd=&desc=&url=&listenurl=&type=&b=") + 1;
-				if (source->ypdata[i]->server_name) {
-					pURLsize += strlen(source->ypdata[i]->server_name);
-				}
-				else {
-					source->ypdata[i]->server_name = (char *)malloc(1);
-					memset(source->ypdata[i]->server_name, '\000', 1);
-				}
-				if (source->ypdata[i]->server_desc) {
-					pURLsize += strlen(source->ypdata[i]->server_desc);
-				}
-				else {
-					source->ypdata[i]->server_desc = (char *)malloc(1);
-					memset(source->ypdata[i]->server_desc, '\000', 1);
-				}
-				if (source->ypdata[i]->server_genre) {
-					pURLsize += strlen(source->ypdata[i]->server_genre);
-				}
-				else {
-					source->ypdata[i]->server_genre = (char *)malloc(1);
-					memset(source->ypdata[i]->server_genre, '\000', 1);
-				}
-				if (source->ypdata[i]->cluster_password) {
-					pURLsize += strlen(source->ypdata[i]->cluster_password);
-				}
-				else {
-					source->ypdata[i]->cluster_password = (char *)malloc(1);
-					memset(source->ypdata[i]->cluster_password, '\000', 1);
-				}
-				if (source->ypdata[i]->server_url) {
-					pURLsize += strlen(source->ypdata[i]->server_url);
-				}
-				else {
-					source->ypdata[i]->server_url = (char *)malloc(1);
-					memset(source->ypdata[i]->server_url, '\000', 1);
-				}
-				if (source->ypdata[i]->listen_url) {
-					pURLsize += strlen(source->ypdata[i]->listen_url);
-				}
-				else {
-					source->ypdata[i]->listen_url = (char *)malloc(1);
-					memset(source->ypdata[i]->listen_url, '\000', 1);
-				}
-				if (source->ypdata[i]->server_type) {
-					pURLsize += strlen(source->ypdata[i]->server_type);
-				}
-				else {
-					source->ypdata[i]->server_type = (char *)malloc(1);
-					memset(source->ypdata[i]->server_type, '\000', 1);
-				}
-				if (source->ypdata[i]->bitrate) {
-					pURLsize += strlen(source->ypdata[i]->bitrate);
-				}
-				else {
-					source->ypdata[i]->bitrate = (char *)malloc(1);
-					memset(source->ypdata[i]->bitrate, '\000', 1);
-				}
-				if (source->ypdata[i]->current_song) {
-					pURLsize += strlen(source->ypdata[i]->current_song);
-				}
-				else {
-					source->ypdata[i]->current_song = (char *)malloc(1);
-					memset(source->ypdata[i]->current_song, '\000', 1);
-				}
-				pURLsize += 1024;
-				pURL = (char *)malloc(pURLsize);
-				memset(pURL, '\000', pURLsize);
-				sprintf(pURL, "action=add&sn=%s&genre=%s&cpswd=%s&desc=%s&url=%s&listenurl=%s&type=%s&b=%s", 
-						source->ypdata[i]->server_name,
-						source->ypdata[i]->server_genre,
-						source->ypdata[i]->cluster_password,
-						source->ypdata[i]->server_desc,
-						source->ypdata[i]->server_url,
-						source->ypdata[i]->listen_url,
-						source->ypdata[i]->server_type,
-						source->ypdata[i]->bitrate);
-
-				curlCon = getCurlConnection();
-				if (curlCon < 0) {
-					ERROR0("Unable to get auth connection");
-				}
-				else {
-
-					/* specify URL to get */
-					ret = yp_submit_url(curlCon, source->ypdata[i]->yp_url, pURL, "yp_add");
-
-					if (ret) {
-						if (strlen(getCurlHeaderResult(curlCon)->sid) > 0) {
-							if (source->ypdata) {
-								if (source->ypdata[i]->sid) {
-									free(source->ypdata[i]->sid);
-									source->ypdata[i]->sid = NULL;
-								}
-								source->ypdata[i]->sid = (char *)malloc(strlen(getCurlHeaderResult(curlCon)->sid) +1);
-								memset(source->ypdata[i]->sid, '\000', strlen(getCurlHeaderResult(curlCon)->sid) +1);
-								strcpy(source->ypdata[i]->sid, getCurlHeaderResult(curlCon)->sid);
-								source->ypdata[i]->yp_touch_freq = getCurlHeaderResult(curlCon)->touchFreq;
-							}
-						}
-					}
-				}
-
-				if (pURL) {
-					free(pURL);
-				}
-
-				releaseCurlConnection(curlCon);
-			}
-		}
-	}
-
-	return 1;
+    char *url = NULL;
+    int url_size = 0;
+    int ret = 0;
+    int curl_con = 0;
+    char *p1 = NULL;
+    int i = 0;
+    int ok = 0;
+    source_t *source = (source_t *)psource;
+
+    for (i=0; i<source->num_yp_directories; i++) {
+        if (which != -1) {
+            if (i == which) {
+                ok = 1;
+            }
+            else {
+                ok = 0;
+            }
+        }
+        else {
+            ok = 1;
+        }
+
+        if (ok) {
+            if (source->ypdata[i]) {
+                url_size = strlen("action=add&sn=&genre=&cpswd=&desc=&url=&listenurl=&type=&b=") + 1;
+                if (source->ypdata[i]->server_name) {
+                    url_size += strlen(source->ypdata[i]->server_name);
+                }
+                else {
+                    source->ypdata[i]->server_name = (char *)malloc(1);
+                    memset(source->ypdata[i]->server_name, '\000', 1);
+                }
+                if (source->ypdata[i]->server_desc) {
+                    url_size += strlen(source->ypdata[i]->server_desc);
+                }
+                else {
+                    source->ypdata[i]->server_desc = (char *)malloc(1);
+                    memset(source->ypdata[i]->server_desc, '\000', 1);
+                }
+                if (source->ypdata[i]->server_genre) {
+                    url_size += strlen(source->ypdata[i]->server_genre);
+                }
+                else {
+                    source->ypdata[i]->server_genre = (char *)malloc(1);
+                    memset(source->ypdata[i]->server_genre, '\000', 1);
+                }
+                if (source->ypdata[i]->cluster_password) {
+                    url_size += strlen(source->ypdata[i]->cluster_password);
+                }
+                else {
+                    source->ypdata[i]->cluster_password = (char *)malloc(1);
+                    memset(source->ypdata[i]->cluster_password, '\000', 1);
+                }
+                if (source->ypdata[i]->server_url) {
+                    url_size += strlen(source->ypdata[i]->server_url);
+                }
+                else {
+                    source->ypdata[i]->server_url = (char *)malloc(1);
+                    memset(source->ypdata[i]->server_url, '\000', 1);
+                }
+                if (source->ypdata[i]->listen_url) {
+                    url_size += strlen(source->ypdata[i]->listen_url);
+                }
+                else {
+                    source->ypdata[i]->listen_url = (char *)malloc(1);
+                    memset(source->ypdata[i]->listen_url, '\000', 1);
+                }
+                if (source->ypdata[i]->server_type) {
+                    url_size += strlen(source->ypdata[i]->server_type);
+                }
+                else {
+                    source->ypdata[i]->server_type = (char *)malloc(1);
+                    memset(source->ypdata[i]->server_type, '\000', 1);
+                }
+                if (source->ypdata[i]->bitrate) {
+                    url_size += strlen(source->ypdata[i]->bitrate);
+                }
+                else {
+                    source->ypdata[i]->bitrate = (char *)malloc(1);
+                    memset(source->ypdata[i]->bitrate, '\000', 1);
+                }
+                if (source->ypdata[i]->current_song) {
+                    url_size += strlen(source->ypdata[i]->current_song);
+                }
+                else {
+                    source->ypdata[i]->current_song = (char *)malloc(1);
+                    memset(source->ypdata[i]->current_song, '\000', 1);
+                }
+                url_size += 1024;
+                url = (char *)malloc(url_size);
+                memset(url, '\000', url_size);
+                sprintf(url, "action=add&sn=%s&genre=%s&cpswd=%s&desc=%s&url=%s&listenurl=%s&type=%s&b=%s", 
+                    source->ypdata[i]->server_name,
+                    source->ypdata[i]->server_genre,
+                    source->ypdata[i]->cluster_password,
+                    source->ypdata[i]->server_desc,
+                    source->ypdata[i]->server_url,
+                    source->ypdata[i]->listen_url,
+                    source->ypdata[i]->server_type,
+                    source->ypdata[i]->bitrate);
+
+               curl_con = curl_get_connection();
+               if (curl_con < 0) {
+                   ERROR0("Unable to get auth connection");
+               }
+               else {
+                   /* specify URL to get */
+                   ret = yp_submit_url(curl_con, source->ypdata[i]->yp_url, url, "yp_add");
+
+                   if (ret) {
+                       if (strlen(curl_get_header_result(curl_con)->sid) > 0) {
+                           if (source->ypdata) {
+                               if (source->ypdata[i]->sid) {
+                                   free(source->ypdata[i]->sid);
+                                   source->ypdata[i]->sid = NULL;
+                               }
+                               source->ypdata[i]->sid = (char *)malloc(strlen(curl_get_header_result(curl_con)->sid) +1);
+                               memset(source->ypdata[i]->sid, '\000', strlen(curl_get_header_result(curl_con)->sid) +1);
+                               strcpy(source->ypdata[i]->sid, curl_get_header_result(curl_con)->sid);
+                               source->ypdata[i]->yp_touch_freq = curl_get_header_result(curl_con)->touch_freq;
+                           }
+                       }
+                   }
+               }
+               if (url) {
+                   free(url);
+               }
+               curl_release_connection(curl_con);
+            }
+        }
+    }
+    return 1;
 }
 
-ypdata_t *create_ypdata()
+ypdata_t *yp_create_ypdata()
 {
-	ypdata_t *tmp;
-
-	tmp = (ypdata_t *)malloc(sizeof(ypdata_t));
-	memset(tmp, '\000', sizeof(ypdata_t));
-	return(tmp);
+    ypdata_t *tmp;
 
+    tmp = (ypdata_t *)malloc(sizeof(ypdata_t));
+    memset(tmp, '\000', sizeof(ypdata_t));
+    return(tmp);
 }
-void destroy_ypdata(ypdata_t *ypdata)
+void yp_destroy_ypdata(ypdata_t *ypdata)
 {
-	if (ypdata) {
-		if (ypdata->sid) {
-			free(ypdata->sid);
-		}
-		if (ypdata->server_name) {
-			free(ypdata->server_name);
-		}
-		if (ypdata->server_desc) {
-			free(ypdata->server_desc);
-		}
-		if (ypdata->server_genre) {
-			free(ypdata->server_genre);
-		}
-		if (ypdata->cluster_password) {
-			free(ypdata->cluster_password);
-		}
-		if (ypdata->server_url) {
-			free(ypdata->server_url);
-		}
-		if (ypdata->listen_url) {
-			free(ypdata->listen_url);
-		}
-		if (ypdata->current_song) {
-			free(ypdata->current_song);
-		}
-		if (ypdata->bitrate) {
-			free(ypdata->bitrate);
-		}
-		if (ypdata->server_type) {
-			free(ypdata->server_type);
-		}
-		free(ypdata);
-	}
+    if (ypdata) {
+        if (ypdata->sid) {
+            free(ypdata->sid);
+        }
+        if (ypdata->server_name) {
+            free(ypdata->server_name);
+        }
+        if (ypdata->server_desc) {
+            free(ypdata->server_desc);
+        }
+        if (ypdata->server_genre) {
+            free(ypdata->server_genre);
+        }
+        if (ypdata->cluster_password) {
+            free(ypdata->cluster_password);
+        }
+        if (ypdata->server_url) {
+            free(ypdata->server_url);
+        }
+        if (ypdata->listen_url) {
+            free(ypdata->listen_url);
+        }
+        if (ypdata->current_song) {
+            free(ypdata->current_song);
+        }
+        if (ypdata->bitrate) {
+            free(ypdata->bitrate);
+        }
+        if (ypdata->server_type) {
+            free(ypdata->server_type);
+        }
+        free(ypdata);
+    }
 }

<p><p>1.2       +2 -2      icecast/src/yp.h

Index: yp.h
===================================================================
RCS file: /usr/local/cvsroot/icecast/src/yp.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- yp.h	2 Feb 2003 14:24:13 -0000	1.1
+++ yp.h	2 Feb 2003 16:48:15 -0000	1.2
@@ -25,8 +25,8 @@
 int yp_add(void *psource, int which);
 int yp_touch(void *psource);
 int yp_remove(void *psource);
-ypdata_t *create_ypdata();
-void destroy_ypdata(ypdata_t *ypdata);
+ypdata_t *yp_create_ypdata();
+void yp_destroy_ypdata(ypdata_t *ypdata);
 
 #endif
 

<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the commits mailing list