SIM-115: update simulator to use latest E2SM KPM version 3
[sim/e2-interface.git] / e2sim / asn1c / REAL_print.c
1 /*
2  * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
3  * All rights reserved.
4  * Redistribution and modifications are permitted subject to BSD license.
5  */
6 #include <asn_internal.h>
7 #include <REAL.h>
8
9 int
10 REAL_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
11            asn_app_consume_bytes_f *cb, void *app_key) {
12     const REAL_t *st = (const REAL_t *)sptr;
13     ssize_t ret;
14     double d;
15
16     (void)td;  /* Unused argument */
17     (void)ilevel;  /* Unused argument */
18
19     if(!st || !st->buf)
20         ret = cb("<absent>", 8, app_key);
21     else if(asn_REAL2double(st, &d))
22         ret = cb("<error>", 7, app_key);
23     else
24         ret = REAL__dump(d, 0, cb, app_key);
25
26     return (ret < 0) ? -1 : 0;
27 }