warn about wrong order of DTYP and INP/OUT
warn when fields are overwritten
This commit is contained in:
@@ -4,8 +4,8 @@
|
||||
|
||||
version () {
|
||||
echo '$Author: zimoch $' >&2
|
||||
echo '$Date: 2011/05/04 12:22:05 $' >&2
|
||||
echo '$Revision: 1.8 $' >&2
|
||||
echo '$Date: 2011/09/23 10:04:09 $' >&2
|
||||
echo '$Revision: 1.9 $' >&2
|
||||
echo '$Source: /cvs/G/EPICS/App/scripts/externalLinks,v $' >&2
|
||||
exit 1
|
||||
}
|
||||
@@ -354,28 +354,44 @@ function expandFile () {
|
||||
value = a[2]
|
||||
target = a[3]
|
||||
menu = menuname[rtype,field]
|
||||
|
||||
if (fieldvalue[record,field] && fieldvalue[record,field] != value) {
|
||||
printf("%s.%s redefined from \"%s\" to \"%s\"\n",
|
||||
record, field, fieldvalue[record,field], value) > "/dev/stderr"
|
||||
}
|
||||
fieldvalue[record,field] = value
|
||||
if (isnoaccess[rtype,field]) {
|
||||
printf("writing \"%s\" to NOACCESS field %s.%s\n",
|
||||
value, record, field) > "/dev/stderr"
|
||||
} else if (isdevice[rtype,field]) {
|
||||
if (iolink[record]) {
|
||||
if (!dtyp[record]) {
|
||||
printf("%s defined after %s in record %s\n",
|
||||
field, iolink[record], record) > "/dev/stderr"
|
||||
}
|
||||
}
|
||||
if (!isdefined[rtype,value]) {
|
||||
printf("unknown device \"%s\" in %s.%s (%s)\n",
|
||||
value, record, field, rtype) > "/dev/stderr"
|
||||
} else {
|
||||
if (!required[modulename[rtype,value]]) {
|
||||
if (debug) {
|
||||
printf ("DTYP \"%s\" for record type %s requires \"%s\"\n",
|
||||
value, rtype, modulename[rtype,value]) > "/dev/stderr"
|
||||
printf ("%s \"%s\" for record type %s requires \"%s\"\n",
|
||||
field, value, rtype, modulename[rtype,value]) > "/dev/stderr"
|
||||
}
|
||||
required[modulename[rtype,value]] = 1
|
||||
}
|
||||
}
|
||||
soft = issoft[rtype,value]
|
||||
dtyp[record] = value
|
||||
} else if (islink[rtype,field]) {
|
||||
if (target != "" && \
|
||||
((field != "INP" && field != "OUT") || soft)) {
|
||||
reference[target] = filename ": "record "." field
|
||||
}
|
||||
if (field == "INP" || field == "OUT") {
|
||||
iolink[record] = field
|
||||
}
|
||||
} else if (menu != "") {
|
||||
if (!ischoice[menu,value]) {
|
||||
if (value != int(value) || value < 0)
|
||||
|
||||
Reference in New Issue
Block a user