From aba7759992a8a098d6876d6da186f0635a80e7ae Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 23 Feb 2017 10:16:37 +0100 Subject: [PATCH] Alembic: don't call object.getFullName() multiple times. --- source/blender/alembic/intern/alembic_capi.cc | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc index ada1f5baaa8..91e1c8f9736 100644 --- a/source/blender/alembic/intern/alembic_capi.cc +++ b/source/blender/alembic/intern/alembic_capi.cc @@ -416,8 +416,10 @@ static bool visit_object(const IObject &object, GHash *readers_map, ImportSettings &settings) { + const char *full_name = object.getFullName().c_str(); + if (!object.valid()) { - std::cerr << " - " << object.getFullName() << ": object is invalid, skipping it and all its children.\n"; + std::cerr << " - " << full_name << ": object is invalid, skipping it and all its children.\n"; return false; } @@ -513,15 +515,10 @@ static bool visit_object(const IObject &object, AlembicObjectPath *abc_path = static_cast( MEM_callocN(sizeof(AlembicObjectPath), "AlembicObjectPath")); - - BLI_strncpy(abc_path->path, object.getFullName().c_str(), PATH_MAX); - + BLI_strncpy(abc_path->path, full_name, PATH_MAX); BLI_addtail(&settings.cache_file->object_paths, abc_path); - /* Cast to `void *` explicitly to avoid compiler errors because it - * is a `const char *` which the compiler cast to `const void *` - * instead of the expected `void *`. */ - BLI_ghash_insert(readers_map, (void *)object.getFullName().c_str(), reader); + BLI_ghash_insert(readers_map, const_cast(full_name), reader); } return parent_is_part_of_this_object; -- 2.28.0