diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 8de95ff3ca..2f31235b04 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,9 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
+2007/09/24
+	* Limited manual detection of data truncation to string/enum/blob columns.
+	* Renamed conf-tmpl to conf. [FlavioJS]
 2007/09/23
 	* Added flag svn:executable to the configure script.
 	* Added code for MySQL versions (below 5.0) that don't have 
diff --git a/Makefile.in b/Makefile.in
index c2c5efc2d5..61a4a5e2f7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2,15 +2,15 @@
 
 HAVE_MYSQL=@HAVE_MYSQL@
 ifeq ($(HAVE_MYSQL),yes)
-	ALL_DEPENDS=common common_sql login login_sql char char_sql map map_sql ladmin tools converters plugins conf
-	SQL_DEPENDS=common_sql login_sql char_sql map_sql conf
+	ALL_DEPENDS=common common_sql login login_sql char char_sql map map_sql ladmin tools converters plugins save
+	SQL_DEPENDS=common_sql login_sql char_sql map_sql
 	COMMON_SQL_DEPENDS=
 	LOGIN_SQL_DEPENDS=common_sql
 	CHAR_SQL_DEPENDS=common_sql
 	MAP_SQL_DEPENDS=common_sql
 	CONVERTERS_DEPENDS=common_sql
 else
-	ALL_DEPENDS=common login char map ladmin tools plugins conf
+	ALL_DEPENDS=common login char map ladmin tools plugins save
 	SQL_DEPENDS=needs_mysql
 	COMMON_SQL_DEPENDS=needs_mysql
 	LOGIN_SQL_DEPENDS=needs_mysql
@@ -21,7 +21,7 @@ endif
 
 #####################################################################
 .PHONY: txt sql common common_sql login login_sql char char_sql map map_sql \
-	ladmin tools converters plugins addons conf clean help depend
+	ladmin tools converters plugins addons save clean help depend
 
 all: $(ALL_DEPENDS)
 
@@ -65,19 +65,7 @@ converters: $(CONVERTERS_DEPENDS)
 plugins addons: common
 	@$(MAKE) -C src/plugins
 
