Conversation
…hen no ndattr_default==true tag present
…he default ones instead of skipping all
There was a problem hiding this comment.
With writeHdfConstDatasets() commented out at this point, this function is not used anywhere else. Is it no longer required and can be deleted? It should not be left in the code like this if it is not used...
I must admit I've lost track a bit in these many changes so I don't have the overview to determine if this function can go...
|
I just tested this fix. There were several problems:
I verified that attributes of constant datasets are now stored correctly. |
|
That is strange because I compiled on linux and didn't get any errors. The writeHdfConstDatasets() function is not needed anymore, I forgot to remove it. |
|
What version of asyn are you using on Linux? In asyn R4-21 I added this: Changed the asynTrace print, printIO, vprint, vprintIO functions so they use EPICS_PRINTF_STYLE. This causes the GCC (version 3.0 and higher) and clang compilers to check the agreement of format strings with function arguments when using asynPrint() and asynPrintIO(), just as they do with printf(). This is very helpful in finding errors, and uncovered a number in asyn itself, which have been fixed. The error and fix were the following:
So you were using something that was not a char* for a %s format. gcc on Linux should have signaled that error. From: Arthur Glowacki [notifications@github.com] That is strange because I compiled on linux and didn't get any errors. The writeHdfConstDatasets() function is not needed anymore, I forgot to remove it. � |
|
I have asyn-4-22 and didn't get the error when compiling for linux-x86_64-debug |
|
I don't understand why you are not getting an error. This is what I get with commit e95bd3e of NDFileHDF5.cpp, gcc version 4.6.3, asyn R4-26. corvette:ADCore/ADApp/pluginSrc>make /usr/bin/g++ -c -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500 -D_X86_64_ -DUNIX -D_DEFAULT_SOURCE -Dlinux -D_REENTRANT -O3 -g -Wall -m64 -fPIC -MMD -I. -I../O.Common -I. -I.. -I../../../include/os/Linux -I../../../include -I/corvette/usr/local/epics/base-3.14.12.4/include/os/Linux -I/corvette/usr/local/epics/base-3.14.12.4/include -I/corvette/home/epics/devel/asyn-4-26/include -I/corvette/home/epics/devel/areaDetector-2-1/ADBinaries/include -I/corvette/home/epics/devel/areaDetector-2-1/ADCore/include -I/usr/local64/include -I/usr/include/libxml2 ../NDFileHDF5.cpp From: Arthur Glowacki [notifications@github.com] I have asyn-4-22 and didn't get the error when compiling for linux-x86_64-debug � |
This update fixes the crash for issue #66 “ndattr_default=true” is not defined. The current logic is that if it is not defined it will not save them anywhere.
This partly fixes issue #65. It should now save attributes under constant datasets. It does not save attributes under ndattribute datasets.