mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	Bug 6615 - Fix 64bit conversion errors by using a long int
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@11503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		
							
								
								
									
										4
									
								
								cdr.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								cdr.c
									
									
									
									
									
								
							| @@ -251,9 +251,9 @@ void ast_cdr_getvar(struct ast_cdr *cdr, const char *name, char **ret, char *wor | ||||
| 			strftime(workspace, workspacelen, fmt, &tm); | ||||
| 		} | ||||
| 	} else if (!strcasecmp(name, "duration")) | ||||
| 		snprintf(workspace, workspacelen, "%d", cdr->duration); | ||||
| 		snprintf(workspace, workspacelen, "%ld", cdr->duration); | ||||
| 	else if (!strcasecmp(name, "billsec")) | ||||
| 		snprintf(workspace, workspacelen, "%d", cdr->billsec); | ||||
| 		snprintf(workspace, workspacelen, "%ld", cdr->billsec); | ||||
| 	else if (!strcasecmp(name, "disposition")) | ||||
| 		ast_copy_string(workspace, ast_cdr_disp2str(cdr->disposition), workspacelen); | ||||
| 	else if (!strcasecmp(name, "amaflags")) | ||||
|   | ||||
| @@ -121,8 +121,8 @@ static int manager_log(struct ast_cdr *cdr) | ||||
| 	    "StartTime: %s\r\n" | ||||
| 	    "AnswerTime: %s\r\n" | ||||
| 	    "EndTime: %s\r\n" | ||||
| 	    "Duration: %d\r\n" | ||||
| 	    "BillableSeconds: %d\r\n" | ||||
| 	    "Duration: %ld\r\n" | ||||
| 	    "BillableSeconds: %ld\r\n" | ||||
| 	    "Disposition: %s\r\n" | ||||
| 	    "AMAFlags: %s\r\n" | ||||
| 	    "UniqueID: %s\r\n" | ||||
|   | ||||
| @@ -122,7 +122,7 @@ static int odbc_log(struct ast_cdr *cdr) | ||||
| 	if ((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) { | ||||
| 		if (option_verbose > 10) | ||||
| 			ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Failure in AllocStatement %d\n", ODBC_res); | ||||
| 		SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen); | ||||
| 		SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, (unsigned char *)ODBC_stat, &ODBC_err, (unsigned char *)ODBC_msg, 100, &ODBC_mlen); | ||||
| 		SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt);	 | ||||
| 		connected = 0; | ||||
| 		ast_mutex_unlock(&odbc_lock); | ||||
| @@ -133,12 +133,12 @@ static int odbc_log(struct ast_cdr *cdr) | ||||
| 	   strange reason if I don't it blows holes in memory like | ||||
| 	   like a shotgun.  So we just do this so its safe. */ | ||||
|  | ||||
| 	ODBC_res = SQLPrepare(ODBC_stmt, sqlcmd, SQL_NTS); | ||||
| 	ODBC_res = SQLPrepare(ODBC_stmt, (unsigned char *)sqlcmd, SQL_NTS); | ||||
| 	 | ||||
| 	if ((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) { | ||||
| 		if (option_verbose > 10) | ||||
| 			ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Error in PREPARE %d\n", ODBC_res); | ||||
| 		SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen); | ||||
| 		SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, (unsigned char *)ODBC_stat, &ODBC_err, (unsigned char *)ODBC_msg, 100, &ODBC_mlen); | ||||
| 		SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt); | ||||
| 		connected = 0; | ||||
| 		ast_mutex_unlock(&odbc_lock); | ||||
| @@ -381,7 +381,7 @@ static int odbc_do_query(void) | ||||
| 	if ((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) { | ||||
| 		if (option_verbose > 10) | ||||
| 			ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Error in Query %d\n", ODBC_res); | ||||
| 		SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen); | ||||
| 		SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, (unsigned char *)ODBC_stat, &ODBC_err, (unsigned char *)ODBC_msg, 100, &ODBC_mlen); | ||||
| 		SQLFreeHandle(SQL_HANDLE_STMT, ODBC_stmt); | ||||
| 		connected = 0; | ||||
| 		return -1; | ||||
| @@ -438,7 +438,7 @@ static int odbc_init(void) | ||||
| 	if ((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) { | ||||
| 		if (option_verbose > 10) | ||||
| 			ast_verbose( VERBOSE_PREFIX_4 "cdr_odbc: Error SQLConnect %d\n", ODBC_res); | ||||
| 		SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, ODBC_stat, &ODBC_err, ODBC_msg, 100, &ODBC_mlen); | ||||
| 		SQLGetDiagRec(SQL_HANDLE_DBC, ODBC_con, 1, (unsigned char *)ODBC_stat, &ODBC_err, (unsigned char *)ODBC_msg, 100, &ODBC_mlen); | ||||
| 		SQLFreeHandle(SQL_HANDLE_ENV, ODBC_env); | ||||
| 		connected = 0; | ||||
| 		return -1; | ||||
|   | ||||
| @@ -122,7 +122,7 @@ static int pgsql_log(struct ast_cdr *cdr) | ||||
|  | ||||
| 		snprintf(sqlcmd,sizeof(sqlcmd),"INSERT INTO %s (calldate,clid,src,dst,dcontext,channel,dstchannel," | ||||
| 				 "lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid,userfield) VALUES" | ||||
| 				 " ('%s','%s','%s','%s','%s', '%s','%s','%s','%s',%d,%d,'%s',%d,'%s','%s','%s')", | ||||
| 				 " ('%s','%s','%s','%s','%s', '%s','%s','%s','%s',%ld,%ld,'%s',%ld,'%s','%s','%s')", | ||||
| 				 table,timestr,clid,cdr->src, cdr->dst, dcontext,channel, dstchannel, lastapp, lastdata, | ||||
| 				 cdr->duration,cdr->billsec,ast_cdr_disp2str(cdr->disposition),cdr->amaflags, cdr->accountcode, uniqueid, userfield); | ||||
| 		 | ||||
|   | ||||
| @@ -169,8 +169,8 @@ static int tds_log(struct ast_cdr *cdr) | ||||
| 			"%s, "		/* start */ | ||||
| 			"%s, "		/* answer */ | ||||
| 			"%s, "		/* end */ | ||||
| 			"%d, "		/* duration */ | ||||
| 			"%d, "		/* billsec */ | ||||
| 			"%ld, "		/* duration */ | ||||
| 			"%ld, "		/* billsec */ | ||||
| 			"'%s', "	/* disposition */ | ||||
| 			"'%s', "	/* amaflags */ | ||||
| 			"'%s'"		/* uniqueid */ | ||||
|   | ||||
| @@ -74,13 +74,13 @@ struct ast_cdr { | ||||
| 	 | ||||
| 	struct timeval end; | ||||
| 	/*! Total time in system, in seconds */ | ||||
| 	int duration;				 | ||||
| 	long int duration;				 | ||||
| 	/*! Total time call is up, in seconds */ | ||||
| 	int billsec;				 | ||||
| 	long int billsec;				 | ||||
| 	/*! What happened to the call */ | ||||
| 	int disposition;			 | ||||
| 	long int disposition;			 | ||||
| 	/*! What flags to use */ | ||||
| 	int amaflags;				 | ||||
| 	long int amaflags;				 | ||||
| 	/*! What account number to use */ | ||||
| 	char accountcode[AST_MAX_ACCOUNT_CODE];			 | ||||
| 	/*! flags */ | ||||
|   | ||||
| @@ -103,7 +103,7 @@ static struct ast_variable *realtime_odbc(const char *database, const char *tabl | ||||
| 		newval = va_arg(aq, const char *); | ||||
| 	} | ||||
| 	va_end(aq); | ||||
| 	res = SQLPrepare(stmt, sql, SQL_NTS); | ||||
| 	res = SQLPrepare(stmt, (unsigned char *)sql, SQL_NTS); | ||||
| 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) { | ||||
| 		ast_log(LOG_WARNING, "SQL Prepare failed![%s]\n", sql); | ||||
| 		SQLFreeHandle (SQL_HANDLE_STMT, stmt); | ||||
| @@ -146,7 +146,7 @@ static struct ast_variable *realtime_odbc(const char *database, const char *tabl | ||||
| 	for (x=0;x<colcount;x++) { | ||||
| 		rowdata[0] = '\0'; | ||||
| 		collen = sizeof(coltitle); | ||||
| 		res = SQLDescribeCol(stmt, x + 1, coltitle, sizeof(coltitle), &collen,  | ||||
| 		res = SQLDescribeCol(stmt, x + 1, (unsigned char *)coltitle, sizeof(coltitle), &collen,  | ||||
| 					&datatype, &colsize, &decimaldigits, &nullable); | ||||
| 		if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) { | ||||
| 			ast_log(LOG_WARNING, "SQL Describe Column error!\n[%s]\n\n", sql); | ||||
| @@ -249,7 +249,7 @@ static struct ast_config *realtime_multi_odbc(const char *database, const char * | ||||
| 	if (initfield) | ||||
| 		snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), " ORDER BY %s", initfield); | ||||
| 	va_end(aq); | ||||
| 	res = SQLPrepare(stmt, sql, SQL_NTS); | ||||
| 	res = SQLPrepare(stmt, (unsigned char *)sql, SQL_NTS); | ||||
| 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) { | ||||
| 		ast_log(LOG_WARNING, "SQL Prepare failed![%s]\n", sql); | ||||
| 		SQLFreeHandle (SQL_HANDLE_STMT, stmt); | ||||
| @@ -300,7 +300,7 @@ static struct ast_config *realtime_multi_odbc(const char *database, const char * | ||||
| 		for (x=0;x<colcount;x++) { | ||||
| 			rowdata[0] = '\0'; | ||||
| 			collen = sizeof(coltitle); | ||||
| 			res = SQLDescribeCol(stmt, x + 1, coltitle, sizeof(coltitle), &collen,  | ||||
| 			res = SQLDescribeCol(stmt, x + 1, (unsigned char *)coltitle, sizeof(coltitle), &collen,  | ||||
| 						&datatype, &colsize, &decimaldigits, &nullable); | ||||
| 			if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) { | ||||
| 				ast_log(LOG_WARNING, "SQL Describe Column error!\n[%s]\n\n", sql); | ||||
| @@ -376,7 +376,7 @@ static int update_odbc(const char *database, const char *table, const char *keyf | ||||
| 	va_end(aq); | ||||
| 	snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), " WHERE %s=?", keyfield); | ||||
| 	 | ||||
| 	res = SQLPrepare(stmt, sql, SQL_NTS); | ||||
| 	res = SQLPrepare(stmt, (unsigned char *)sql, SQL_NTS); | ||||
| 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) { | ||||
| 		ast_log(LOG_WARNING, "SQL Prepare failed![%s]\n", sql); | ||||
| 		SQLFreeHandle (SQL_HANDLE_STMT, stmt); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user