summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-12-25 22:05:16 +0000
committerFlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-12-25 22:05:16 +0000
commitd85724ac4159d28c8269b52afdc6fa560326c2ec (patch)
treed6e2af1e9918adc1075ee92b3dc743b560e2c77d
parent880d754af62f2658b8c5ca94cf682626ad0b53ce (diff)
downloadhercules-d85724ac4159d28c8269b52afdc6fa560326c2ec.tar.gz
hercules-d85724ac4159d28c8269b52afdc6fa560326c2ec.tar.bz2
hercules-d85724ac4159d28c8269b52afdc6fa560326c2ec.tar.xz
hercules-d85724ac4159d28c8269b52afdc6fa560326c2ec.zip
* Extended sv_escape_c to escape '\a','\b','\t','\v','\f','\?' characters to their respective representations instead of octal.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13414 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/common/strlib.c19
2 files changed, 18 insertions, 4 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 945b8f291..fc319d3ee 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.
+2008/12/25
+ * Extended sv_escape_c to escape '\a','\b','\t','\v','\f','\?' characters
+ to their respective representations instead of octal. [FlavioJS]
2008/12/22
* Added a few missing atcommands. [SketchyPhoenix]
* Added more commands to configurations (bugreport:2565)
diff --git a/src/common/strlib.c b/src/common/strlib.c
index cdb092cfa..c0cc5b4ec 100644
--- a/src/common/strlib.c
+++ b/src/common/strlib.c
@@ -692,11 +692,22 @@ size_t sv_escape_c(char* out_dest, const char* src, size_t len, const char* esca
break;
default:
if( strchr(escapes,src[i]) )
- {// escapes to octal
+ {// escape
out_dest[j++] = '\\';
- out_dest[j++] = '0'+((char)(((unsigned char)src[i]&0700)>>6));
- out_dest[j++] = '0'+((char)(((unsigned char)src[i]&0070)>>3));
- out_dest[j++] = '0'+((char)(((unsigned char)src[i]&0007) ));
+ switch( src[i] )
+ {
+ case '\a': out_dest[j++] = 'a'; break;
+ case '\b': out_dest[j++] = 'b'; break;
+ case '\t': out_dest[j++] = 't'; break;
+ case '\v': out_dest[j++] = 'v'; break;
+ case '\f': out_dest[j++] = 'f'; break;
+ case '\?': out_dest[j++] = '?'; break;
+ default:// to octal
+ out_dest[j++] = '0'+((char)(((unsigned char)src[i]&0700)>>6));
+ out_dest[j++] = '0'+((char)(((unsigned char)src[i]&0070)>>3));
+ out_dest[j++] = '0'+((char)(((unsigned char)src[i]&0007) ));
+ break;
+ }
}
else
out_dest[j++] = src[i];