1
1

refactor opal_bitmap_get_string

make it more efficient and fix CID 71992 (dead code)
Этот коммит содержится в:
Gilles Gouaillardet 2015-06-08 10:12:53 +09:00
родитель 0f17cdfc57
Коммит d9c490cf9f

Просмотреть файл

@ -12,6 +12,8 @@
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2010-2012 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2014 Intel, Inc. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -346,39 +348,24 @@ bool opal_bitmap_are_different(opal_bitmap_t *left, opal_bitmap_t *right)
char * opal_bitmap_get_string(opal_bitmap_t *bitmap)
{
int i;
char *tmp_str = NULL;
char *bitmap_str = NULL;
char cur_char = ' ';
if( NULL == bitmap) {
return NULL;
}
bitmap_str = malloc(bitmap->array_size * SIZE_OF_BASE_TYPE + 1);
if (NULL == bitmap_str) {
return NULL;
}
bitmap_str[bitmap->array_size * SIZE_OF_BASE_TYPE] = '\0';
for( i = 0; i < (bitmap->array_size * SIZE_OF_BASE_TYPE); ++i) {
if( opal_bitmap_is_set_bit(bitmap, i) ) {
cur_char = 'X';
bitmap_str[i] = 'X';
} else {
cur_char = '_';
bitmap_str[i] = '_';
}
if( NULL == bitmap_str ) {
asprintf(&tmp_str, "%c", cur_char);
} else {
asprintf(&tmp_str, "%s%c", bitmap_str, cur_char);
}
if( NULL != bitmap_str ) {
free(bitmap_str);
bitmap_str = NULL;
}
bitmap_str = strdup(tmp_str);
free(tmp_str);
tmp_str = NULL;
}
if( NULL != tmp_str ) {
free(tmp_str);
tmp_str = NULL;
}
return bitmap_str;