Please consider the following codes
#define FIRSTNAME ""
#define SECONDNAME "JOHN"
# define PATHSAVE(a) func(strcat(strcpy(tmpFileName, appDir), a))
int main() {
PATHSAVE(FIRSTNAME SECONDNAME);
}
By analyzing I found out that value "John" is passed to the function PATHSAVE. By I couldnt understand why two parameters are used in this function PATHSAVE(FIRSTNAME SECONDNAME)