From 48b5b720d1b153859ac6a9f4d1b53b85cd562dc4 Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Thu, 4 Nov 2021 14:49:08 +0100 Subject: [PATCH] bugfix: Need to check if module version supports our current EPICS release --- require.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/require.c b/require.c index b4cb095..f4b6ad5 100644 --- a/require.c +++ b/require.c @@ -1457,15 +1457,20 @@ static int require_priv(const char* module, const char* version, const char* arg case EXACT: /* exact match found */ case MATCH: /* all given numbers match. */ { + someArchFound = 1; + /* filename = "/[dirlen]/[modulediroffs]" */ /* Add our EPICS version */ - snprintf(filename+modulediroffs, sizeof(filename)-modulediroffs, "%s/R%s/%n", - currentFilename, epicsRelease, &releasediroffs); + if (!TRY_FILE(modulediroffs, "%s/R%s/%n", currentFilename, epicsRelease, &releasediroffs)) + { + if (requireDebug) + printf("require: %s %s not available for R%s\n", + module, currentFilename, epicsRelease); + continue; + } releasediroffs += modulediroffs; /* filename = "/[dirlen]/[modulediroffs]/R/[releasediroffs]" */ - someArchFound = 1; - if (requireDebug) printf("require: %s %s may match %s\n", module, currentFilename, version);