E1 INPUT: Fix PCAP file generation for non-mISDN case
diff --git a/openbsc/src/e1_input.c b/openbsc/src/e1_input.c
index b131844..3605f93 100644
--- a/openbsc/src/e1_input.c
+++ b/openbsc/src/e1_input.c
@@ -143,7 +143,6 @@
int ret;
time_t cur_time;
struct tm *tm;
- int mi_head = (direction==PCAP_INPUT) ? MISDN_HEADER_LEN : 0;
struct fake_linux_lapd_header header = {
.pkttype = 4,
@@ -165,12 +164,10 @@
struct pcaprec_hdr payload_header = {
.ts_sec = 0,
.ts_usec = 0,
- .incl_len = msg->len + sizeof(struct fake_linux_lapd_header)
- + sizeof(struct lapd_header)
- - mi_head,
- .orig_len = msg->len + sizeof(struct fake_linux_lapd_header)
- + sizeof(struct lapd_header)
- - mi_head,
+ .incl_len = msgb_l2len(msg) + sizeof(struct fake_linux_lapd_header)
+ + sizeof(struct lapd_header),
+ .orig_len = msgb_l2len(msg) + sizeof(struct fake_linux_lapd_header)
+ + sizeof(struct lapd_header),
};
@@ -181,8 +178,7 @@
ret = write(pcap_fd, &payload_header, sizeof(payload_header));
ret = write(pcap_fd, &header, sizeof(header));
ret = write(pcap_fd, &lapd_header, sizeof(lapd_header));
- ret = write(pcap_fd, msg->data + mi_head,
- msg->len - mi_head);
+ ret = write(pcap_fd, msg->l2h, msgb_l2len(msg));
}
static const char *sign_types[] = {