Skip to content

Commit d42fed7

Browse files
committed
Drop ds->encoding
1 parent ed905c8 commit d42fed7

3 files changed

Lines changed: 5 additions & 16 deletions

File tree

lib/include/segyio/segy.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -343,11 +343,6 @@ struct segy_datasource {
343343
/* Is datasource writable */
344344
bool writable;
345345

346-
/* EBCDIC or ASCII encoding. All text-reading functions should consult this
347-
* property to determine string encoding.
348-
*/
349-
int encoding;
350-
351346
/* Setting for trace algorithms.
352347
*
353348
* If true, unnecessary data would be read into memory/written to the

lib/src/segy.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -787,8 +787,6 @@ segy_file* segy_open( const char* path, const char* mode ) {
787787
ds->close = fileclose;
788788
ds->writable = strstr( binary_mode, "+" ) || strstr( binary_mode, "w" );
789789

790-
ds->encoding = SEGY_EBCDIC;
791-
792790
ds->minimize_requests_number = true;
793791
ds->memory_speedup = false;
794792

@@ -848,8 +846,6 @@ segy_datasource* segy_memopen( unsigned char* addr, size_t size ) {
848846

849847
ds->writable = true;
850848

851-
ds->encoding = SEGY_EBCDIC;
852-
853849
ds->minimize_requests_number = false;
854850
ds->memory_speedup = true;
855851

@@ -981,7 +977,6 @@ int segy_collect_metrics(
981977
if( err != SEGY_OK ) return err;
982978
}
983979
ds->metrics.encoding = encoding;
984-
ds->encoding = encoding;
985980

986981
char binheader[SEGY_BINARY_HEADER_SIZE];
987982
int err = segy_binheader( ds, binheader );
@@ -2899,7 +2894,7 @@ int segy_read_ext_textheader( segy_datasource* ds, int pos, char *buf) {
28992894
err = ds->read( ds, buf, SEGY_TEXT_HEADER_SIZE );
29002895
if( err != 0 ) return SEGY_DS_READ_ERROR;
29012896

2902-
if( ds->encoding == SEGY_EBCDIC ) {
2897+
if( ds->metrics.encoding == SEGY_EBCDIC ) {
29032898
encode( buf, buf, e2a, SEGY_TEXT_HEADER_SIZE );
29042899
}
29052900

@@ -2914,7 +2909,7 @@ int segy_write_textheader( segy_datasource* ds, int pos, const char* buf ) {
29142909

29152910
if( pos < 0 ) return SEGY_INVALID_ARGS;
29162911

2917-
if( ds->encoding == SEGY_EBCDIC ) {
2912+
if( ds->metrics.encoding == SEGY_EBCDIC ) {
29182913
encode( mbuf, buf, a2e, SEGY_TEXT_HEADER_SIZE );
29192914
} else {
29202915
memcpy( mbuf, buf, SEGY_TEXT_HEADER_SIZE );

python/segyio/segyio.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,6 @@ segy_datasource* create_py_stream_datasource(
311311

312312
ds->memory_speedup = false;
313313
ds->minimize_requests_number = minimize_requests_number;
314-
ds->encoding = SEGY_EBCDIC;
315314

316315
ds->metrics.endianness = SEGY_MSB;
317316
ds->metrics.encoding = SEGY_EBCDIC;
@@ -680,7 +679,7 @@ PyObject* segycreate( segyfd* self, PyObject* args, PyObject* kwargs ) {
680679
}
681680

682681
ds->metrics.endianness = endianness;
683-
ds->encoding = encoding;
682+
ds->metrics.encoding = encoding;
684683

685684
if( samples <= 0 )
686685
return ValueError( "expected samples > 0" );
@@ -764,7 +763,7 @@ PyObject* suopen( segyfd* self, PyObject* args, PyObject* kwargs ) {
764763
if( err != SEGY_OK ) return NULL;
765764
}
766765
ds->metrics.endianness = endianness;
767-
ds->encoding = encoding;
766+
ds->metrics.encoding = encoding;
768767

769768
int err = overwrite_mapping( ds, py_iline, py_xline );
770769
if( err ) return NULL;
@@ -1114,7 +1113,7 @@ PyObject* metrics( segyfd* self ) {
11141113
static const int bin = SEGY_BINARY_HEADER_SIZE;
11151114
const int ext = (self->trace0 - (text + bin)) / text;
11161115
segy_datasource* ds = self->ds;
1117-
int encoding = ds->encoding;
1116+
int encoding = ds->metrics.encoding;
11181117
return Py_BuildValue( "{s:i, s:l, s:i, s:i, s:i, s:i, s:i}",
11191118
"tracecount", self->tracecount,
11201119
"trace0", self->trace0,

0 commit comments

Comments
 (0)