Report each problem only once

This commit is contained in:
zimoch
2018-07-06 09:38:34 +00:00
parent 4e46a2945b
commit eae57d8a9b

View File

@@ -4,8 +4,8 @@
version () {
echo '$Author: zimoch $' >&2
echo '$Date: 2018/07/06 09:37:45 $' >&2
echo '$Revision: 1.24 $' >&2
echo '$Date: 2018/07/06 09:38:34 $' >&2
echo '$Revision: 1.25 $' >&2
echo '$Source: /cvs/G/EPICS/App/scripts/externalLinks,v $' >&2
exit 1
}
@@ -459,10 +459,12 @@ function expandFile () {
fieldvalue[record,field] = value
definition[record,field] = filename ":" line
if (value == "") next
if (!isfield[rtype,field]) {
knownproblem=known[filename,line,rtype,field,value]
known[filename,line,rtype,field,value]=1
if (!isfield[rtype,field] && !knownproblem) {
printf("%s:%d\n\t%s record \"%s\"\n\tUnknown field %s. Known fields:\n%s",
filename, line, rtype, record, field, fields[rtype]) > "/dev/stderr"
} else if (isnoaccess[rtype,field]) {
} else if (isnoaccess[rtype,field] && !knownproblem) {
printf("writing \"%s\" to NOACCESS field %s.%s\n",
value, record, field) > "/dev/stderr"
} else if (islink[rtype,field]) {
@@ -477,17 +479,17 @@ function expandFile () {
} else if (value ~ /\$\(.*\)/) {
} else if (isdevice[rtype,field]) {
if (iolink[record]) {
if (!dtyp[record]) {
if (!dtyp[record] && !knownproblem) {
printf("%s defined after %s in record %s\n",
field, iolink[record], record) > "/dev/stderr"
}
}
if (!definition[rtype,value]) {
if (!definition[rtype,value] && !knownproblem) {
printf("%s:%d\n\t%s record \"%s\" field %s\n\tUnknown device type \"%s\". Known types:\n%s",
filename, line, rtype, record, field, value, devices[rtype]) > "/dev/stderr"
} else {
if (modulename[rtype,value] && !required[modulename[rtype,value]]) {
if (debug) {
if (debug && !knownproblem) {
printf ("%s \"%s\" for record type %s requires \"%s\"\n",
field, value, rtype, modulename[rtype,value]) > "/dev/stderr"
}
@@ -496,6 +498,8 @@ function expandFile () {
}
soft = issoft[rtype,value]
dtyp[record] = value
} else if (knownproblem) {
next
} else if (menu != "") {
if (!ischoice[menu,value]) {
if (value != int(value) || value < 0)