summaryrefslogtreecommitdiff
path: root/src/common/strlib.c
AgeCommit message (Collapse)AuthorFilesLines
2011-09-08* Fix C++ compilation issues.flaviojs1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14955 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-06-16* Merges from charmerge:flaviojs1-47/+89
- Added DBMap::exists. (r14090) - Added sv_parse_next, a stepped version of sv_parse (delim-separated parser). (r14100 r14104) - Added missing fd check to do_close. (r14145) - Normalized, refactored and restructured some code (in preparation for shutdown/reconnect code). (r14145 r14150) - Changed the char select request code to allow the char-server to reject it. (player in map-server trying to go to char select) (r14150) - Added shutdown support to the servers. (incomplete) (r14152) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14851 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-16* Updated configure/make scripts to resolve various issues.ai4rei1-2/+1
- Added detection whether or not -fPIC switch is required when compiling shared objects (plug-ins) to resolve compile issues on 64-bit platforms (topic:208746). - Native 'strnlen' implementations are now detected and disable the one in strlib (bugreport:1261). - Define 'DB_MANUAL_CAST_TO_UNION' is now set when necessary (bugreport:1261). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14708 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-04* Added support for removal of trailing comments to sv_readdb (bugreport:4680).ai4rei1-3/+7
- Disabled monster BACSOJIN_T (1996) whose drop White Snake Hat (5411) is not enabled (was hidden by '//', which would cause errors now) (since r14412). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14649 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-16* Reverted r14525 (introduction of SV_READDB_MAX_FIELDS) because it causes ↵ai4rei1-10/+8
confusion to certain group of users and depends on MAX_LEVEL since r14526. - Made sv_readdb be able to process any amount of columns instead. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14595 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-16* Fixed a mistake in sv_split, causing CR being recognized as EOL character, ↵ai4rei1-1/+1
even when only LF was specified (since r12459). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14594 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-11-30* Made job_db1.txt, job_db2.txt, size_fix.txt and refine_db.txt reading use ↵ai4rei1-1/+1
sv_readdb. - NOTE: Any MAX_LEVEL (map.h) increase requires at least same increase of SV_READDB_MAX_FIELDS as well. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14526 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-11-30* Added SV_READDB_MAX_FIELDS define for configuration of the sv_readdb limit.ai4rei1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14525 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-11-19* Various VC6-related fixes and tweaks. [Ai4rei]ai4rei1-2/+7
- Fixed a typo in VC6 project files, that prevented login-server from compiling (bugreport:4061, since r12727). - Fixed usage of 'long long' in Sql_P_BindSqlDataType preventing SQL VC6 projects from compiling (bugreport:1741, since r10779). - Fixed usage of 'long long' in strtoull preventing VC6 projects from compiling (bugreport:4059, follow up to r14245). - Made strtoull default to base 10 and actually process base 8, to match the normal behavior of this function (bugreport:4059, follow up to r14245). - Fixed functions in db.c not being returned as pointer, causing warnings on VC6. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14466 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-02-15Added visual studio equivalent of libc's strtoull() - name redefine for ↵ultramage1-0/+39
newer VS versions, custom implementation for VS6 (I hope it works). This should fix the compilation error from r14242 (bugreport:4059). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14245 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-04-20* Fixed safestrncpy trashing the memory before dst when n == 0. (since ↵FlavioJS1-6/+17
r10667, bugreport:2996) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13681 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-03-13Corrected a potentially uninitialized variable in sv_parse (bugreport:2860).ultramage1-1/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-02-25* Wrong variable being used in StringBuf_Vprintf. (follow up to r13386, ↵FlavioJS1-1/+1
fixes bugreport:2798) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13548 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-12-25* Extended sv_escape_c to escape '\a','\b','\t','\v','\f','\?' characters to ↵FlavioJS1-4/+15
their respective representations instead of octal. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13414 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-11-24* Fixed a va_end using the wrong variable. (from r13383, fixes bugreport:2483)FlavioJS1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13386 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-11-22* Hunted down improper uses of va_list variables.FlavioJS1-0/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13383 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-09Fixed login printing raw passwdenc passwords to console (bugreport:826).ultramage1-0/+22
Added strlib function bin2hex(). Cleaned up the md5calc interface a bit. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13055 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-23* Fixed script strings not being handled properly (only skipped the \).FlavioJS1-5/+38
* Added skip_escaped_c to strlib.c/h. * Fixed sv_unescape_c not handling hex/octal escapes properly. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12639 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-22Fixed a "bug" in sv_readdb under windows and cygwin configured as ↵toms1-1/+1
"Unix/binary" for text files ('\r' is read and empty lines are not skipped) bugreport:1382 bugreport:1401 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12634 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-17Modified sv_readdb to be able to process non-native line terminators ↵ultramage1-1/+1
(bugreport:1382) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12610 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-15 * Corrected some invalid syntax in skill_db.txt (wrong usage of commas)ultramage1-0/+80
* Renamed BA_FROSTJOKE to BA_FROSTJOKER (aegis server-side name) * Implemented a generic framework for parsing delimited db files (allows specifying min/max column ranges and max number of rows to read) * Corrected a typo in quest_update_objective() * Cleaned up pc.c a bit git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-02* Added SV_KEEP_TERMINATOR option to not split the line terminator.FlavioJS1-17/+21
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12461 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-02* Added sv_split to strlib.c/h (similar to sv_parse).FlavioJS1-7/+92
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12459 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-26Adjusted eAthena code to compile cleanly in C++ mode.ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12436 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-16Removed some useless svn:ignore properties.ultramage1-1/+1
Fixed a compilation problem. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12211 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-09* Added a generic 'delimiter-separated values' string parser to strlib.c/h.FlavioJS1-0/+337
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11878 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-27* Added safesnprintf to strlib.c/h (bugreport:372)FlavioJS1-0/+25
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11828 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-17* Reworked the parsing at npc.c.FlavioJS1-0/+20
- Fixes npc.c discarding the '}' at the end of file, when there is no newline. (uncovered as a side-effect of r11487) * Empty script functions always have code now (won't report as missing when you try to call them). * Changed userfunc_db to not limit the name to 50 characters. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11502 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-22* Added 'safestrnlen' to prevent null pointer crashesultramage1-0/+6
* Fixed global chat logging always crashing on a null pointer * Applied changes to clif_parse_globalmessage() from my WiP code - clearer processing of the individual packet components - proper code ordering, some more integrity checks - fixes to some poorly chosen ShowWarning() format strings - global chat logging no longer logs the entire string (w/ player name) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11271 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-20* Merged the tmpsql branch:FlavioJS1-2/+132
- Abstraction for the sql code (sql.c/h). - New configure script and makefiles. - Restored txt zeny logging code. (r10814) - Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814) - Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833) - Improved db reading code a bit for consistency. (r11077) - Added separate atcommand for mail deletion. (r11077) - Corrected a few messages that said "new" instead of "unread". (r11077) - Broadcast (*) messages now use "*" as the target's name (not ""). (r11077) - Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117) - Some misc login server cleanups (reformatting etc). (r11136) - Corrected/modified some header entries. (r11141 r11147 11148) - Adjusted VS project files. (r11147) - Adjusted the way the sql charserver does item saving. (r11192) - Corrected usage of reserved keyword 'friend' in mmo.h. (r11192) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11245 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-06-02* Displaying op names instead of numbers in script engine errors.FlavioJS1-4/+15
* Fixed a bug introduced in the last rework of the fame ranking. * Created safestrncpy that ensures the string is nul-terminated. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10667 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-14Fixed TXT char creation blocking characters with nonstandard namesultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10257 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09* Recoded and renamed the trim function in strlib to normalize_name. (didn't ↵FlavioJS1-16/+59
behave like a standard trim function, see function comment for what it does) * Added a proper trim function to strlib. * Other minor cleanups. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10199 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09* Played around with MinGW a bit today...ultramage1-2/+1
- adjusted code so that it handles mingw-specific compatibility problems - adjusted the makefile, mingw is not a subset of cygwin * As an experiment Corrected many /W4 warnings on the txt login server git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10192 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-07- Moved e_mail_check() and config_switch() to strlib.hultramage1-0/+50
- Synchronized the login servers a bit git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10174 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-05* Made a crazy attempt to at least partially synchronize login&char codeultramage1-21/+25
* Major edit to the way the servers handle ip addresses, making them obey the "host byte order inside, network byte order outside" rule - hopefully covered all entry- and exit-points for IP address data - discovered several places where Gravity's client breaks the convention, will need to come up with a suitable countermeasure for that - other than that, the code should be portable, except for printing and ipban mask testing (those still assume a specific byte order) - tested both txt and sql in all usual situations; tested single- and multi-server setups, all seems to work (but watch out for hidden bugs!) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10162 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30Fixed typos from previous revisions :)ultramage1-1/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10098 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30* Added all the missing defines for ctype.h functions and converted all the ↵FlavioJS1-2/+2
direct uses to the defines. Ref: http://www.eathena.ws/board/index.php?showtopic=145235 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10091 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-09- Added info on packet 0x86 (simple move packet). Not usable until a clear ↵FlavioJS1-1/+1
separation between entering sight/leaving sight/walking in sight is done. - Propagating const char* from the script engine. - ".gat" is appended to the map name before sending the changemapserver packet to the client. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9979 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-01Added string function strnlenultramage1-0/+10
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9761 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07Undid the memset->malloc_set replacementultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29- Probably fixed the Segmentation Faults we've been having.FlavioJS1-194/+194
Description: A player quits and it's session is freed and set to NULL, but the char server already sent a packet with player information (registers, storage, ...). If a message is sent in consequence of updating that info, a segmentation fault happens because session[sd->fd] is already NULL. Fix: make shure the session of the target player is valid before processing the rest of the char server's message. - Some minor cleanups. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9366 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-27* Optional macro MEMSET_TURBO for faster low-level memory initializations.Lance1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8499 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-04-28- Added function stristr to strlib.c, used by mob.c and item_db.c for ↵skotlex1-0/+35
case-insensitive seeks. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6345 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-04-01Asssuming only __WIN32 (VC++) doesn't have strtok_r.Lance1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5839 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-30git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5812 ↵Lance1-27/+15
54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-30git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5811 ↵Lance1-0/+33
54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-03-26- Fixed jstrescapecpy crashing when you pass a null string to parse.skotlex1-0/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5753 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-01-29AS OF SVN REV. 5901, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES ↵Valaris1-0/+133
GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-01-29Clearing trunk.Valaris1-98/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5091 54d463be-8e91-2dee-dedb-b68131a5f0ec