From a44847d9c09e9a5f06388d7a02b76830782f15cc Mon Sep 17 00:00:00 2001 From: Simon Heybrock <simon.heybrock@esss.se> Date: Wed, 5 Oct 2016 09:45:27 +0200 Subject: [PATCH] Re #17785. Workaround gcc char * warnings when using Nexus API. --- Framework/DataHandling/src/LoadHelper.cpp | 5 +++-- Framework/Nexus/src/NexusFileIO.cpp | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Framework/DataHandling/src/LoadHelper.cpp b/Framework/DataHandling/src/LoadHelper.cpp index f53b40e5ef4..072d3486e28 100644 --- a/Framework/DataHandling/src/LoadHelper.cpp +++ b/Framework/DataHandling/src/LoadHelper.cpp @@ -307,8 +307,9 @@ void LoadHelper::recurseAndAddNexusFieldsToWsRun(NXhandle nxfileID, int units_len = NX_MAXNAMELEN; int units_type = NX_CHAR; - units_status = NXgetattr(nxfileID, "units", units_sbuf, &units_len, - &units_type); + char unitsAttrName[] = "units"; + units_status = NXgetattr(nxfileID, unitsAttrName, units_sbuf, + &units_len, &units_type); if (units_status != NX_ERROR) { g_log.debug() << indent_str << "[ " << property_name << " has unit " << units_sbuf << " ]\n"; diff --git a/Framework/Nexus/src/NexusFileIO.cpp b/Framework/Nexus/src/NexusFileIO.cpp index 9c2e436489d..9ac1e1f1513 100644 --- a/Framework/Nexus/src/NexusFileIO.cpp +++ b/Framework/Nexus/src/NexusFileIO.cpp @@ -982,8 +982,9 @@ int NexusFileIO::getWorkspaceSize(int &numberOfSpectra, int &numberOfChannels, int len = NX_MAXNAMELEN; type = NX_CHAR; - if (checkAttributeName("units")) { - status = NXgetattr(fileID, "units", sbuf, &len, &type); + char unitsAttrName[] = "units"; + if (checkAttributeName(unitsAttrName)) { + status = NXgetattr(fileID, unitsAttrName, sbuf, &len, &type); if (status != NX_ERROR) yUnits = sbuf; NXclosedata(fileID); @@ -995,7 +996,7 @@ int NexusFileIO::getWorkspaceSize(int &numberOfSpectra, int &numberOfChannels, return (4); len = NX_MAXNAMELEN; type = NX_CHAR; - NXgetattr(fileID, "units", sbuf, &len, &type); + NXgetattr(fileID, unitsAttrName, sbuf, &len, &type); axesUnits = std::string(sbuf, len); NXgetinfo(fileID, &rank, dim, &type); // non-uniform X has 2D axis1 data @@ -1010,7 +1011,7 @@ int NexusFileIO::getWorkspaceSize(int &numberOfSpectra, int &numberOfChannels, NXopendata(fileID, "axis2"); len = NX_MAXNAMELEN; type = NX_CHAR; - NXgetattr(fileID, "units", sbuf, &len, &type); + NXgetattr(fileID, unitsAttrName, sbuf, &len, &type); axesUnits += std::string(":") + std::string(sbuf, len); NXclosedata(fileID); NXclosegroup(fileID); -- GitLab