[segyio] 68/376: Correct cast for reading short header field

Jørgen Kvalsvik jokva-guest at moszumanska.debian.org
Wed Sep 20 08:04:09 UTC 2017


This is an automated email from the git hooks/post-receive script.

jokva-guest pushed a commit to branch debian
in repository segyio.

commit 0b5a82007ae5bf15cafdd4cd3916fe9451b18bca
Author: Kjell W. Kongsvik <kwko at statoil.com>
Date:   Thu Oct 20 13:41:19 2016 +0200

    Correct cast for reading short header field
    
    uint16_t -> int16_t -> int32_t
---
 src/segyio/segy.c | 2 +-
 tests/test_segy.c | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/segyio/segy.c b/src/segyio/segy.c
index c863ac7..cb8dda6 100644
--- a/src/segyio/segy.c
+++ b/src/segyio/segy.c
@@ -313,7 +313,7 @@ static int get_field( const char* header,
 
         case 2:
             memcpy( &buf16, header + (field - 1), 2 );
-            *f = (int32_t)ntohs( buf16 );
+            *f = (int16_t)ntohs( buf16 );
             return SEGY_OK;
 
         case 0:
diff --git a/tests/test_segy.c b/tests/test_segy.c
index 8acd0ea..0eda295 100644
--- a/tests/test_segy.c
+++ b/tests/test_segy.c
@@ -393,6 +393,12 @@ static void test_modify_trace_header() {
     err = segy_write_traceheader( fp, 0, traceh, trace0, trace_bsize );
     assertTrue( err == 0, "Error writing traceheader." );
 
+    err = segy_set_field( traceh, SourceGroupScalar, -100 );
+    assertTrue( err == 0, "Error writing to trace header buffer." );
+    int32_t scale;
+    err = segy_get_field( traceh, SourceGroupScalar, &scale );
+    assertTrue( err == 0, "Error while reading SourceGroupScalar from dirty field." );
+
     fclose( fp );
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/segyio.git



More information about the debian-science-commits mailing list