Commit Graph

40 Commits

Author SHA1 Message Date
Andrew Johnson
dba6971e07 Merged changes from 3.14 branch to revno 12687 2016-12-07 16:36:58 -06:00
Andrew Johnson
b9f0ef5158 Merge 3.14 version and add 3.15 edits 2016-05-22 14:38:18 +02:00
Andrew Johnson
f4a16a1e1e Remaining Revision-Id keywords in source 2016-05-22 05:43:09 +02:00
Andrew Johnson
e8c9783e06 Merged changes from 3.14 branch up to revno 12530 2015-03-02 10:35:35 -06:00
Andrew Johnson
dda4eb3a58 Fix more MS idiocy
Windows has signed characters, but if you pass a negative
value (i.e. a character with value >= 0x80) into the debug
version of its isprint() runtime library function it asserts.
2015-02-18 16:36:42 -06:00
Andrew Johnson
30b789aa49 Fix epicsStrnEscapedFromRaw() and epicsStrnRawFromEscaped()
Major rewrites; the original epicsStrnRawFromEscaped() could read
beyond the end of the input buffer if the input count ended in the
middle of an octal or hex escape sequence. Zero termination did not
always match the return count, and hex escapes were always 2 digits,
contrary to the C standard.

New versions don't use epicsSnprintf() or sscanf() for hex and octal
conversions, so should be slightly faster.

Added 81 new tests to check the above issues.
2014-12-01 11:34:58 -06:00
Andrew Johnson
6f7fc7bf8e Merged changes from 3.14 branch
Up to revno 12504.
2014-11-07 15:57:13 -06:00
Andrew Johnson
53d9a07f64 Fix buffer overflow in epicsStrnRawFromEscaped
lp:1388313
2014-11-05 10:06:02 -06:00
Andrew Johnson
7a9407d7ab libCom: Clean up MS compiler warnings.
This doesn't fix the Microsoft link failure though, that may
need an upgrade of MS Visual Studio on our Hudson Windows VM.
2014-09-04 11:07:59 -05:00
Andrew Johnson
f5b9db9583 libCom: Fix epicsString.h comparison functions
The string comparison functions epicsStrCaseCmp() and
epicsStrnCaseCmp() were returning incorrect results
when the strings did not match.

These functions now match their BSD equivalents, and
have working tests to confirm their operation.
2014-03-11 17:12:41 -05:00
Michael Davidsaver
746c739769 add epicsStrnLen()
Base currently requires only POSIX 2001 while
strnlen() is part of POSIX 2008.
2014-01-11 10:58:39 -05:00
Andrew Johnson
fbda9f3280 RCS keyword updates for Bazaar
Replaced $Id$ and $Header$ keywords with $Revision-Id$
Deleted $Log$ keywords and any log messages
2010-10-05 14:27:37 -05:00
Andrew Johnson
d545a8f04f Added test code, fixed bug found in epicsStrnEscapedFromRawSize(). 2009-04-10 19:58:34 +00:00
Ralph Lange
433e400c4d Fix in calculating the needed buffer length for escaped strings. 2009-04-02 13:05:42 +00:00
Ralph Lange
73470d5f4c Added new functions to escape non-printable characters. (epicsString) 2009-04-02 02:13:04 +00:00
Andrew Johnson
7eeb70a8d9 Added epicsStrHash() and epicsMemHash(), after analyzing several hash
functions found online and the two already in Base (which both perform
a memory lookup per character and are not as good as this one).
2009-03-19 17:44:22 +00:00
Andrew Johnson
e16dc7852e Fixed gcc warnings. 2006-11-28 18:00:37 +00:00
Marty Kraimer
de797d11e2 fix win32 compiler warnings 2005-12-13 12:57:19 +00:00
Marty Kraimer
cdda915248 o and x format should have unsigned args 2005-12-12 20:09:02 +00:00
Marty Kraimer
3499fbe51d get rid of epicsShareAPI; epicsStrtok_r is new; clean up epicsStdlib 2005-12-12 19:54:48 +00:00
Janet B. Anderson
a4aa9234ed Added cast to int to remove gnu compiler warning messages. 2004-10-19 15:18:51 +00:00
W. Eric Norum
e7f16cb078 Cosmetic. 2004-10-09 21:43:05 +00:00
W. Eric Norum
370e46227a Much improved version of epicsStrGlobMatch thanks to Jack Handy and the
folks at the Cold Project.
2004-10-08 20:38:11 +00:00
W. Eric Norum
0d6784c31b Provide epicsStrGlobMatch().
Add globbing to iocsh help command.
2004-10-07 20:10:38 +00:00
Marty Kraimer
31c9c89350 epicsStrSnPrintEscaped: prevent buffer overflow; use posix convention 2004-10-04 12:38:33 +00:00
Jeff Hill
2d613ba5d0 fixed DLL export 2004-08-11 00:46:12 +00:00
W. Eric Norum
429c47eb11 Add epicsStrSnPrintEscaped. 2004-04-20 01:05:23 +00:00
W. Eric Norum
fbf90dd641 Remove unreachable code. 2004-02-03 21:35:25 +00:00
W. Eric Norum
585e2f7d6c Stupid vxWorks implementation of toupper/tolower expands macro argument more than once! 2004-02-03 16:49:33 +00:00
Marty Kraimer
3bc5fb63d1 dont print ? as escaped character 2004-01-20 15:27:29 +00:00
W. Eric Norum
4dc47cc3c7 Add epicsStrnCaseCmp(). 2004-01-13 23:07:11 +00:00
Marty Kraimer
10fa0e0eb2 add epicsStrPrintEscaped 2003-12-01 16:04:23 +00:00
Jeff Hill
fb3dfef5e8 fixed build errors 2003-07-15 16:03:36 +00:00
W. Eric Norum
7f56802052 Add epicsStrDup(). 2003-07-08 19:35:28 +00:00
Marty Kraimer
48e9500f1a added epicsStrCaseCmp; add epicsShare decoration 2003-04-07 13:51:18 +00:00
Ralph Lange
881ba6bb9d Fixed compiler warnings connected to missing char->int casts 2003-04-03 12:05:09 +00:00
Janet B. Anderson
93b0bf478d Updated license comments. 2002-07-12 21:35:43 +00:00
Marty Kraimer
8d76efbb30 Changed author 1998-09-29 14:56:57 +00:00
Marty Kraimer
713d7fd361 get rid of warning message 1998-03-16 16:24:29 +00:00
Marty Kraimer
62ce79e147 Extra useful routines. First is dbTranslateEscape 1997-04-30 19:07:57 +00:00