mirror of
https://github.com/Unidata/netcdf-c.git
synced 2025-02-11 16:40:36 +08:00
Merge pull request #1322 from Unidata/v4.6.2.1-dev.wif
Preparing Maintenance Release
This commit is contained in:
commit
af2e115712
@ -7,9 +7,15 @@ This file contains a high-level description of this package's evolution. Release
|
|||||||
|
|
||||||
## 4.6.3 - TBD
|
## 4.6.3 - TBD
|
||||||
|
|
||||||
|
## 4.6.2.1 - February 15, 2019
|
||||||
|
|
||||||
|
### Maintenance Release
|
||||||
|
|
||||||
* Update the license from the home-brewed NetCDF license to the standard 3-Clause BSD License. This change does not result in any new restrictions; it is merely the adoption of a standard, well-known and well-understood license in place of the historic NetCDF license written at Unidata. This is part of a broader push by Unidata to adopt modern, standardized licensing.
|
* Update the license from the home-brewed NetCDF license to the standard 3-Clause BSD License. This change does not result in any new restrictions; it is merely the adoption of a standard, well-known and well-understood license in place of the historic NetCDF license written at Unidata. This is part of a broader push by Unidata to adopt modern, standardized licensing.
|
||||||
|
* [BugFix] Corrected DAP-releated issues on big-endian machines. See [Github #1321](https://github.com/Unidata/netcdf-c/issues/1321), [Github #1302](https://github.com/Unidata/netcdf-c/issues/1302) for more information.
|
||||||
|
* [BugFix][Enhancement] Various and sundry bugfixes and performance enhancements, thanks to @edhartnett, @gsjaardema, @t-b, @wkliao, and all of our other contributors.
|
||||||
|
* [Enhancement] Extended `nccopy -F` syntax to support multiple variables with a single invocation. See [Github #1311](https://github.com/Unidata/netcdf-c/issues/1311) for more information.
|
||||||
|
* [BugFix] Corrected an issue where DAP2 was incorrectly converting signed bytes, resulting in an erroneous error message under some circumstances. See [GitHub #1317](https://github.com/Unidata/netcdf-c/issues/1317) for more information. See [Github #1319](https://github.com/Unidata/netcdf-c/issues/1319) for related information.
|
||||||
* [BugFix][Enhancement] Modified `nccopy` so that `_NCProperties` is not copied over verbatim but is instead generated based on the version of `libnetcdf` used when copying the file. Additionally, `_NCProperties` are displayed if/when associated with a netcdf3 file, now. See [GitHub #803](https://github.com/Unidata/netcdf-c/issues/803) for more information.
|
* [BugFix][Enhancement] Modified `nccopy` so that `_NCProperties` is not copied over verbatim but is instead generated based on the version of `libnetcdf` used when copying the file. Additionally, `_NCProperties` are displayed if/when associated with a netcdf3 file, now. See [GitHub #803](https://github.com/Unidata/netcdf-c/issues/803) for more information.
|
||||||
|
|
||||||
## 4.6.2 - November 16, 2018
|
## 4.6.2 - November 16, 2018
|
||||||
|
128
docs/DAP4.dox
128
docs/DAP4.dox
@ -46,11 +46,11 @@ format. The URL is composed of three parts.
|
|||||||
+ http://remotetest.unidata.ucar.edu/d4ts/test.01#protocol=dap4
|
+ http://remotetest.unidata.ucar.edu/d4ts/test.01#protocol=dap4
|
||||||
+ http://thredds.ucar.edu/thredds/dap4/...
|
+ http://thredds.ucar.edu/thredds/dap4/...
|
||||||
|
|
||||||
- Constraints - these are suffixed to the URL and take the form
|
- Constraints - these are suffixed to the URL and take the form
|
||||||
“?dap4.ce=\<expression\>”. The form of the constraint expression
|
“?dap4.ce=\<expression\>”. The form of the constraint expression
|
||||||
is somewhat complicated, and the specification should be consulted.
|
is somewhat complicated, and the specification should be consulted.
|
||||||
|
|
||||||
- Client parameters - these may be specified in either of
|
- Client parameters - these may be specified in either of
|
||||||
two ways. The older, deprecated form prefixes text to the
|
two ways. The older, deprecated form prefixes text to the
|
||||||
front of the url and is of the the general form [\<name>]
|
front of the url and is of the the general form [\<name>]
|
||||||
or [\<name>=value]. Examples include [show=fetch] or [noprefetch].
|
or [\<name>=value]. Examples include [show=fetch] or [noprefetch].
|
||||||
@ -95,7 +95,7 @@ Parameter Name Legal Values Semantics
|
|||||||
for specially named elements in the DMR XML in order to
|
for specially named elements in the DMR XML in order to
|
||||||
achieve a better translation of the DAP4 meta-data to NetCDF enhanced
|
achieve a better translation of the DAP4 meta-data to NetCDF enhanced
|
||||||
metadata.
|
metadata.
|
||||||
- "opaquesize=<integer>" - This parameter causes the netCDF code to
|
- "opaquesize=<integer>" - This parameter causes the netCDF code to
|
||||||
convert DAP4 variable size OPAQUE objects to netcdf-4 fixed size
|
convert DAP4 variable size OPAQUE objects to netcdf-4 fixed size
|
||||||
objects and forces all of them to be of the size specified.
|
objects and forces all of them to be of the size specified.
|
||||||
- "fillmismatch" - Unfortunately, a number of servers sometimes
|
- "fillmismatch" - Unfortunately, a number of servers sometimes
|
||||||
@ -152,79 +152,79 @@ Finally from the set so constructed, choose the first matching entry.
|
|||||||
Currently, the supported set of keys (with descriptions) are as
|
Currently, the supported set of keys (with descriptions) are as
|
||||||
follows.
|
follows.
|
||||||
|
|
||||||
-# HTTP.VERBOSE
|
-# HTTP.VERBOSE
|
||||||
Type: boolean ("1"/"0")
|
Type: boolean ("1"/"0")
|
||||||
Description: Produce verbose output, especially using SSL.
|
Description: Produce verbose output, especially using SSL.
|
||||||
Related CURL Flags: CURLOPT_VERBOSE
|
Related CURL Flags: CURLOPT_VERBOSE
|
||||||
|
|
||||||
-# HTTP.DEFLATE
|
-# HTTP.DEFLATE
|
||||||
Type: boolean ("1"/"0")
|
Type: boolean ("1"/"0")
|
||||||
Description: Allow use of compression by the server.
|
Description: Allow use of compression by the server.
|
||||||
Related CURL Flags: CURLOPT_ENCODING
|
Related CURL Flags: CURLOPT_ENCODING
|
||||||
|
|
||||||
-# HTTP.COOKIEJAR
|
-# HTTP.COOKIEJAR
|
||||||
Type: String representing file path
|
Type: String representing file path
|
||||||
Description: Specify the name of file into which to store cookies. Defaults to in-memory storage.
|
Description: Specify the name of file into which to store cookies. Defaults to in-memory storage.
|
||||||
Related CURL Flags:CURLOPT_COOKIEJAR
|
Related CURL Flags:CURLOPT_COOKIEJAR
|
||||||
|
|
||||||
-# HTTP.CREDENTIALS.USER
|
-# HTTP.CREDENTIALS.USER
|
||||||
Type: String representing user name
|
Type: String representing user name
|
||||||
Description: Specify the user name for Digest and Basic authentication.
|
Description: Specify the user name for Digest and Basic authentication.
|
||||||
Related CURL Flags:
|
Related CURL Flags:
|
||||||
|
|
||||||
-# HTTP.CREDENTIALS.PASSWORD
|
|
||||||
Type: String representing password
|
|
||||||
Type: boolean ("1"/"0")
|
|
||||||
Description: Specify the password for Digest and Basic authentication.
|
|
||||||
Related CURL Flags:
|
|
||||||
|
|
||||||
-# HTTP.SSL.CERTIFICATE
|
-# HTTP.CREDENTIALS.PASSWORD
|
||||||
Type: String representing file path
|
Type: String representing password
|
||||||
Description: Path to a file containing a PEM cerficate.
|
Type: boolean ("1"/"0")
|
||||||
Related CURL Flags: CURLOPT_CERT
|
Description: Specify the password for Digest and Basic authentication.
|
||||||
|
Related CURL Flags:
|
||||||
|
|
||||||
-# HTTP.SSL.KEY
|
-# HTTP.SSL.CERTIFICATE
|
||||||
Type: String representing file path
|
Type: String representing file path
|
||||||
Description: Same as HTTP.SSL.CERTIFICATE, and should usually have the same value.
|
Description: Path to a file containing a PEM cerficate.
|
||||||
Related CURL Flags: CURLOPT_SSLKEY
|
Related CURL Flags: CURLOPT_CERT
|
||||||
|
|
||||||
-# HTTP.SSL.KEYPASSWORD
|
-# HTTP.SSL.KEY
|
||||||
Type: String representing password
|
Type: String representing file path
|
||||||
Description: Password for accessing the HTTP.SSL.KEY/HTTP.SSL.CERTIFICATE
|
Description: Same as HTTP.SSL.CERTIFICATE, and should usually have the same value.
|
||||||
Related CURL Flags: CURLOPT_KEYPASSWORD
|
Related CURL Flags: CURLOPT_SSLKEY
|
||||||
|
|
||||||
-# HTTP.SSL.CAPATH
|
-# HTTP.SSL.KEYPASSWORD
|
||||||
Type: String representing directory
|
Type: String representing password
|
||||||
Description: Path to a directory containing trusted certificates for validating server certificates.
|
Description: Password for accessing the HTTP.SSL.KEY/HTTP.SSL.CERTIFICATE
|
||||||
Related CURL Flags: CURLOPT_CAPATH
|
Related CURL Flags: CURLOPT_KEYPASSWORD
|
||||||
|
|
||||||
-# HTTP.SSL.VALIDATE
|
-# HTTP.SSL.CAPATH
|
||||||
Type: boolean ("1"/"0")
|
Type: String representing directory
|
||||||
Description: Cause the client to verify the server's presented certificate.
|
Description: Path to a directory containing trusted certificates for validating server certificates.
|
||||||
Related CURL Flags: CURLOPT_SSL_VERIFYPEER, CURLOPT_SSL_VERIFYHOST
|
Related CURL Flags: CURLOPT_CAPATH
|
||||||
|
|
||||||
-# HTTP.TIMEOUT
|
-# HTTP.SSL.VALIDATE
|
||||||
Type: String ("dddddd")
|
Type: boolean ("1"/"0")
|
||||||
Description: Specify the maximum time in seconds that you allow the http transfer operation to take.
|
Description: Cause the client to verify the server's presented certificate.
|
||||||
Related CURL Flags: CURLOPT_TIMEOUT, CURLOPT_NOSIGNAL
|
Related CURL Flags: CURLOPT_SSL_VERIFYPEER, CURLOPT_SSL_VERIFYHOST
|
||||||
|
|
||||||
-# HTTP.PROXY_SERVER
|
-# HTTP.TIMEOUT
|
||||||
Type: String representing url to access the proxy: (e.g.http://[username:password@]host[:port])
|
Type: String ("dddddd")
|
||||||
Description: Specify the needed information for accessing a proxy.
|
Description: Specify the maximum time in seconds that you allow the http transfer operation to take.
|
||||||
Related CURL Flags: CURLOPT_PROXY, CURLOPT_PROXYHOST, CURLOPT_PROXYUSERPWD
|
Related CURL Flags: CURLOPT_TIMEOUT, CURLOPT_NOSIGNAL
|
||||||
|
|
||||||
-# HTTP.READ.BUFFERSIZE
|
-# HTTP.PROXY_SERVER
|
||||||
Type: String ("dddddd")
|
Type: String representing url to access the proxy: (e.g.http://[username:password@]host[:port])
|
||||||
Description: Specify the the internal buffer size for curl reads.
|
Description: Specify the needed information for accessing a proxy.
|
||||||
Related CURL Flags: CURLOPT_BUFFERSIZE, CURL_MAX_WRITE_SIZE (16kB),
|
Related CURL Flags: CURLOPT_PROXY, CURLOPT_PROXYHOST, CURLOPT_PROXYUSERPWD
|
||||||
CURL_MAX_READ_SIZE (512kB).
|
|
||||||
|
-# HTTP.READ.BUFFERSIZE
|
||||||
|
Type: String ("dddddd")
|
||||||
|
Description: Specify the the internal buffer size for curl reads.
|
||||||
|
Related CURL Flags: CURLOPT_BUFFERSIZE, CURL_MAX_WRITE_SIZE (16kB),
|
||||||
|
CURL_MAX_READ_SIZE (512kB).
|
||||||
|
|
||||||
|
-# HTTP.KEEPALIVE
|
||||||
|
Type: String ("on|n/m")
|
||||||
|
Description: Specify that TCP KEEPALIVE should be enabled and that the associated idle wait time is n and that the associated repeat interval is m. If the value is of the form is the string "on", then turn on keepalive, but do not set idle or interval.
|
||||||
|
Related CURL Flags: CURLOPT_TCP_KEEPALIVE, CURLOPT_TCP_KEEPIDLE,
|
||||||
|
CURLOPT_TCP_KEEPINTVL.
|
||||||
|
|
||||||
-# HTTP.KEEPALIVE
|
|
||||||
Type: String ("on|n/m")
|
|
||||||
Description: Specify that TCP KEEPALIVE should be enabled and that the associated idle wait time is n and that the associated repeat interval is m. If the value is of the form is the string "on", then turn on keepalive, but do not set idle or interval.
|
|
||||||
Related CURL Flags: CURLOPT_TCP_KEEPALIVE, CURLOPT_TCP_KEEPIDLE,
|
|
||||||
CURLOPT_TCP_KEEPINTVL.
|
|
||||||
|
|
||||||
The related curl flags line indicates the curl flags modified by this
|
The related curl flags line indicates the curl flags modified by this
|
||||||
key. See the libcurl documentation of the _curl_easy_setopt()_ function
|
key. See the libcurl documentation of the _curl_easy_setopt()_ function
|
||||||
for more detail (http://curl.haxx.se/libcurl/c/curl_easy_setopt.html).
|
for more detail (http://curl.haxx.se/libcurl/c/curl_easy_setopt.html).
|
||||||
|
@ -88,12 +88,8 @@ were written.
|
|||||||
|
|
||||||
Unidata supports the netCDF interfaces for C (see <a
|
Unidata supports the netCDF interfaces for C (see <a
|
||||||
href="http://www.unidata.ucar.edu/netcdf/docs/" >NetCDF-C User's
|
href="http://www.unidata.ucar.edu/netcdf/docs/" >NetCDF-C User's
|
||||||
Guide</a>), FORTRAN 77 (see <a
|
Guide</a>), Fortran (see <a href="http://www.unidata.ucar.edu/netcdf/fortran/docs/" >NetCDF-Fortran User's Guide</a>)
|
||||||
href="http://www.unidata.ucar.edu/netcdf/documentation/historic/netcdf-f77/index.html#Top"
|
and C++ (see <a href="http://www.unidata.ucar.edu/netcdf/documentation/historic/cxx4/index.html"
|
||||||
>NetCDF Fortran 77 Interface Guide</a>), FORTRAN 90 (see <a
|
|
||||||
href="http://www.unidata.ucar.edu/netcdf/documentation/historic/netcdf-f90/index.html"
|
|
||||||
>NetCDF Fortran 90 Interface Guide</a>), and C++ (see <a
|
|
||||||
href="http://www.unidata.ucar.edu/netcdf/documentation/historic/cxx4/index.html"
|
|
||||||
>NetCDF C++ Interface Guide</a>).
|
>NetCDF C++ Interface Guide</a>).
|
||||||
|
|
||||||
The netCDF library is supported for various UNIX operating systems. A
|
The netCDF library is supported for various UNIX operating systems. A
|
||||||
|
@ -9,6 +9,12 @@ NetCDF is a set of software libraries and self-describing, machine-independent d
|
|||||||
|
|
||||||
The NetCDF homepage may be found at <a href="http://www.unidata.ucar.edu/software/netcdf/">http://www.unidata.ucar.edu/software/netcdf/</a>. The NetCDF source-code is hosted at <a href="http://github.com">GitHub</a>, and may be found directly at <a href="http://github.com/Unidata/netcdf-c">http://github.com/Unidata/netcdf-c</a>.
|
The NetCDF homepage may be found at <a href="http://www.unidata.ucar.edu/software/netcdf/">http://www.unidata.ucar.edu/software/netcdf/</a>. The NetCDF source-code is hosted at <a href="http://github.com">GitHub</a>, and may be found directly at <a href="http://github.com/Unidata/netcdf-c">http://github.com/Unidata/netcdf-c</a>.
|
||||||
|
|
||||||
|
\subsection mainpage_learn_more_fortran Looking for NetCDF-Fortran Documentation?
|
||||||
|
|
||||||
|
You can find the documentation for netCDF-Fortran here:
|
||||||
|
|
||||||
|
- <a href="http://www.unidata.ucar.edu/software/netcdf/fortran/docs"> The NetCDF-Fortran Developer's Guide</a>
|
||||||
|
|
||||||
\section this_release Learn more about the current NetCDF-C Release
|
\section this_release Learn more about the current NetCDF-C Release
|
||||||
|
|
||||||
- \subpage RELEASE_NOTES
|
- \subpage RELEASE_NOTES
|
||||||
@ -23,6 +29,7 @@ The NetCDF homepage may be found at <a href="http://www.unidata.ucar.edu/softwar
|
|||||||
|
|
||||||
\subsubsection NetCDF-Fortran
|
\subsubsection NetCDF-Fortran
|
||||||
|
|
||||||
|
|
||||||
- <A href="http://cdash.unidata.ucar.edu/index.php?project=netcdf-fortran">The netCDF-Fortran Nightly and Continuous Integration Dashboard</A>
|
- <A href="http://cdash.unidata.ucar.edu/index.php?project=netcdf-fortran">The netCDF-Fortran Nightly and Continuous Integration Dashboard</A>
|
||||||
- <A href="https://travis-ci.org/Unidata/netcdf-c">NetCDF-Fortran at Travis-CI</A>
|
- <A href="https://travis-ci.org/Unidata/netcdf-c">NetCDF-Fortran at Travis-CI</A>
|
||||||
|
|
||||||
|
@ -41,7 +41,10 @@ typedef SSIZE_T ssize_t;
|
|||||||
in its headers.*/
|
in its headers.*/
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
#if __STDC__ == 1 /*supposed to be same as -ansi flag */
|
#if __STDC__ == 1 /*supposed to be same as -ansi flag */
|
||||||
|
|
||||||
|
#ifndef strdup
|
||||||
extern char* strdup(const char*);
|
extern char* strdup(const char*);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef strlcat
|
#ifndef strlcat
|
||||||
extern size_t strlcat(char*,const char*,size_t);
|
extern size_t strlcat(char*,const char*,size_t);
|
||||||
@ -58,8 +61,10 @@ extern unsigned long long int strtoull(const char*, char**, int);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
#ifndef strlcat
|
||||||
#define strlcat(d,s,n) strcat_s((d),(n),(s))
|
#define strlcat(d,s,n) strcat_s((d),(n),(s))
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* handle null arguments */
|
/* handle null arguments */
|
||||||
#ifndef nulldup
|
#ifndef nulldup
|
||||||
|
@ -12,6 +12,20 @@
|
|||||||
#ifndef NETCDF_MEM_H
|
#ifndef NETCDF_MEM_H
|
||||||
#define NETCDF_MEM_H 1
|
#define NETCDF_MEM_H 1
|
||||||
|
|
||||||
|
/* Declaration modifiers for DLL support (MSC et al) */
|
||||||
|
#if defined(DLL_NETCDF) /* define when library is a DLL */
|
||||||
|
# if defined(DLL_EXPORT) /* define when building the library */
|
||||||
|
# define MSC_EXTRA __declspec(dllexport)
|
||||||
|
# else
|
||||||
|
# define MSC_EXTRA __declspec(dllimport)
|
||||||
|
# endif
|
||||||
|
# include <io.h>
|
||||||
|
#else
|
||||||
|
#define MSC_EXTRA /**< Needed for DLL build. */
|
||||||
|
#endif /* defined(DLL_NETCDF) */
|
||||||
|
|
||||||
|
#define EXTERNL MSC_EXTRA extern /**< Needed for DLL build. */
|
||||||
|
|
||||||
typedef struct NC_memio {
|
typedef struct NC_memio {
|
||||||
size_t size;
|
size_t size;
|
||||||
void* memory;
|
void* memory;
|
||||||
|
@ -16,7 +16,7 @@ SET(NC4_TESTS tst_dims tst_dims2 tst_dims3 tst_files tst_files4
|
|||||||
tst_files6 tst_sync tst_h_strbug tst_h_refs tst_h_scalar tst_rename
|
tst_files6 tst_sync tst_h_strbug tst_h_refs tst_h_scalar tst_rename
|
||||||
tst_rename2 tst_rename3 tst_h5_endians tst_atts_string_rewrite tst_put_vars_two_unlim_dim
|
tst_rename2 tst_rename3 tst_h5_endians tst_atts_string_rewrite tst_put_vars_two_unlim_dim
|
||||||
tst_hdf5_file_compat tst_fill_attr_vanish tst_rehash tst_types tst_bug324
|
tst_hdf5_file_compat tst_fill_attr_vanish tst_rehash tst_types tst_bug324
|
||||||
tst_filterparser tst_atts3 tst_put_vars tst_elatefill tst_udf)
|
tst_atts3 tst_put_vars tst_elatefill tst_udf)
|
||||||
|
|
||||||
# Note, renamegroup needs to be compiled before run_grp_rename
|
# Note, renamegroup needs to be compiled before run_grp_rename
|
||||||
|
|
||||||
@ -29,6 +29,7 @@ IF(ENABLE_FILTER_TESTING)
|
|||||||
build_bin_test(test_filter)
|
build_bin_test(test_filter)
|
||||||
build_bin_test(test_filter_misc)
|
build_bin_test(test_filter_misc)
|
||||||
ADD_SH_TEST(nc_test4 tst_filter)
|
ADD_SH_TEST(nc_test4 tst_filter)
|
||||||
|
SET(NC4_TESTS ${NC4_TESTS} tst_filterparser)
|
||||||
ENDIF(ENABLE_FILTER_TESTING)
|
ENDIF(ENABLE_FILTER_TESTING)
|
||||||
|
|
||||||
ENDIF(BUILD_UTILITIES)
|
ENDIF(BUILD_UTILITIES)
|
||||||
|
@ -8,7 +8,7 @@ SET(CMAKE_BUILD_TYPE "")
|
|||||||
|
|
||||||
SET(libbzip2_SOURCES blocksort.c huffman.c crctable.c randtable.c compress.c decompress.c bzlib.c H5Zbzip2.c)
|
SET(libbzip2_SOURCES blocksort.c huffman.c crctable.c randtable.c compress.c decompress.c bzlib.c H5Zbzip2.c)
|
||||||
|
|
||||||
SET(libmisc_SOURCES H5Zmisc.c)
|
SET(libmisc_SOURCES H5Zmisc.c H5Zutil.c h5misc.h)
|
||||||
|
|
||||||
IF(ENABLE_FILTER_TESTING)
|
IF(ENABLE_FILTER_TESTING)
|
||||||
IF(BUILD_UTILITIES)
|
IF(BUILD_UTILITIES)
|
||||||
|
@ -48,9 +48,10 @@ byteswap4(unsigned char* mem)
|
|||||||
void
|
void
|
||||||
NC_filterfix8(void* mem0, int decode)
|
NC_filterfix8(void* mem0, int decode)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
unsigned char* mem = mem0;
|
||||||
#ifdef WORDS_BIGENDIAN
|
#ifdef WORDS_BIGENDIAN
|
||||||
unsigned char* mem = mem0;
|
if(decode) { /* Apply inverse of the encode case */
|
||||||
if(decode) { /* Apply inverse of the encode case */
|
|
||||||
byteswap4(mem); /* step 1: byte-swap each piece */
|
byteswap4(mem); /* step 1: byte-swap each piece */
|
||||||
byteswap4(mem+4);
|
byteswap4(mem+4);
|
||||||
byteswap8(mem); /* step 2: convert to little endian format */
|
byteswap8(mem); /* step 2: convert to little endian format */
|
||||||
@ -60,6 +61,8 @@ NC_filterfix8(void* mem0, int decode)
|
|||||||
byteswap4(mem+4);
|
byteswap4(mem+4);
|
||||||
}
|
}
|
||||||
#else /* Little endian */
|
#else /* Little endian */
|
||||||
|
|
||||||
|
|
||||||
/* No action is necessary */
|
/* No action is necessary */
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user