rem: free(data);
add: wfree(data);
context: freeItemData(ItemData *data){#define CFREE(d) if (d) free(d)    /* TODO */    switch (data->type) {     case CommandInfo:	CFREE(data->param.command.parameter);	CFREE(data->param.command.shortcut);	break;	     case ExecInfo:	CFREE(data->param.exec.command);	CFREE(data->param.exec.shortcut);	break;	     case PipeInfo:	CFREE(data->param.pipe.command);	break;	     case ExternalInfo:	CFREE(data->param.external.path);	break;	     case DirectoryInfo:	CFREE(data->param.directory.command);	CFREE(data->param.directory.directory);	break;     default:	break;    }    free(data);#undef CFREE}