Skip to content

Commit dc46760

Browse files
committed
move serialization format to future release
1 parent d28446f commit dc46760

File tree

3 files changed

+4
-28
lines changed

3 files changed

+4
-28
lines changed

src/core.c

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ SEXP rawToChar(unsigned char *buf, const size_t sz) {
124124
void nano_serialize(nano_buf *buf, SEXP object) {
125125

126126
NANO_ALLOC(buf, NANONEXT_INIT_BUFSIZE);
127-
buf->buf[buf->cur++] = 7u;
127+
128128
struct R_outpstream_st output_stream;
129129

130130
R_InitOutPStream(
@@ -168,34 +168,11 @@ void nano_serialize_xdr(nano_buf *buf, SEXP object) {
168168

169169
SEXP nano_unserialize(unsigned char *buf, const size_t sz) {
170170

171-
nano_buf nbuf;
172-
struct R_inpstream_st input_stream;
173-
174-
if (buf[0] != 7u) {
171+
if (buf[0] != 66u && buf[0] != 88u) {
175172
Rf_warning("received data could not be unserialized");
176173
return nano_decode(buf, sz, 8);
177174
}
178175

179-
nbuf.buf = buf + 1;
180-
nbuf.len = sz - 1;
181-
nbuf.cur = 0;
182-
183-
R_InitInPStream(
184-
&input_stream,
185-
(R_pstream_data_t) &nbuf,
186-
R_pstream_any_format,
187-
nano_read_char,
188-
nano_read_bytes,
189-
NULL,
190-
R_NilValue
191-
);
192-
193-
return R_Unserialize(&input_stream);
194-
195-
}
196-
197-
SEXP nano_unserialize_xdr(unsigned char *buf, const size_t sz) {
198-
199176
nano_buf nbuf;
200177
struct R_inpstream_st input_stream;
201178

@@ -206,7 +183,7 @@ SEXP nano_unserialize_xdr(unsigned char *buf, const size_t sz) {
206183
R_InitInPStream(
207184
&input_stream,
208185
(R_pstream_data_t) &nbuf,
209-
R_pstream_xdr_format,
186+
R_pstream_any_format,
210187
nano_read_char,
211188
nano_read_bytes,
212189
NULL,

src/nanonext.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ extern int nano_matchargs(SEXP);
181181
extern void nano_serialize(nano_buf *, SEXP);
182182
extern void nano_serialize_xdr(nano_buf *, SEXP);
183183
extern SEXP nano_unserialize(unsigned char *, const size_t);
184-
extern SEXP nano_unserialize_xdr(unsigned char *, const size_t);
185184
extern SEXP rawToChar(unsigned char *, const size_t);
186185
extern void socket_finalizer(SEXP);
187186

src/tls.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ SEXP rnng_base64dec(SEXP x, SEXP convert) {
353353
out = rawToChar(buf, olen);
354354
break;
355355
default:
356-
out = nano_unserialize_xdr(buf, olen);
356+
out = nano_unserialize(buf, olen);
357357
}
358358

359359
R_Free(buf);

0 commit comments

Comments
 (0)