switch (e->minor)
{
case E_FM_OP_HELLO:/*hello*/
+// printf("E_FM_OP_HELLO\n");
break;
case E_FM_OP_OK:/*req ok*/
+// printf("E_FM_OP_OK\n");
cl->req--;
break;
case E_FM_OP_FILE_ADD:/*file add*/
+// printf("E_FM_OP_FILE_ADD\n");
case E_FM_OP_FILE_CHANGE:/*file change*/
+// printf("E_FM_OP_FILE_CHANGE\n");
{
E_Fm2_Finfo finf;
-
- p = e->data;
+
+ p = e->data;
/* NOTE: i am NOT converting this data to portable arch/os independant
* format. i am ASSUMING e_fm_main and e are local and built together
* and thus this will work. if this ever changes this here needs to
finf.rlnk = rlnk;
evdir = ecore_file_dir_get(path);
- if ((sd->id == e->ref_to) &&
+ if ((evdir) && (sd->id == e->ref_to) &&
((!strcmp(evdir, "") || (!strcmp(dir, evdir)))))
{
+// printf(" ch/add response = %i\n", e->response);
if (e->response == 0)/*live changes*/
{
if (e->minor == E_FM_OP_FILE_ADD)/*file add*/
}
else
{
+// printf(" ...\n");
if ((sd->id == e->ref_to) && (path[0] == 0))
{
+// printf(" end response = %i\n", e->response);
if (e->response == 2)/* end of scan */
{
sd->listing = 0;
}
}
}
- free(evdir);
+ if (evdir) free(evdir);
}
break;
case E_FM_OP_FILE_DEL:/*file del*/
+// printf("E_FM_OP_FILE_DEL\n");
path = e->data;
evdir = ecore_file_dir_get(path);
if ((sd->id == e->ref_to) && (!strcmp(dir, evdir)))
free(evdir);
break;
case E_FM_OP_MONITOR_END:/*mon dir del*/
+// printf("E_FM_OP_MONITOR_END\n");
path = e->data;
if ((sd->id == e->ref_to) && (!strcmp(dir, path)))
{