Есть ли способ настроить cppcheck с возможностью указать номер позиционного аргумента для alloc / dealloc - PullRequest
0 голосов
/ 08 января 2019

Я работаю со следующими функциями:

  • flist_create(flist *cont) - выделяет память для экземпляра структура
  • flist_destroy(flist *cont) - освобождает память
  • flist_put(flist *cont, char *val) - передает владение памятью val к продолжение (flist_destroy позже освободит эту память, как часть очистки продолжение)

Для самого флиста я могу просто сделать:

 <memory>
     <alloc>flist_create</alloc>
     <dealloc>flist_destroy</dealloc>
 </memory>

Но я не могу добавить flist_put как dealloc (для освобождения значения), так как cppcheck подумает, что flist должен быть освобожден).

Есть ли способ настроить cppcheck, чтобы он сказал, что для dealloc должен рассматриваться только указанный позиционный аргумент?

1 Ответ

0 голосов
/ 08 января 2019

Посмотрев исходный код cppcheck, я нашел ответ:

 <memory>
  <alloc>flist_create</alloc>
  <dealloc>flist_destroy</dealloc>
  <dealloc arg="2">flist_put</dealloc>
 </memory>

Мне кажется, что руководства по cppcheck несколько не хватает, поскольку в нем не описаны все возможные варианты использования файлов cfg ...

...