-conf:
-# conf:
-# 1) create conf and conf/import folders
-# 2) add missing import files
-# 3) copy the rest of the files and folders
-# 4) remove remaining .svn folders
-	@echo "building conf folder..."
-	@if test ! -d conf ; then mkdir conf ; fi
-	@if test ! -d conf/import ; then mkdir conf/import ; fi
-	@for f in $$(ls conf-tmpl/import) ; do if test ! -e conf/import/$$f ; then cp conf-tmpl/import/$$f conf/import ; fi ; done
-	@for f in $$(ls conf-tmpl) ; do if test "$$f" != "import" ; then cp -rf conf-tmpl/$$f conf ; fi ; done
-	@rm -rf conf/*/.svn
-# save:
+save:
 # 1) create save folder
 # 2) add missing files
 # 3) remove remaining .svn folder
@@ -114,12 +102,12 @@ help:
 	@echo "'converters'  - builds the login/char converters"
 	@echo "'plugins'     - builds all the plugins in src/plugins"
 	@echo "'addons'"
-	@echo "'conf'        - builds conf and save folders from the templates"
+	@echo "'save'        - builds save folder from the template"
 	@echo "'all'         - builds all above targets"
 	@echo "'txt'         - builds txt servers (targets 'common' 'login' 'char' 'map' and"
-	@echo "                'conf')"
+	@echo "                'save')"
 	@echo "'sql'         - builds sql servers (targets 'common_sql' 'login_sql' 'char_sql'"
-	@echo "                'map_sql' and 'conf')"
+	@echo "                and 'map_sql')"
 	@echo "'clean'       - cleans builds and objects"
 	@echo "'help'        - outputs this message"
 
diff --git a/conf-tmpl/Changelog.txt b/conf/Changelog.txt
similarity index 100%
rename from conf-tmpl/Changelog.txt
rename to conf/Changelog.txt
diff --git a/conf-tmpl/GM_account.txt b/conf/GM_account.txt
similarity index 100%
rename from conf-tmpl/GM_account.txt
rename to conf/GM_account.txt
diff --git a/conf-tmpl/atcommand_athena.conf b/conf/atcommand_athena.conf
similarity index 100%
rename from conf-tmpl/atcommand_athena.conf
rename to conf/atcommand_athena.conf
diff --git a/conf-tmpl/battle/battle.conf b/conf/battle/battle.conf
similarity index 100%
rename from conf-tmpl/battle/battle.conf
rename to conf/battle/battle.conf
diff --git a/conf-tmpl/battle/client.conf b/conf/battle/client.conf
similarity index 100%
rename from conf-tmpl/battle/client.conf
rename to conf/battle/client.conf
diff --git a/conf-tmpl/battle/drops.conf b/conf/battle/drops.conf
similarity index 100%
rename from conf-tmpl/battle/drops.conf
rename to conf/battle/drops.conf
diff --git a/conf-tmpl/battle/exp.conf b/conf/battle/exp.conf
similarity index 100%
rename from conf-tmpl/battle/exp.conf
rename to conf/battle/exp.conf
diff --git a/conf-tmpl/battle/gm.conf b/conf/battle/gm.conf
similarity index 100%
rename from conf-tmpl/battle/gm.conf
rename to conf/battle/gm.conf
diff --git a/conf-tmpl/battle/guild.conf b/conf/battle/guild.conf
similarity index 100%
rename from conf-tmpl/battle/guild.conf
rename to conf/battle/guild.conf
diff --git a/conf-tmpl/battle/homunc.conf b/conf/battle/homunc.conf
similarity index 100%
rename from conf-tmpl/battle/homunc.conf
rename to conf/battle/homunc.conf
diff --git a/conf-tmpl/battle/items.conf b/conf/battle/items.conf
similarity index 100%
rename from conf-tmpl/battle/items.conf
rename to conf/battle/items.conf
diff --git a/conf-tmpl/battle/misc.conf b/conf/battle/misc.conf
similarity index 100%
rename from conf-tmpl/battle/misc.conf
rename to conf/battle/misc.conf
diff --git a/conf-tmpl/battle/monster.conf b/conf/battle/monster.conf
similarity index 100%
rename from conf-tmpl/battle/monster.conf
rename to conf/battle/monster.conf
diff --git a/conf-tmpl/battle/party.conf b/conf/battle/party.conf
similarity index 100%
rename from conf-tmpl/battle/party.conf
rename to conf/battle/party.conf
diff --git a/conf-tmpl/battle/pet.conf b/conf/battle/pet.conf
similarity index 100%
rename from conf-tmpl/battle/pet.conf
rename to conf/battle/pet.conf
diff --git a/conf-tmpl/battle/player.conf b/conf/battle/player.conf
similarity index 100%
rename from conf-tmpl/battle/player.conf
rename to conf/battle/player.conf
diff --git a/conf-tmpl/battle/skill.conf b/conf/battle/skill.conf
similarity index 100%
rename from conf-tmpl/battle/skill.conf
rename to conf/battle/skill.conf
diff --git a/conf-tmpl/battle/status.conf b/conf/battle/status.conf
similarity index 100%
rename from conf-tmpl/battle/status.conf
rename to conf/battle/status.conf
diff --git a/conf-tmpl/battle_athena.conf b/conf/battle_athena.conf
similarity index 100%
rename from conf-tmpl/battle_athena.conf
rename to conf/battle_athena.conf
diff --git a/conf-tmpl/char_athena.conf b/conf/char_athena.conf
similarity index 100%
rename from conf-tmpl/char_athena.conf
rename to conf/char_athena.conf
diff --git a/conf-tmpl/charcommand_athena.conf b/conf/charcommand_athena.conf
similarity index 100%
rename from conf-tmpl/charcommand_athena.conf
rename to conf/charcommand_athena.conf
diff --git a/conf-tmpl/charhelp.txt b/conf/charhelp.txt
similarity index 100%
rename from conf-tmpl/charhelp.txt
rename to conf/charhelp.txt
diff --git a/conf-tmpl/grf-files.txt b/conf/grf-files.txt
similarity index 100%
rename from conf-tmpl/grf-files.txt
rename to conf/grf-files.txt
diff --git a/conf-tmpl/help.txt b/conf/help.txt
similarity index 100%
rename from conf-tmpl/help.txt
rename to conf/help.txt
diff --git a/conf-tmpl/help2.txt b/conf/help2.txt
similarity index 100%
rename from conf-tmpl/help2.txt
rename to conf/help2.txt
diff --git a/conf-tmpl/import/atcommand_conf.txt b/conf/import/atcommand_conf.txt
similarity index 100%
rename from conf-tmpl/import/atcommand_conf.txt
rename to conf/import/atcommand_conf.txt
diff --git a/conf-tmpl/import/battle_conf.txt b/conf/import/battle_conf.txt
similarity index 100%
rename from conf-tmpl/import/battle_conf.txt
rename to conf/import/battle_conf.txt
diff --git a/conf-tmpl/import/char_conf.txt b/conf/import/char_conf.txt
similarity index 100%
rename from conf-tmpl/import/char_conf.txt
rename to conf/import/char_conf.txt
diff --git a/conf-tmpl/import/charcommand_conf.txt b/conf/import/charcommand_conf.txt
similarity index 100%
rename from conf-tmpl/import/charcommand_conf.txt
rename to conf/import/charcommand_conf.txt
diff --git a/conf-tmpl/import/inter_conf.txt b/conf/import/inter_conf.txt
similarity index 100%
rename from conf-tmpl/import/inter_conf.txt
rename to conf/import/inter_conf.txt
diff --git a/conf-tmpl/import/ladmin_conf.txt b/conf/import/ladmin_conf.txt
similarity index 100%
rename from conf-tmpl/import/ladmin_conf.txt
rename to conf/import/ladmin_conf.txt
diff --git a/conf-tmpl/import/log_conf.txt b/conf/import/log_conf.txt
similarity index 100%
rename from conf-tmpl/import/log_conf.txt
rename to conf/import/log_conf.txt
diff --git a/conf-tmpl/import/login_conf.txt b/conf/import/login_conf.txt
similarity index 100%
rename from conf-tmpl/import/login_conf.txt
rename to conf/import/login_conf.txt
diff --git a/conf-tmpl/import/map_conf.txt b/conf/import/map_conf.txt
similarity index 100%
rename from conf-tmpl/import/map_conf.txt
rename to conf/import/map_conf.txt
diff --git a/conf-tmpl/import/msg_conf.txt b/conf/import/msg_conf.txt
similarity index 100%
rename from conf-tmpl/import/msg_conf.txt
rename to conf/import/msg_conf.txt
diff --git a/conf-tmpl/import/packet_conf.txt b/conf/import/packet_conf.txt
similarity index 100%
rename from conf-tmpl/import/packet_conf.txt
rename to conf/import/packet_conf.txt
diff --git a/conf-tmpl/import/script_conf.txt b/conf/import/script_conf.txt
similarity index 100%
rename from conf-tmpl/import/script_conf.txt
rename to conf/import/script_conf.txt
diff --git a/conf-tmpl/inter_athena.conf b/conf/inter_athena.conf
similarity index 100%
rename from conf-tmpl/inter_athena.conf
rename to conf/inter_athena.conf
diff --git a/conf-tmpl/irc_athena.conf b/conf/irc_athena.conf
similarity index 100%
rename from conf-tmpl/irc_athena.conf
rename to conf/irc_athena.conf
diff --git a/conf-tmpl/ladmin_athena.conf b/conf/ladmin_athena.conf
similarity index 100%
rename from conf-tmpl/ladmin_athena.conf
rename to conf/ladmin_athena.conf
diff --git a/conf-tmpl/log_athena.conf b/conf/log_athena.conf
similarity index 100%
rename from conf-tmpl/log_athena.conf
rename to conf/log_athena.conf
diff --git a/conf-tmpl/login_athena.conf b/conf/login_athena.conf
similarity index 100%
rename from conf-tmpl/login_athena.conf
rename to conf/login_athena.conf
diff --git a/conf-tmpl/map_athena.conf b/conf/map_athena.conf
similarity index 100%
rename from conf-tmpl/map_athena.conf
rename to conf/map_athena.conf
diff --git a/conf-tmpl/mapflag/gvg.txt b/conf/mapflag/gvg.txt
similarity index 100%
rename from conf-tmpl/mapflag/gvg.txt
rename to conf/mapflag/gvg.txt
diff --git a/conf-tmpl/mapflag/indoors.txt b/conf/mapflag/indoors.txt
similarity index 100%
rename from conf-tmpl/mapflag/indoors.txt
rename to conf/mapflag/indoors.txt
diff --git a/conf-tmpl/mapflag/jail.txt b/conf/mapflag/jail.txt
similarity index 100%
rename from conf-tmpl/mapflag/jail.txt
rename to conf/mapflag/jail.txt
diff --git a/conf-tmpl/mapflag/night.txt b/conf/mapflag/night.txt
similarity index 100%
rename from conf-tmpl/mapflag/night.txt
rename to conf/mapflag/night.txt
diff --git a/conf-tmpl/mapflag/nightmare.txt b/conf/mapflag/nightmare.txt
similarity index 100%
rename from conf-tmpl/mapflag/nightmare.txt
rename to conf/mapflag/nightmare.txt
diff --git a/conf-tmpl/mapflag/nobranch.txt b/conf/mapflag/nobranch.txt
similarity index 100%
rename from conf-tmpl/mapflag/nobranch.txt
rename to conf/mapflag/nobranch.txt
diff --git a/conf-tmpl/mapflag/noexp.txt b/conf/mapflag/noexp.txt
similarity index 100%
rename from conf-tmpl/mapflag/noexp.txt
rename to conf/mapflag/noexp.txt
diff --git a/conf-tmpl/mapflag/noicewall.txt b/conf/mapflag/noicewall.txt
similarity index 100%
rename from conf-tmpl/mapflag/noicewall.txt
rename to conf/mapflag/noicewall.txt
diff --git a/conf-tmpl/mapflag/noloot.txt b/conf/mapflag/noloot.txt
similarity index 100%
rename from conf-tmpl/mapflag/noloot.txt
rename to conf/mapflag/noloot.txt
diff --git a/conf-tmpl/mapflag/nomemo.txt b/conf/mapflag/nomemo.txt
similarity index 100%
rename from conf-tmpl/mapflag/nomemo.txt
rename to conf/mapflag/nomemo.txt
diff --git a/conf-tmpl/mapflag/nopenalty.txt b/conf/mapflag/nopenalty.txt
similarity index 100%
rename from conf-tmpl/mapflag/nopenalty.txt
rename to conf/mapflag/nopenalty.txt
diff --git a/conf-tmpl/mapflag/nopvp.txt b/conf/mapflag/nopvp.txt
similarity index 100%
rename from conf-tmpl/mapflag/nopvp.txt
rename to conf/mapflag/nopvp.txt
diff --git a/conf-tmpl/mapflag/noreturn.txt b/conf/mapflag/noreturn.txt
similarity index 100%
rename from conf-tmpl/mapflag/noreturn.txt
rename to conf/mapflag/noreturn.txt
diff --git a/conf-tmpl/mapflag/nosave.txt b/conf/mapflag/nosave.txt
similarity index 100%
rename from conf-tmpl/mapflag/nosave.txt
rename to conf/mapflag/nosave.txt
diff --git a/conf-tmpl/mapflag/noteleport.txt b/conf/mapflag/noteleport.txt
similarity index 100%
rename from conf-tmpl/mapflag/noteleport.txt
rename to conf/mapflag/noteleport.txt
diff --git a/conf-tmpl/mapflag/nowarp.txt b/conf/mapflag/nowarp.txt
similarity index 100%
rename from conf-tmpl/mapflag/nowarp.txt
rename to conf/mapflag/nowarp.txt
diff --git a/conf-tmpl/mapflag/nowarpto.txt b/conf/mapflag/nowarpto.txt
similarity index 100%
rename from conf-tmpl/mapflag/nowarpto.txt
rename to conf/mapflag/nowarpto.txt
diff --git a/conf-tmpl/mapflag/pvp.txt b/conf/mapflag/pvp.txt
similarity index 100%
rename from conf-tmpl/mapflag/pvp.txt
rename to conf/mapflag/pvp.txt
diff --git a/conf-tmpl/mapflag/pvp_noguild.txt b/conf/mapflag/pvp_noguild.txt
similarity index 100%
rename from conf-tmpl/mapflag/pvp_noguild.txt
rename to conf/mapflag/pvp_noguild.txt
diff --git a/conf-tmpl/mapflag/pvp_noparty.txt b/conf/mapflag/pvp_noparty.txt
similarity index 100%
rename from conf-tmpl/mapflag/pvp_noparty.txt
rename to conf/mapflag/pvp_noparty.txt
diff --git a/conf-tmpl/mapflag/restricted.txt b/conf/mapflag/restricted.txt
similarity index 100%
rename from conf-tmpl/mapflag/restricted.txt
rename to conf/mapflag/restricted.txt
diff --git a/conf-tmpl/maps_athena.conf b/conf/maps_athena.conf
similarity index 100%
rename from conf-tmpl/maps_athena.conf
rename to conf/maps_athena.conf
diff --git a/conf-tmpl/motd.txt b/conf/motd.txt
similarity index 100%
rename from conf-tmpl/motd.txt
rename to conf/motd.txt
diff --git a/conf-tmpl/msg_athena.conf b/conf/msg_athena.conf
similarity index 100%
rename from conf-tmpl/msg_athena.conf
rename to conf/msg_athena.conf
diff --git a/conf-tmpl/packet_athena.conf b/conf/packet_athena.conf
similarity index 100%
rename from conf-tmpl/packet_athena.conf
rename to conf/packet_athena.conf
diff --git a/conf-tmpl/plugin_athena.conf b/conf/plugin_athena.conf
similarity index 100%
rename from conf-tmpl/plugin_athena.conf
rename to conf/plugin_athena.conf
diff --git a/conf-tmpl/readme.txt b/conf/readme.txt
similarity index 100%
rename from conf-tmpl/readme.txt
rename to conf/readme.txt
diff --git a/conf-tmpl/script_athena.conf b/conf/script_athena.conf
similarity index 100%
rename from conf-tmpl/script_athena.conf
rename to conf/script_athena.conf
diff --git a/conf-tmpl/subnet_athena.conf b/conf/subnet_athena.conf
similarity index 100%
rename from conf-tmpl/subnet_athena.conf
rename to conf/subnet_athena.conf
diff --git a/src/common/sql.c b/src/common/sql.c
index 6b69c8ce49..5df7516435 100644
--- a/src/common/sql.c
+++ b/src/common/sql.c
@@ -394,40 +394,52 @@ static int Sql_P_BindSqlDataType(MYSQL_BIND* bind, enum SqlDataType buffer_type,
 	switch( buffer_type )
 	{
 	case SQLDT_NULL: bind->buffer_type = MYSQL_TYPE_NULL;
+		buffer_len = 0;// FIXME length = ? [FlavioJS]
 		break;
 	// fixed size
 	case SQLDT_UINT8: bind->is_unsigned = 1;
 	case SQLDT_INT8: bind->buffer_type = MYSQL_TYPE_TINY;
+		buffer_len = 1;
 		break;
 	case SQLDT_UINT16: bind->is_unsigned = 1;
 	case SQLDT_INT16: bind->buffer_type = MYSQL_TYPE_SHORT;
+		buffer_len = 2;
 		break;
 	case SQLDT_UINT32: bind->is_unsigned = 1;
 	case SQLDT_INT32: bind->buffer_type = MYSQL_TYPE_LONG;
+		buffer_len = 4;
 		break;
 	case SQLDT_UINT64: bind->is_unsigned = 1;
 	case SQLDT_INT64: bind->buffer_type = MYSQL_TYPE_LONGLONG;
+		buffer_len = 8;
 		break;
 	// platform dependent size
 	case SQLDT_UCHAR: bind->is_unsigned = 1;
 	case SQLDT_CHAR: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(char));
+		buffer_len = sizeof(char);
 		break;
 	case SQLDT_USHORT: bind->is_unsigned = 1;
 	case SQLDT_SHORT: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(short));
+		buffer_len = sizeof(short);
 		break;
 	case SQLDT_UINT: bind->is_unsigned = 1;
 	case SQLDT_INT: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(int));
+		buffer_len = sizeof(int);
 		break;
 	case SQLDT_ULONG: bind->is_unsigned = 1;
 	case SQLDT_LONG: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(long));
+		buffer_len = sizeof(long);
 		break;
 	case SQLDT_ULONGLONG: bind->is_unsigned = 1;
 	case SQLDT_LONGLONG: bind->buffer_type = Sql_P_SizeToMysqlIntType(sizeof(long long));
+		buffer_len = sizeof(long long);
 		break;
 	// floating point
 	case SQLDT_FLOAT: bind->buffer_type = MYSQL_TYPE_FLOAT;
+		buffer_len = 4;
 		break;
 	case SQLDT_DOUBLE: bind->buffer_type = MYSQL_TYPE_DOUBLE;
+		buffer_len = 8;
 		break;
 	// other
 	case SQLDT_STRING:
@@ -806,17 +818,21 @@ int SqlStmt_NextRow(SqlStmt* self)
 	for( i = 0; i < cols; ++i )
 	{
 		length = self->column_lengths[i].length;
+		column = &self->columns[i];
 #if !defined(MYSQL_DATA_TRUNCATED)
 		// MySQL 4.1/(below?) returns success even if data is truncated, so we test truncation manually [FlavioJS]
-		if( self->columns[i].buffer_length < length )
+		if( column->buffer_length < length )
 		{// report truncated column
-			SqlStmt_P_ShowDebugTruncatedColumn(self, i);
-			return SQL_ERROR;
+			if( column->buffer_type == MYSQL_TYPE_STRING || column->buffer_type == MYSQL_TYPE_BLOB )
+			{// string/enum/blob column
+				SqlStmt_P_ShowDebugTruncatedColumn(self, i);
+				return SQL_ERROR;
+			}
+			// FIXME numeric types and null [FlavioJS]
 		}
 #endif
 		if( self->column_lengths[i].out_length )
 			*self->column_lengths[i].out_length = (uint32)length;
-		column = &self->columns[i];
 		if( column->buffer_type == MYSQL_TYPE_STRING )
 		{// clear unused part of the string/enum buffer (and nul-terminate)
 			memset((char*)column->buffer + length, 0, column->buffer_length - length + 1);