+ qsnprintf(buf, sizeof(buf), "%s", name);
+
+ int need_rename = is_name_reserved(name);
+ if (!need_rename) {
+ p = buf;
+ pp = (char **)bsearch(&p, name_cache, name_cache_size,
+ sizeof(name_cache[0]), name_cache_cmp);
+ if (pp != NULL) {
+ if (pp > name_cache && stricmp(pp[-1], pp[0]) == 0)
+ need_rename = 1;
+ else if (pp < name_cache + name_cache_size - 1
+ && stricmp(pp[0], pp[1]) == 0)
+ {
+ need_rename = 1;
+ }
+ }
+ }