Various fixes

* VxWorks 5.5.2 doesn't like C++-style variable declarations in C code
* Older MS compiler doesn't have strto[u]ll
* Wrote release note entry for iocshLoad command.
This commit is contained in:
Andrew Johnson
2014-10-07 00:41:39 -05:00
parent 0a9c5d456b
commit bd120c774d
3 changed files with 23 additions and 2 deletions

View File

@@ -15,6 +15,18 @@ EPICS Base 3.15.0.x releases are not intended for use in production systems.</p>
<h2 align="center">Changes between 3.15.0.1 and 3.15.0.2</h2>
<!-- Insert new items immediately below here ... -->
<h3>New iocshLoad command</h3>
<p>A new command <tt>iocshLoad</tt> has been added to iocsh which executes a
named iocsh script and can also set one or more shell macro variables at the
same time, the values of which will be forgotten immediately after the named
script finishes executing. The following example shows the syntax:</p>
<blockquote><pre>
iocshLoad "serial.cmd", "DEV=/dev/ttyS0,PORT=com1,TYPE=RS485"
iocshLoad "radmon.cmd", "PORT=com1,ADDR=0"
</pre></blockquote>
<h3>Support routines for 64-bit integers</h3>
<p>The libCom library now provides support for 64-bit integer types on all

View File

@@ -18,6 +18,14 @@ extern "C" {
*/
epicsShareFunc double epicsStrtod(const char *str, char **endp);
/*
* Microsoft apparently added strto[u]ll() in VS2013
* Older compilers have these equivalents though
*/
#define strtoll _strtoi64
#define strtoull _strtoui64
#ifdef __cplusplus
}
#endif

View File

@@ -121,13 +121,14 @@ static void check(const char *str, const char *macros, const char *expect)
MAC_HANDLE *handle;
char **defines;
static const char *pairs[] = { "", "environ", NULL, NULL };
char *got;
int pass = 1;
macCreateHandle(&handle, pairs);
macParseDefns(NULL, macros, &defines);
macInstallMacros(handle, defines);
char *got = macDefExpand(str, handle);
int pass = -1;
got = macDefExpand(str, handle);
if (expect && !got) {
testDiag("Got NULL, expected \"%s\".\n", expect);