У меня проблемы с выяснением, как правильно настроить макрос в FFF для подделки функции, которая принимает массив строк.Попытка передать массив 2D кажется незаконной, поэтому я создал typedef, чтобы попытаться обойти это.
/*Macro for faking the function*/
#define getFilesInDir fake_getFilesInDir
FAKE_VOID_FUNC7(fake_getFilesInDir, char*, FileNames, uint16_t, char*, char*,
int32_t*, uint8_t)
#define MAX_FILENAME_SIZE 400
typedef char FileNames[][MAX_FILENAME_SIZE];
/*Declaration in another header file*/
void getFilesInDir(char* dir, FileNames filesInDir, uint16_t maxNumFiles, char* includeString,
char* excludeString, int32_t* fileCnt, uint8_t recursive);
/*Code under test*/
char fileNames[CFU_MAX_NUM_FILES][MAX_FILENAME_SIZE]; //Local variable
//...
getFilesInDir(path, fileNames, CFU_MAX_NUM_FILES, (char*)cfgExt, NULL, &fileCount, false);
Этот код дает мне 2 ошибки. arg1_history: отсутствует индекс и struct fake_getFilesInDir_Fake имеет недопустимый массив нулевого размера
Есть идеи, что я делаю неправильно?