Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sven Gestegård Robertz
LabComm
Commits
ebae0d9b
Commit
ebae0d9b
authored
May 30, 2013
by
Anders Blomdell
Browse files
More changes to facilitate reader/writer stacking.
parent
9ba10d17
Changes
6
Hide whitespace changes
Inline
Side-by-side
lib/c/labcomm.c
View file @
ebae0d9b
...
...
@@ -364,7 +364,7 @@ struct labcomm_encoder *labcomm_encoder_new(
result
->
lock
=
lock
;
result
->
on_error
=
on_error_fprintf
;
result
->
writer
->
action
->
alloc
(
result
->
writer
,
result
->
writer
->
context
,
LABCOMM_VERSION
);
result
,
LABCOMM_VERSION
);
}
return
result
;
}
...
...
@@ -572,7 +572,7 @@ struct labcomm_decoder *labcomm_decoder_new(
result
->
on_error
=
on_error_fprintf
;
result
->
on_new_datatype
=
on_new_datatype
;
result
->
reader
->
action
->
alloc
(
result
->
reader
,
result
->
reader
->
context
,
LABCOMM_VERSION
);
result
,
LABCOMM_VERSION
);
}
return
result
;
}
...
...
@@ -625,7 +625,7 @@ int labcomm_decoder_decode_one(struct labcomm_decoder *d)
struct
labcomm_sample_entry
*
entry
=
NULL
;
int
index
,
err
;
writer
.
action
->
alloc
(
&
writer
,
writer
.
context
,
""
);
writer
.
action
->
alloc
(
&
writer
,
writer
.
context
,
NULL
,
""
);
writer
.
action
->
start
(
&
writer
,
writer
.
context
,
NULL
,
0
,
NULL
,
NULL
);
index
=
labcomm_read_packed32
(
d
->
reader
);
//int
signature
.
name
=
labcomm_read_string
(
d
->
reader
);
...
...
lib/c/labcomm_dynamic_buffer_writer.c
View file @
ebae0d9b
...
...
@@ -7,6 +7,7 @@
#include "labcomm_dynamic_buffer_writer.h"
static
int
dyn_alloc
(
struct
labcomm_writer
*
w
,
void
*
context
,
struct
labcomm_encoder
*
encoder
,
char
*
labcomm_version
)
{
w
->
data_size
=
1000
;
...
...
lib/c/labcomm_fd_reader.c
View file @
ebae0d9b
...
...
@@ -13,7 +13,9 @@ struct labcomm_fd_reader {
int
close_fd_on_free
;
};
static
int
fd_alloc
(
struct
labcomm_reader
*
r
,
void
*
context
,
char
*
version
)
static
int
fd_alloc
(
struct
labcomm_reader
*
r
,
void
*
context
,
struct
labcomm_decoder
*
decoder
,
char
*
version
)
{
int
result
=
0
;
...
...
lib/c/labcomm_fd_writer.c
View file @
ebae0d9b
...
...
@@ -16,7 +16,9 @@ struct labcomm_fd_writer {
static
int
fd_flush
(
struct
labcomm_writer
*
w
,
void
*
context
);
static
int
fd_alloc
(
struct
labcomm_writer
*
w
,
void
*
context
,
char
*
version
)
static
int
fd_alloc
(
struct
labcomm_writer
*
w
,
void
*
context
,
struct
labcomm_encoder
*
encoder
,
char
*
version
)
{
w
->
data
=
malloc
(
BUFFER_SIZE
);
if
(
!
w
->
data
)
{
...
...
lib/c/labcomm_private.h
View file @
ebae0d9b
...
...
@@ -71,7 +71,8 @@ typedef void (*labcomm_decoder_function)(
void
*
context
);
struct
labcomm_reader_action
{
int
(
*
alloc
)(
struct
labcomm_reader
*
r
,
void
*
context
,
char
*
labcomm_version
);
int
(
*
alloc
)(
struct
labcomm_reader
*
r
,
void
*
context
,
struct
labcomm_decoder
*
decoder
,
char
*
labcomm_version
);
int
(
*
free
)(
struct
labcomm_reader
*
r
,
void
*
context
);
int
(
*
start
)(
struct
labcomm_reader
*
r
,
void
*
context
);
int
(
*
end
)(
struct
labcomm_reader
*
r
,
void
*
context
);
...
...
@@ -196,7 +197,8 @@ typedef int (*labcomm_encoder_function)(
struct
labcomm_writer
;
struct
labcomm_writer_action
{
int
(
*
alloc
)(
struct
labcomm_writer
*
w
,
void
*
context
,
char
*
labcomm_version
);
int
(
*
alloc
)(
struct
labcomm_writer
*
w
,
void
*
context
,
struct
labcomm_encoder
*
encoder
,
char
*
labcomm_version
);
int
(
*
free
)(
struct
labcomm_writer
*
w
,
void
*
context
);
int
(
*
start
)(
struct
labcomm_writer
*
w
,
void
*
context
,
struct
labcomm_encoder
*
encoder
,
...
...
lib/c/test/test_labcomm_generated_encoding.c
View file @
ebae0d9b
...
...
@@ -12,6 +12,7 @@ static unsigned char buffer[128];
struct
labcomm_writer
*
writer
;
static
int
buf_writer_alloc
(
struct
labcomm_writer
*
w
,
void
*
context
,
struct
labcomm_encoder
*
encoder
,
char
*
labcomm_version
)
{
writer
=
w
;
/* Hack */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment