瀏覽代碼

- parse_mysql_url not necessary anymore

Jan Janak 20 年之前
父節點
當前提交
942dd87dca
共有 2 個文件被更改,包括 0 次插入151 次删除
  1. 0 141
      modules/db_mysql/utils.c
  2. 0 10
      modules/db_mysql/utils.h

+ 0 - 141
modules/db_mysql/utils.c

@@ -79,144 +79,3 @@ time_t mysql2time(const char* _str)
 	time.tm_isdst = -1;   
 	time.tm_isdst = -1;   
 	return mktime(&time);
 	return mktime(&time);
 }
 }
-
-
-/*
- * Parse a mysql database URL of form 
- * mysql://[username[:password]@]hostname[:port]/database
- *
- * Returns 0 if parsing was successful and -1 otherwise
- */
-int parse_mysql_url(char* _url, char** _user, char** _pass,
-		    char** _host, char** _port, char** _db)
-{
-#define SHORTEST_MYSQL_URL "mysql://a/b"
-#define SHORTEST_MYSQL_URL_LEN (sizeof(SHORTEST_MYSQL_URL) - 1)
-
-#define MYSQL_URL_PREFIX "mysql://"
-#define MYSQL_URL_PREFIX_LEN (sizeof(MYSQL_URL_PREFIX) - 1)
-
-	enum state {
-		ST_USER_HOST,  /* Username or hostname */
-		ST_PASS_PORT,  /* Password or port part */
-		ST_HOST,       /* Hostname part */
-		ST_PORT,       /* Port part */
-		ST_DB          /* Database part */
-	};
-
-	enum state st;
-	int len, i;
-	char* begin, *prev_begin;
-
-	if (!_url || !_user || !_pass || !_host || !_port || !_db) {
-		return -1;
-	}
-	
-	len = strlen(_url);
-	if (len < SHORTEST_MYSQL_URL_LEN) {
-		return -1;
-	}
-	
-	if (strncasecmp(_url, MYSQL_URL_PREFIX, MYSQL_URL_PREFIX_LEN)) {
-		return -1;
-	}
-
-	     /* Skip the prefix part */
-	_url += MYSQL_URL_PREFIX_LEN;
-	len -= MYSQL_URL_PREFIX_LEN;
-	
-	     /* Initialize all variables */
-	*_user = '\0';
-	*_pass = '\0';
-	*_host = '\0';
-	*_port = '\0';
-	*_db   = '\0';
-
-	st = ST_USER_HOST;
-	begin = _url;
-	prev_begin = 0;
-
-	for(i = 0; i < len; i++) {
-		switch(st) {
-		case ST_USER_HOST:
-			switch(_url[i]) {
-			case '@':
-				st = ST_HOST;
-				*_user = begin;
-				begin = _url + i + 1;
-				_url[i] = '\0';
-				break;
-
-			case ':':
-				st = ST_PASS_PORT;
-				prev_begin = begin;
-				begin = _url + i + 1;
-				_url[i] = '\0';
-				break;
-
-			case '/':
-				*_host = begin;
-				_url[i] = '\0';
-
-				*_db = _url + i + 1;
-				return 0;
-			}
-
-		case ST_PASS_PORT:
-			switch(_url[i]) {
-			case '@':
-				st = ST_HOST;
-				*_user = prev_begin;
-				*_pass = begin;
-				begin = _url + i + 1;
-				_url[i] = '\0';
-				break;
-
-			case '/':
-				*_host = prev_begin;
-				*_port = begin;
-				_url[i] = '\0';
-
-				*_db = _url + i + 1;
-				return 0;
-			}
-
-		case ST_HOST:
-			switch(_url[i]) {
-			case ':':
-				st = ST_PORT;
-				*_host = begin;
-				begin = _url + i + 1;
-				_url[i] = '\0';
-				break;
-
-			case '/':
-				*_host = begin;
-				_url[i] = '\0';
-
-				*_db = _url + i + 1;
-				return 0;
-			}
-
-		case ST_PORT:
-			switch(_url[i]) {
-			case '/':
-				*_port = begin;
-				_url[i] = '\0';
-
-				*_db = _url + i + 1;
-				return 0;
-			}
-			break;
-			
-		case ST_DB:
-			break;
-		}
-	}
-
-	if (st != ST_DB) {
-		return -1;
-	}
-
-	return 0;
-}

+ 0 - 10
modules/db_mysql/utils.h

@@ -46,14 +46,4 @@ int time2mysql(time_t _time, char* _result, int _res_len);
 time_t mysql2time(const char* _str);
 time_t mysql2time(const char* _str);
 
 
 
 
-/*
- * Parse a mysql database URL of form 
- * mysql://[username[:password]@]hostname[:port]/database
- *
- * Returns 0 if parsing was successful and -1 otherwise
- */
-int parse_mysql_url(char* _url, char** _user, char** _pass,
-		    char** _host, char** _port, char** _db);
-
-
 #endif /* UTILS_H */
 #endif /* UTILS_H */