Merge branch '7.0' into PSI-7.0

This commit is contained in:
2024-04-30 14:40:00 +02:00
59 changed files with 357 additions and 268 deletions

View File

@@ -90,7 +90,7 @@ static const iocshFuncDef asprulesFuncDef = {
"asprules",1,asprulesArgs,
"List rules of an Access Security Group.\n"
"If no Group is specified then list the rules for all groups\n"
"Example: asprules mygroup"
"Example: asprules mygroup\n"
};
static void asprulesCallFunc(const iocshArgBuf *args)
{

View File

@@ -50,6 +50,7 @@ void testdbPrepare(void)
{
if(!testEvtLock)
testEvtLock = epicsMutexMustCreate();
initHookAnnounce(initHookAfterPrepareDatabase);
}
void testdbReadDatabase(const char* file,
@@ -94,6 +95,7 @@ void testIocShutdownOk(void)
void testdbCleanup(void)
{
initHookAnnounce(initHookBeforeCleanupDatabase);
dbFreeBase(pdbbase);
db_cleanup_events();
initHookFree();

View File

@@ -118,6 +118,10 @@ typedef struct dbRecordNode {
char *recordname;
ELLLIST infoList; /*LIST head of info nodes*/
int flags;
/** Parse order of this record()
* @since UNRELEASED
*/
unsigned order;
struct dbRecordNode *aliasedRecnode; /* NULL unless flags|DBRN_FLAGS_ISALIAS */
}dbRecordNode;
@@ -184,5 +188,9 @@ typedef struct dbBase {
struct gphPvt *pgpHash;
short ignoreMissingMenus;
short loadCdefs;
/** Total number of records.
* @since UNRELEASED
*/
unsigned no_records;
}dbBase;
#endif

View File

@@ -247,23 +247,23 @@ static long dbReadCOM(DBBASE **ppdbbase,const char *filename, FILE *fp,
}
my_buffer = dbCalloc(MY_BUFFER_SIZE,sizeof(char));
freeListInitPvt(&freeListPvt,sizeof(tempListNode),100);
if(substitutions) {
if(macCreateHandle(&macHandle,NULL)) {
epicsPrintf("macCreateHandle error\n");
status = -1;
goto cleanup;
}
macParseDefns(macHandle,(char *)substitutions,&macPairs);
if(macPairs ==NULL) {
macDeleteHandle(macHandle);
macHandle = NULL;
} else {
macInstallMacros(macHandle,macPairs);
free((void *)macPairs);
mac_input_buffer = dbCalloc(MY_BUFFER_SIZE,sizeof(char));
}
macSuppressWarning(macHandle,dbQuietMacroWarnings);
if (substitutions == NULL)
substitutions = "";
if(macCreateHandle(&macHandle,NULL)) {
epicsPrintf("macCreateHandle error\n");
status = -1;
goto cleanup;
}
macParseDefns(macHandle,substitutions,&macPairs);
if(macPairs == NULL) {
macDeleteHandle(macHandle);
macHandle = NULL;
} else {
macInstallMacros(macHandle,macPairs);
free(macPairs);
mac_input_buffer = dbCalloc(MY_BUFFER_SIZE,sizeof(char));
}
macSuppressWarning(macHandle,dbQuietMacroWarnings);
pinputFile = dbCalloc(1,sizeof(inputFile));
if (filename) {
pinputFile->filename = macEnvExpand(filename);

View File

@@ -193,7 +193,7 @@ struct lset;
struct link {
struct dbCommon *precord; /* Pointer to record owning link */
short type;
short flags;
unsigned short flags;
struct lset *lset;
char *text; /* Raw link text */
union value value;

View File

@@ -61,8 +61,8 @@ this chapter for information on soft device support.
If the record gets its values from hardware or uses the C<Raw Soft Channel>
device support, the device support routines place the value in the RVAL
field.
(Since UNRELEASED) If the MASK field is non-zero, then this MASK is applied to RVAL.
The value of RVAL is then converted using the process described in the
(Since 7.0.8) If the MASK field is non-zero, then this MASK is applied to RVAL.
The value from RVAL is then converted using the process described in the
next section.
=fields INP, DTYP, ZNAM, ONAM, RVAL, VAL

View File

@@ -158,7 +158,7 @@ CEIL: Ceiling (unary)
FLOOR: Floor (unary)
=item *
FMOD: Floating point modulo (binary) Added in UNRELEASED
FMOD: Floating point modulo (binary) Added in 7.0.8
=item *
LOG: Log base 10 (unary)

View File

@@ -184,7 +184,7 @@ CEIL: Ceiling (unary)
FLOOR: Floor (unary)
=item *
FMOD: Floating point modulo (binary) Added in UNRELEASED
FMOD: Floating point modulo (binary) Added in 7.0.8
=item *
LOG: Log base 10 (unary)

View File

@@ -85,7 +85,7 @@ for information on the format of hardware addresses and database links.
=head4 Menu longoutOOPT
The OOPT field was added in EPICS UNRELEASED.
The OOPT field was added in EPICS 7.0.8.
It determines the condition that causes the output link to be
written to. It's a menu field that has six choices:
@@ -119,7 +119,7 @@ VAL is non-zero and last value was zero.
=head4 Changes in OUT field when OOPT = On Change
The OOCH field was added in EPICS UNRELEASED.
The OOCH field was added in EPICS 7.0.8.
If OOCH is C<YES> (its default value) and the OOPT field is C<On Change>,
the record will write to the device support the first time the record gets

View File

@@ -20,10 +20,14 @@ use EPICS::Getopts;
use EPICS::Readfile;
use EPICS::macLib;
our ($opt_D, @opt_I, @opt_S, $opt_o);
our ($opt_D, $opt_A, @opt_I, @opt_S, $opt_o);
getopts('DI@S@o:') or
die "Usage: dbdExpand [-D] [-I dir] [-S macro=val] [-o out.dbd] in.dbd ...";
getopts('DAI@S@o:') or
die "Usage: dbdExpand [-D] [-A] [-I dir] [-S macro=val] [-o out.dbd] in.dbd ...";
if ($opt_A) {
$DBD::Parser::allowAutoDeclarations = 1;
}
my @path = map { split /[:;]/ } @opt_I; # FIXME: Broken on Win32?
my $macros = EPICS::macLib->new(@opt_S);