Я читаю исходный код LZMA SDK и заметил, что они присваивают указатели, переданные в метод себе - пример (из SDK, C / Util / 7z / 7zAlloc.c):
void *SzAlloc(void *p, size_t size)
{
p = p; <-- !
if (size == 0)
return 0;
#ifdef _SZ_ALLOC_DEBUG
fprintf(stderr, "\nAlloc %10d bytes; count = %10d", size, g_allocCount);
g_allocCount++;
#endif
return malloc(size);
}
Может кто-нибудь объяснить, почему они это делают?