Compare commits

..

6 Commits

Author SHA1 Message Date
Ralph Lange
cd746a339f configure: update CONFIG_BASE_VERSION for 3.15.3-rc1 2015-10-26 17:22:37 +01:00
Ralph Lange
6438750615 tools: change builtin _USER_ macro name to avoid clashes with makeBaseApp 2015-10-26 13:41:46 +01:00
Andrew Johnson
2ec5c80652 Fix internal anchor in filters.pod 2015-10-13 18:39:50 -05:00
Andrew Johnson
e1039bacfc Merged DB file parser fix from 3.14, revno 12605 2015-10-13 14:41:39 -05:00
Andrew Johnson
54381b7bf9 Fix DB file parser crashes 2015-10-13 12:03:32 -05:00
Andrew Johnson
69d3c94328 Set Base version to -pre1-DEV 2015-10-12 10:38:00 -05:00
7 changed files with 22 additions and 13 deletions

View File

@@ -37,11 +37,11 @@ EPICS_PATCH_LEVEL = 0
# This will end in -DEV between official releases
#EPICS_DEV_SNAPSHOT=-DEV
EPICS_DEV_SNAPSHOT=-pre1
#EPICS_DEV_SNAPSHOT=-pre1
#EPICS_DEV_SNAPSHOT=-pre1-DEV
#EPICS_DEV_SNAPSHOT=-pre2
#EPICS_DEV_SNAPSHOT=-pre2-DEV
#EPICS_DEV_SNAPSHOT=-rc1
EPICS_DEV_SNAPSHOT=-rc1
#EPICS_DEV_SNAPSHOT=-rc1-DEV
#EPICS_DEV_SNAPSHOT=-rc2
#EPICS_DEV_SNAPSHOT=-rc2-DEV

View File

@@ -73,15 +73,20 @@ static int yyreset(void)
{whitespace} ;
{doublequote}({stringchar}|{escape})*{newline} { /* bad string */
yyerror("Newline in string, closing quote missing");
yyerrorAbort("Newline in string, closing quote missing");
}
. {
char message[40];
YY_BUFFER_STATE *dummy=0;
sprintf(message,"Invalid character '%c'",yytext[0]);
yyerror(message);
if (isprint((int) yytext[0])) {
sprintf(message, "Invalid character '%c'", yytext[0]);
}
else {
sprintf(message, "Invalid character 0x%2.2x", yytext[0]);
}
yyerrorAbort(message);
/*The following suppresses compiler warning messages*/
if(FALSE) yyunput('c',(unsigned char *) message);
if(FALSE) yy_switch_to_buffer(*dummy);

View File

@@ -12,6 +12,7 @@
/*The routines in this module are serially reusable NOT reentrant*/
#include <ctype.h>
#include <epicsStdlib.h>
#include <stddef.h>
#include <stdio.h>

View File

@@ -604,7 +604,10 @@ DBENTRY * dbAllocEntry(dbBase *pdbbase)
void dbFreeEntry(DBENTRY *pdbentry)
{
if(pdbentry->message) free((void *)pdbentry->message);
if (!pdbentry)
return;
if (pdbentry->message)
free((void *)pdbentry->message);
dbmfFree(pdbentry);
}

View File

@@ -6,13 +6,13 @@ The following filters are available in this release:
=over
=item * L<TimeStamp|/"TimeStamp Filter "ts"">
=item * L<TimeStamp|/"TimeStamp Filter ts">
=item * L<Deadband|/"Deadband Filter "dbnd"">
=item * L<Deadband|/"Deadband Filter dbnd">
=item * L<Array|/"Array Filter "arr"">
=item * L<Array|/"Array Filter arr">
=item * L<Synchronize|/"Synchronize Filter "sync"">
=item * L<Synchronize|/"Synchronize Filter sync">
=back

View File

@@ -30,7 +30,7 @@ my $user = $ENV{LOGNAME} || $ENV{USER} || $ENV{USERNAME};
my $host = hostname;
my %replacements = (
_DATETIME_ => $datetime,
_USER_ => $user,
_USERNAME_ => $user,
_HOST_ => $host,
);

View File

@@ -77,11 +77,11 @@ mksnip('b', '2_a', '2');
is assemble("a$$/10_a", "b$$/2_a", "a$$/15_a", "b$$/09_a"), '2 09 10 15', "ranks are sorted numerically";
# Builtin macros
mksnip('a', '30_a', '_USER_');
mksnip('a', '30_a', '_USERNAME_');
mksnip('a', '30_b', '_OUTPUTFILE_');
mksnip('a', '30_c', '_SNIPPETFILE_');
mksnip('a', '30_d', '_HOST_');
is assemble("a$$/30_a"), "$user", "builtin macro _USER_";
is assemble("a$$/30_a"), "$user", "builtin macro _USERNAME_";
is assemble("a$$/30_b"), "out$$", "builtin macro _OUTPUTFILE_";
is assemble("a$$/30_c"), "a$$/30_c", "builtin macro _SNIPPETFILE_";
is assemble("a$$/30_d"), "$host", "builtin macro _HOST_";