title: How do I fake a C function that takes a 2D array as input with Fake Function Framework (FFF)?
body: <p>I'm having trouble figuring out how to correctly setup the macro in FFF for faking a function that takes an array of strings. Trying to pass the 2D array seems illegal so I created a typedef to try and get around that. </p>
  
  <pre><code>/*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, &amp;fileCount, false);
  </code></pre>
  
  <p>This code gives me 2 errors. <strong>arg1_history: missing subscript</strong> and <strong>struct fake_getFilesInDir_Fake has an illegal zero-sized array</strong></p>
  
  <p>Any idea what I'm doing wrong?</p>