From 103cf8b2ebc990a52011b7b0adeab45dc63ee99d Mon Sep 17 00:00:00 2001 From: Marcin Deranek Date: Mon, 29 Sep 2014 09:02:24 +0200 Subject: Initial commit --- mail-filter/gps/files/gps-numeric.diff | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 mail-filter/gps/files/gps-numeric.diff (limited to 'mail-filter/gps/files/gps-numeric.diff') diff --git a/mail-filter/gps/files/gps-numeric.diff b/mail-filter/gps/files/gps-numeric.diff new file mode 100644 index 0000000..17de74d --- /dev/null +++ b/mail-filter/gps/files/gps-numeric.diff @@ -0,0 +1,55 @@ +--- src/db.cpp 2005-03-02 22:12:17.000000000 +0100 ++++ src/db.cpp 2006-11-21 19:03:17.000000000 +0100 +@@ -71,17 +71,37 @@ + if(itr != params.end()) { + if((*itr).length() < (tempCharBuf-1) ) { + const char *value = (*itr).c_str(); +- char szBuf[tempCharBuf]; +- strcpy(szBuf,value); +- if(verbose) { +- if(string(key) == "password") +- syslog(LOG_DEBUG,"setting DB option: %s to: (hidden)",key); +- else +- syslog(LOG_DEBUG,"setting DB option: %s to: %s",key,szBuf); +- ++ // check if it is numeric ++ bool bNonDigit = false; ++ for( size_t i = 0; i < (*itr).size(); ++i ) ++ { ++ if( !isdigit( value[i] ) ) { ++ bNonDigit = true; ++ break; ++ } ++ } ++ if(bNonDigit || (string(key) == "password") ) { // string value ++ char szBuf[tempCharBuf]; ++ strcpy(szBuf,value); ++ if(verbose) { ++ if(string(key) == "password") ++ syslog(LOG_DEBUG,"setting DB option: %s to: (hidden)",key); ++ else ++ syslog(LOG_DEBUG,"setting DB option: %s to: %s",key,szBuf); ++ ++ } ++ if(dbi_conn_set_option(_con, key, szBuf) != 0) ++ throw runtime_error( getConError("dbi_conn_set_option "+(*itr)) ); ++ } else { // numeric value ++ int iVal = -1; ++ stringstream stm; ++ stm << (*itr); ++ stm >> iVal; ++ if(verbose) ++ syslog(LOG_DEBUG,"setting DB option: %s to: %d",key,iVal); ++ if(dbi_conn_set_option_numeric(_con, key, iVal) != 0) ++ throw runtime_error( getConError("dbi_conn_set_option "+(*itr)) ); + } +- if(dbi_conn_set_option(_con, key, szBuf) != 0) +- throw runtime_error( getConError("dbi_conn_set_option "+(*itr)) ); + } + } + } +@@ -422,3 +442,4 @@ + + + ++ -- cgit v1.2.3