#include <stdlib.h>
#include <stdio.h>
#define log(fmt, ...)                                    \
   eina_log_print(EINA_LOG_LEVEL_ERR, __FILE__, __FUNCTION__, __LINE__, fmt, ##__VA_ARGS__)
typedef struct _Data Data;
struct _Data
{
   int to_stderr;
};
              const char *file,
              const char *fnc,
              int line,
              const char *fmt,
              void *data,
              va_list args)
{
   Data *d;
   FILE *output;
   char *str;
   d = (Data*)data;
   if (d->to_stderr)
     {
        output = stderr;
        str = "stderr";
    }
   else
     {
       output = stdout;
        str = "stdout";
     }
   fprintf(output, "%s:%s:%s (%d) %s: ",
   vfprintf(output, fmt, args);
   putc('\n', output);
}
void test(Data *data, int i)
{
   if (i < 0)
      data->to_stderr = 0;
   else
      data->to_stderr = 1;
}
int main(void)
{
   Data data;
     {
        printf("log during the initialization of Eina_Log module\n");
        return EXIT_FAILURE;
     }
   test(&data, -1);
   test(&data, 0);
   return EXIT_SUCCESS;
}