Private
Public Access
2
0

mraa.c: make mraa_get_platform_name use a const char

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Brendan Le Foll
2016-01-20 15:58:28 +00:00
parent bdb5ef66e9
commit 0aed0003ff
4 changed files with 12 additions and 8 deletions

View File

@@ -140,7 +140,7 @@ mraa_result_t mraa_set_log_level(int level);
* *
* @return platform name * @return platform name
*/ */
char* mraa_get_platform_name(); const char* mraa_get_platform_name();
/** /**
* Return the platform's versioning info, the information given depends per * Return the platform's versioning info, the information given depends per

View File

@@ -33,7 +33,7 @@ main(int argc, char** argv)
{ {
mraa_platform_t platform = mraa_get_platform_type(); mraa_platform_t platform = mraa_get_platform_type();
mraa_gpio_context gpio, gpio_in = NULL; mraa_gpio_context gpio, gpio_in = NULL;
char* board_name = mraa_get_platform_name(); const char* board_name = mraa_get_platform_name();
int ledstate = 0; int ledstate = 0;
switch (platform) { switch (platform) {

View File

@@ -31,7 +31,7 @@
int int
main(int argc, char** argv) main(int argc, char** argv)
{ {
char* board_name = mraa_get_platform_name(); const char* board_name = mraa_get_platform_name();
int i2c_bus, i, i2c_adapter; int i2c_bus, i, i2c_adapter;
fprintf(stdout, "hello mraa\n Version: %s\n Running on %s\n", mraa_get_version(), board_name); fprintf(stdout, "hello mraa\n Version: %s\n Running on %s\n", mraa_get_version(), board_name);

View File

@@ -50,7 +50,7 @@
mraa_board_t* plat = NULL; mraa_board_t* plat = NULL;
mraa_iio_info_t* plat_iio = NULL; mraa_iio_info_t* plat_iio = NULL;
static char platform_name[MAX_PLATFORM_NAME_LENGTH]; static char* platform_name;
static char* platform_long_name; static char* platform_long_name;
static int num_i2c_devices = 0; static int num_i2c_devices = 0;
@@ -458,17 +458,21 @@ mraa_get_platform_adc_supported_bits(int platform_offset)
} }
} }
const char*
char*
mraa_get_platform_name() mraa_get_platform_name()
{ {
if (plat == NULL) { if (plat == NULL) {
return NULL; return NULL;
} }
int length = strlen(plat->platform_name) + 1;
if (mraa_has_sub_platform()) { if (mraa_has_sub_platform()) {
snprintf(platform_name, MAX_PLATFORM_NAME_LENGTH, "%s + %s", plat->platform_name, plat->sub_platform->platform_name); length += strlen(plat->sub_platform->platform_name);
}
platform_name = calloc(length, sizeof(char));
if (mraa_has_sub_platform()) {
snprintf(platform_name, length, "%s + %s", plat->platform_name, plat->sub_platform->platform_name);
} else { } else {
strncpy(platform_name, plat->platform_name, MAX_PLATFORM_NAME_LENGTH-1); strncpy(platform_name, plat->platform_name, length);
} }
return platform_name; return platform_name;