diag_msg: endian fixes

This commit is contained in:
Harald Welte 2017-01-01 12:00:38 +01:00
parent f6bd58c7fb
commit 7af93aacba
1 changed files with 13 additions and 5 deletions

View File

@ -96,22 +96,30 @@ int diag_rx_ext_msg_f(struct diag_instance *di, struct msgb *msgb)
fmt = (const char *) msg->params + num_args*sizeof(msg->params[0]);
file = fmt + strlen(fmt) + 1;
printf("MSG(%u|%u|%s:%u): ", msg->subsys_id, diag_ts_to_epoch(msg->timestamp), file, msg->line_nr);
printf("MSG(%u|%u|%s:%u): ", osmo_load16le(&msg->subsys_id),
diag_ts_to_epoch(osmo_load64le(&msg->timestamp)),
file, osmo_load16le(&msg->line_nr));
switch (num_args) {
case 0:
fputs(fmt, stdout);
break;
case 1:
printf(fmt, msg->params[0]);
printf(fmt, osmo_load32le(&msg->params[0]));
break;
case 2:
printf(fmt, msg->params[0], msg->params[1]);
printf(fmt, osmo_load32le(&msg->params[0]),
osmo_load32le(&msg->params[1]));
break;
case 3:
printf(fmt, msg->params[0], msg->params[1], msg->params[2]);
printf(fmt, osmo_load32le(&msg->params[0]),
osmo_load32le(&msg->params[1]),
osmo_load32le(&msg->params[2]));
break;
case 4:
printf(fmt, msg->params[0], msg->params[1], msg->params[2], msg->params[3]);
printf(fmt, osmo_load32le(&msg->params[0]),
osmo_load32le(&msg->params[1]),
osmo_load32le(&msg->params[2]),
osmo_load32le(&msg->params[3]));
break;
}
fputc('\n', stdout);