|  |  |  | @ -1,7 +1,7 @@ | 
			
		
	
		
			
				
					|  |  |  |  | /*
 | 
			
		
	
		
			
				
					|  |  |  |  |  * Asterisk -- An open source telephony toolkit. | 
			
		
	
		
			
				
					|  |  |  |  |  * | 
			
		
	
		
			
				
					|  |  |  |  |  * Copyright (C) 1999-2010, Digium, Inc. | 
			
		
	
		
			
				
					|  |  |  |  |  * Copyright (C) 1999 - 2016, Digium, Inc. | 
			
		
	
		
			
				
					|  |  |  |  |  * | 
			
		
	
		
			
				
					|  |  |  |  |  * Manuel Guesdon <mguesdon@oxymium.net> - PostgreSQL RealTime Driver Author/Adaptor | 
			
		
	
		
			
				
					|  |  |  |  |  * Mark Spencer <markster@digium.com>  - Asterisk Author | 
			
		
	
	
		
			
				
					|  |  |  | @ -1571,7 +1571,7 @@ static char *handle_cli_realtime_pgsql_cache(struct ast_cli_entry *e, int cmd, s | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | static char *handle_cli_realtime_pgsql_status(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) | 
			
		
	
		
			
				
					|  |  |  |  | { | 
			
		
	
		
			
				
					|  |  |  |  | 	char status[256], credentials[100] = ""; | 
			
		
	
		
			
				
					|  |  |  |  | 	char connection_info[256], credentials[100] = ""; | 
			
		
	
		
			
				
					|  |  |  |  | 	int ctimesec = time(NULL) - connect_time; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	switch (cmd) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -1588,36 +1588,37 @@ static char *handle_cli_realtime_pgsql_status(struct ast_cli_entry *e, int cmd, | 
			
		
	
		
			
				
					|  |  |  |  | 	if (a->argc != 4) | 
			
		
	
		
			
				
					|  |  |  |  | 		return CLI_SHOWUSAGE; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	if (pgsqlConn && PQstatus(pgsqlConn) == CONNECTION_OK) { | 
			
		
	
		
			
				
					|  |  |  |  | 		if (!ast_strlen_zero(dbhost)) | 
			
		
	
		
			
				
					|  |  |  |  | 			snprintf(status, sizeof(status), "Connected to %s@%s, port %d", dbname, dbhost, dbport); | 
			
		
	
		
			
				
					|  |  |  |  | 		else if (!ast_strlen_zero(dbsock)) | 
			
		
	
		
			
				
					|  |  |  |  | 			snprintf(status, sizeof(status), "Connected to %s on socket file %s", dbname, dbsock); | 
			
		
	
		
			
				
					|  |  |  |  | 		else | 
			
		
	
		
			
				
					|  |  |  |  | 			snprintf(status, sizeof(status), "Connected to %s@%s", dbname, dbhost); | 
			
		
	
		
			
				
					|  |  |  |  | 	if (!ast_strlen_zero(dbhost)) | 
			
		
	
		
			
				
					|  |  |  |  | 		snprintf(connection_info, sizeof(connection_info), "%s@%s, port %d", dbname, dbhost, dbport); | 
			
		
	
		
			
				
					|  |  |  |  | 	else if (!ast_strlen_zero(dbsock)) | 
			
		
	
		
			
				
					|  |  |  |  | 		snprintf(connection_info, sizeof(connection_info), "%s on socket file %s", dbname, dbsock); | 
			
		
	
		
			
				
					|  |  |  |  | 	else | 
			
		
	
		
			
				
					|  |  |  |  | 		snprintf(connection_info, sizeof(connection_info), "%s@%s", dbname, dbhost); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if (!ast_strlen_zero(dbuser)) | 
			
		
	
		
			
				
					|  |  |  |  | 			snprintf(credentials, sizeof(credentials), " with username %s", dbuser); | 
			
		
	
		
			
				
					|  |  |  |  | 	if (!ast_strlen_zero(dbuser)) | 
			
		
	
		
			
				
					|  |  |  |  | 		snprintf(credentials, sizeof(credentials), " with username %s", dbuser); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	if (pgsqlConn && PQstatus(pgsqlConn) == CONNECTION_OK) { | 
			
		
	
		
			
				
					|  |  |  |  | 		if (ctimesec > 31536000) | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "%s%s for %d years, %d days, %d hours, %d minutes, %d seconds.\n", | 
			
		
	
		
			
				
					|  |  |  |  | 					status, credentials, ctimesec / 31536000, (ctimesec % 31536000) / 86400, | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "Connected to %s%s for %d years, %d days, %d hours, %d minutes, %d seconds.\n", | 
			
		
	
		
			
				
					|  |  |  |  | 					connection_info, credentials, ctimesec / 31536000, (ctimesec % 31536000) / 86400, | 
			
		
	
		
			
				
					|  |  |  |  | 					(ctimesec % 86400) / 3600, (ctimesec % 3600) / 60, ctimesec % 60); | 
			
		
	
		
			
				
					|  |  |  |  | 		else if (ctimesec > 86400) | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "%s%s for %d days, %d hours, %d minutes, %d seconds.\n", status, | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "Connected to %s%s for %d days, %d hours, %d minutes, %d seconds.\n", connection_info, | 
			
		
	
		
			
				
					|  |  |  |  | 					credentials, ctimesec / 86400, (ctimesec % 86400) / 3600, (ctimesec % 3600) / 60, | 
			
		
	
		
			
				
					|  |  |  |  | 					ctimesec % 60); | 
			
		
	
		
			
				
					|  |  |  |  | 		else if (ctimesec > 3600) | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "%s%s for %d hours, %d minutes, %d seconds.\n", status, credentials, | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "Connected to %s%s for %d hours, %d minutes, %d seconds.\n", connection_info, credentials, | 
			
		
	
		
			
				
					|  |  |  |  | 					ctimesec / 3600, (ctimesec % 3600) / 60, ctimesec % 60); | 
			
		
	
		
			
				
					|  |  |  |  | 		else if (ctimesec > 60) | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "%s%s for %d minutes, %d seconds.\n", status, credentials, ctimesec / 60, | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "Connected to %s%s for %d minutes, %d seconds.\n", connection_info, credentials, ctimesec / 60, | 
			
		
	
		
			
				
					|  |  |  |  | 					ctimesec % 60); | 
			
		
	
		
			
				
					|  |  |  |  | 		else | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "%s%s for %d seconds.\n", status, credentials, ctimesec); | 
			
		
	
		
			
				
					|  |  |  |  | 			ast_cli(a->fd, "Connected to %s%s for %d seconds.\n", connection_info, credentials, ctimesec); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		return CLI_SUCCESS; | 
			
		
	
		
			
				
					|  |  |  |  | 	} else { | 
			
		
	
		
			
				
					|  |  |  |  | 		ast_cli(a->fd, "Unable to connect %s%s\n", connection_info, credentials); | 
			
		
	
		
			
				
					|  |  |  |  | 		return CLI_FAILURE; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |