#include "core/devices.h"
#include <hal/device/hal-board.h>
+#define SERIAL_MAX 128
static bool board_dev_available = false;
static GVariant *dbus_revision_handler(GDBusConnection *conn,
{
int ret;
GVariant *result;
- char *serial = NULL;
+ char serial[SERIAL_MAX] = {0, };
- ret = hal_device_board_get_device_serial_number(&serial);
+ ret = hal_device_board_get_device_serial_number(serial, SERIAL_MAX);
if (!board_dev_available || (ret == -ENODEV)) {
_E("GetSerial not supported.");
ret = -ENOTSUP;
_D("Num(%s) len(%zu).", serial, strlen(serial));
num_out:
- if (serial == NULL)
- serial = strdup("");
-
- result = g_variant_new("(si)", serial, ret);
-
- if (serial)
- free(serial);
+ if (ret < 0)
+ result = g_variant_new("(si)", strdup(""), ret);
+ else
+ result = g_variant_new("(si)", serial, ret);
return result;
}
int ret;
char *p;
GVariant *result;
- char *num = NULL;
+ char serial[SERIAL_MAX] = {0, };
- ret = hal_device_board_get_device_serial_number(&num);
+ ret = hal_device_board_get_device_serial_number(serial, SERIAL_MAX);
if (!board_dev_available || (ret == -ENODEV)) {
_E("GetNum not supported.");
ret = -ENOTSUP;
goto seiral_out;
}
- p = strchr(num, ',');
+ p = strchr(serial, ',');
if (p)
*p = '\0';
- _D("Serial(%s) len(%zu).", num, strlen(num));
+ _D("Serial(%s) len(%zu).", serial, strlen(serial));
seiral_out:
- if (num == NULL)
- num = strdup("");
-
- result = g_variant_new("(si)", num, ret);
-
- if (num)
- free(num);
+ if (ret < 0)
+ result = g_variant_new("(si)", strdup(""), ret);
+ else
+ result = g_variant_new("(si)", serial, ret);
return result;
}