[Refdb-cvs] CVS: refdb/src refdbda.c,1.41.2.13,1.41.2.14
Status: Beta
Brought to you by:
mhoenicka
From: Markus H. <mho...@us...> - 2005-05-29 19:38:26
|
Update of /cvsroot/refdb/refdb/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23336 Modified Files: Tag: Release_0_9_5_stable refdbda.c Log Message: connect_to_db(): use auto encoding;move db_encoding to CLIENT_REQUEST Index: refdbda.c =================================================================== RCS file: /cvsroot/refdb/refdb/src/refdbda.c,v retrieving revision 1.41.2.13 retrieving revision 1.41.2.14 diff -u -U2 -r1.41.2.13 -r1.41.2.14 --- refdbda.c 22 May 2005 20:15:34 -0000 1.41.2.13 +++ refdbda.c 29 May 2005 19:38:17 -0000 1.41.2.14 @@ -387,4 +387,5 @@ LOG_PRINT(LOG_DEBUG, ptr_clrequest->dbserver); LOG_PRINT(LOG_DEBUG, ptr_clrequest->db_path); + LOG_PRINT(LOG_DEBUG, ptr_clrequest->db_encoding); conn = dbi_conn_new(ptr_clrequest->dbserver); @@ -404,4 +405,5 @@ special_db overrides ptr_clrequest->current_db */ dbi_conn_set_option(conn, "dbname", my_db); + dbi_conn_set_option(conn, "encoding", "auto"); dbi_conn_set_option_numeric(conn, "port", atoi(ptr_clrequest->dbs_port_address)); @@ -968,10 +970,8 @@ struct CLIENT_REQUEST* ptr_clrequest ptr to structure with client info - const char* dbname ptr to string with the database name - const char* db_encoding name of the character encoding to use ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -int createdb(struct CLIENT_REQUEST* ptr_clrequest, const char* db_encoding, struct ADDRESULT* ptr_addresult, int optind) { +int createdb(struct CLIENT_REQUEST* ptr_clrequest, struct ADDRESULT* ptr_addresult, int optind) { int result; char* new_msg; @@ -988,5 +988,5 @@ /* loop over all filename arguments */ for (; optind < ptr_clrequest->inargc; optind++) { - result = real_createdb(ptr_clrequest, ptr_clrequest->inargv[optind], db_encoding, ptr_addresult); + result = real_createdb(ptr_clrequest, ptr_clrequest->inargv[optind], ptr_addresult); if (result == 1) { ptr_addresult->failure++; @@ -1030,8 +1030,6 @@ const char* dbname ptr to string with the database name - const char* db_encoding name of the character encoding to use - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -int real_createdb(struct CLIENT_REQUEST* ptr_clrequest, const char* dbname, const char* db_encoding, struct ADDRESULT* ptr_addresult) { +int real_createdb(struct CLIENT_REQUEST* ptr_clrequest, const char* dbname, struct ADDRESULT* ptr_addresult) { dbi_conn conn = NULL; dbi_result dbires; @@ -1079,6 +1077,6 @@ /* assemble sql command */ if (*encoding_string) { - if (db_encoding && *db_encoding) { - sprintf(sql_command, "CREATE DATABASE %s %s '%s'", dbname, encoding_string, dbi_driver_encoding_from_iana(dbi_conn_get_driver(conn), db_encoding)); + if (ptr_clrequest->db_encoding && *(ptr_clrequest->db_encoding)) { + sprintf(sql_command, "CREATE DATABASE %s %s '%s'", dbname, encoding_string, dbi_driver_encoding_from_iana(dbi_conn_get_driver(conn), ptr_clrequest->db_encoding)); } else { /* use default encoding of db server */ @@ -1087,5 +1085,5 @@ } else { - if (db_encoding && *db_encoding) { + if (ptr_clrequest->db_encoding && *(ptr_clrequest->db_encoding)) { LOG_PRINT(LOG_WARNING, "database engine does not support per-database character encodings, used default encoding instead"); } @@ -1108,5 +1106,5 @@ dbi_result_free(dbires); } - else if (db_encoding && *db_encoding) { /* if sqlite */ + else if (ptr_clrequest->db_encoding && *(ptr_clrequest->db_encoding)) { /* if sqlite */ LOG_PRINT(LOG_WARNING, "database engine does not support per-database character encodings, used default encoding instead"); } /* end if not sqlite */ |