diff options
Diffstat (limited to 'src/object.c')
| -rw-r--r-- | src/object.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/object.c b/src/object.c index 354703b713..b7ccf23725 100644 --- a/src/object.c +++ b/src/object.c @@ -387,8 +387,11 @@ void rt_object_init(struct rt_object *object, /* initialize object's parameters */ /* set object type to static */ object->type = type | RT_Object_Class_Static; - /* copy name */ - rt_strncpy(object->name, name, RT_NAME_MAX); +#if RT_NAME_MAX > 0 + rt_strncpy(object->name, name, RT_NAME_MAX); /* copy name */ +#else + object->name = name; +#endif /* RT_NAME_MAX > 0 */ RT_OBJECT_HOOK_CALL(rt_object_attach_hook, (object)); @@ -483,8 +486,11 @@ rt_object_t rt_object_allocate(enum rt_object_class_type type, const char *name) /* set object flag */ object->flag = 0; - /* copy name */ - rt_strncpy(object->name, name, RT_NAME_MAX); +#if RT_NAME_MAX > 0 + rt_strncpy(object->name, name, RT_NAME_MAX); /* copy name */ +#else + object->name = name; +#endif /* RT_NAME_MAX > 0 */ RT_OBJECT_HOOK_CALL(rt_object_attach_hook, (object)); |
