Тема: acedSSFree - нужно ли после acedSSName?

Обратил внимание, что в старом коде есть такие места:

acedSSName(ssname, i, entname);
acdbGetObjectId(objId, entname);
acedSSFree(entname);

В хелпе на acedSSFree сказано: The set must have been previously obtained from a call to acedSSGet() or acedSSAdd().

Получается, что здесь освобождается, то, что не выделялось? Но программа не валится, значит, можно и вызывать acedSSFree?
Как правильно?
to free or not to free?

Re: acedSSFree - нужно ли после acedSSName?

Wing пишет:

Как правильно? to free or not to free?

not to free. Это тебе просто повезло, что программа не валится.

Re: acedSSFree - нужно ли после acedSSName?

Спасибо.

/*
Поначалу непонятно, как это может быть: команд с этим подходом несколько, пользователей десятки, не валится годами.
Потом подумал, что акадовский рантайм ведет список адресов, полученных от acedSSGet() и acedSSAdd(), и в acedSSFree() игнорирует адреса не из этого списка.
Может ли не валиться без подобной защиты? Как думаете?
*/

Re: acedSSFree - нужно ли после acedSSName?

Отличить ads_name для PICKSET и для ENAME достаточно просто. Распечатай их значения и всё поймёшь.