@chad-iris chad-iris released this Aug 29, 2018 · 0 commits to master since this release

Assets 2
  • Allow ms_readleapsecondfile() to be called multiple times, by @pn2200
  • Fix compiler warning in mst_printsynclist().
  • Fix memory leak (on error) in msr_duplicate() and other fixes by @pn2200.

@chad-iris chad-iris released this Oct 11, 2017

Assets 2
  • msr_endtime(): calculate correct end time during a leap second.
  • Fixed signed-ness comparison warning, #11.

@chad-iris chad-iris released this Apr 28, 2017 · 6 commits to master since this release

Assets 2
  • Add global LM_SIZEOF_OFF_T variable to report compile-time size of off_t data type.

@chad-iris chad-iris released this Mar 16, 2017 · 8 commits to master since this release

Assets 2
  • Add a few more symbols to libmseed.map that need to be public, thanks to @QuLogic.

@chad-iris chad-iris released this Mar 3, 2017 · 11 commits to master since this release

Assets 2
  • Provide install target in Makefile thanks to by Pierre Duperray.
  • Incorporate lmplatform.h details into libmseed.h for improved usage. All that is needed is the static/shared library and libmseed.h.
  • Avoid undefined left shifts of signed values that would go out of range and specify the types of some constants.
  • Remove dependency on ntwin32.mak for Windows nmake makefiles, now building works in plain MSVC development environments.

@chad-iris chad-iris released this Feb 11, 2017 · 29 commits to master since this release

Assets 2
  • Support for much larger range of sample rates. Outside of the range 32767 to 1/32767 integer sample rates are approximated whenever possible.
  • Rewrite of all decoding and encoding routines to replace those used from qlib2, now the entire project is LGPL licensed.
  • Remove limitation on sample rate before calling ms_genfactmult() in the normal path of packing records. Previously generating the factor and multiplier was not attempted for rates higher than 32,767.
  • ms_genfactmult() now support a much larger range of integer sample rates and periods.
  • ms_genfactmult() now sets the factor and multiplier using the SECONDS/SAMPLE notation for sample rates less than 1.0 to retain precision for low rates.
  • ms_genfactmult() now assumes the specified rate is a sample period in seconds if the samprate value is negative.
  • Add ms_rsqrt64() as a general use reciprocal sqrt for doubles.
  • Use memcpy() instead of assignment when unpacking float32 and float64 samples to avoid problems with NaN's. Thanks Lion Krischer.
  • Add test for reading records without Blockette 1000.
  • Reformat all source code using included clang-format profile.
  • A more elegant sanity check for output length in packing by mbyt.
  • Improvements for test suite, more consistency.
  • Remove msr_decode_steim? from libmseed.def, they are internal.
  • Add sanity to length check before memset calls in packing functions.
  • Check for environment variables ENCODE_DEBUG and DECODE_DEBUG and set debugging output, at this point it is Steim frame details and differences being encoded/decoded.
  • Fix padding in steim[12] encoding routines.
  • Remove unneeded output buffer checks in steim[12] decoding routines.
  • Replace data sample packing and unpacking routines from qlib2 with new routines developed from scratch. All code is now LGPL licensed.
  • Add test suite with tests for encoding, decoding, parsing, etc.
  • Update licensing to GNU-LGPL version 3 and include (L)GPL licenses in LICENSE.txt.
  • Define needed C99 int types for MSVC 2012 or earlier. Previously this was only done for versions earlier than MSVC 2010.

@chad-iris chad-iris released this Feb 14, 2017 · 71 commits to master since this release

Assets 2
  • Round Fixed Section Data Header start time values to the nearest tenth of millisecond and restrict the microsecond offset value to a range between -50 and +49 as recommended in SEED. Previously start times were truncated at tenths of millisecond resolution and the microsecond offset value was between 0 and +99. This also addresses a bug where microsecond offsets were off by 100ms for times before Jan 1 1970. Thanks to Lion Krischer for reporting.

@chad-iris chad-iris released this Feb 14, 2017 · 73 commits to master since this release

Assets 2
  • Cleanup of lmplatform.h removing unneeded headers and using C99 standard headers except for a few platform specific cases.
  • Convert all printf() and scanf() usage of %lld for 64-bit integers to use the C99 PRId64 and SCNd64 macros for portability (MingGW).
  • Change detection of Linux/Cygwin to set global define LMP_LINUX instead of LMP_GLIB2 (now marked as deprecated).
  • Change detection of Windows to set global define LMP_WIN instead of LMP_WIN32 (now marked as deprecated).
  • Add detection of MINGW64 define.
  • Tested building on Win7 with: Open Watcom 1.9, MinGW gcc 4.8.1 and Cygwin 1.7.35 (gcc 2.9.2).
  • Define NTP-Posix time epoch conversion constant specifically as a long long integer to avoid warnings on some compilers.

@chad-iris chad-iris released this Feb 14, 2017 · 72 commits to master since this release

Assets 2
  • Add defines for needed integer types and macros from inttypes.h missing in older MSVC versions. MSVC 2010 and later appear to have enough C99 support.
  • Add define tests for _WIN32 and _WIN64 to cover all WINs.
  • ms_fread(): Add cast to quiet warning for conversion from size_t to int. In this case the read will always be <= MAXRECLEN, much smaller than int, making the conversion safe.

@chad-iris chad-iris released this Feb 14, 2017 · 80 commits to master since this release

Assets 2
  • Fix infinite loop if blockette chain is corrupt. Patch submitted by Elliott Sales de Andrade.