#define EVENT_BUFLEN MAX(4096, sizeof(struct inotify_event) + NAME_MAX + 1)
-#define RESOLVERES_FAIL_NOMAILBOX -3
-#define RESOLVERES_FAIL_NOMAGIC -2
-#define RESOLVERES_FAIL_STAT -1
-#define RESOLVERES_OK_NOTEXISTING 0
-#define RESOLVERES_OK_EXISTING 1
+/**
+ * enum ResolveResult - Results for the Monitor functions
+ */
+enum ResolveResult
+{
+ RESOLVE_RES_FAIL_NOMAILBOX = -3, ///< No Mailbox to work on
+ RESOLVE_RES_FAIL_NOMAGIC = -2, ///< Can't identify Mailbox type
+ RESOLVE_RES_FAIL_STAT = -1, ///< Can't stat() the Mailbox file
+ RESOLVE_RES_OK_NOTEXISTING = 0, ///< File exists, no monitor is attached
+ RESOLVE_RES_OK_EXISTING = 1, ///< File exists, monitor is already attached
+};
/**
* struct Monitor - A watch on a file
*
* If m is NULL, the current mailbox (Context) is used.
*/
-static int monitor_resolve(struct MonitorInfo *info, struct Mailbox *m)
+static enum ResolveResult monitor_resolve(struct MonitorInfo *info, struct Mailbox *m)
{
char *fmt = NULL;
struct stat sb;
}
else
{
- return RESOLVERES_FAIL_NOMAILBOX;
+ return RESOLVE_RES_FAIL_NOMAILBOX;
}
if (info->magic == MUTT_UNKNOWN)
{
- return RESOLVERES_FAIL_NOMAGIC;
+ return RESOLVE_RES_FAIL_NOMAGIC;
}
else if (info->magic == MUTT_MAILDIR)
{
info->path = mutt_b2s(info->path_buf);
}
if (stat(info->path, &sb) != 0)
- return RESOLVERES_FAIL_STAT;
+ return RESOLVE_RES_FAIL_STAT;
struct Monitor *iter = Monitor;
while (iter && ((iter->st_ino != sb.st_ino) || (iter->st_dev != sb.st_dev)))
info->st_ino = sb.st_ino;
info->monitor = iter;
- return iter ? RESOLVERES_OK_EXISTING : RESOLVERES_OK_NOTEXISTING;
+ return iter ? RESOLVE_RES_OK_EXISTING : RESOLVE_RES_OK_NOTEXISTING;
}
/**
monitor_info_init(&info);
int rc = 0;
- int desc = monitor_resolve(&info, m);
- if (desc != RESOLVERES_OK_NOTEXISTING)
+ enum ResolveResult desc = monitor_resolve(&info, m);
+ if (desc != RESOLVE_RES_OK_NOTEXISTING)
{
- if (!m && (desc == RESOLVERES_OK_EXISTING))
+ if (!m && (desc == RESOLVE_RES_OK_EXISTING))
MonitorContextDescriptor = info.monitor->desc;
- rc = (desc == RESOLVERES_OK_EXISTING) ? 0 : -1;
+ rc = (desc == RESOLVE_RES_OK_EXISTING) ? 0 : -1;
goto cleanup;
}
MonitorContextChanged = 0;
}
- if (monitor_resolve(&info, m) != RESOLVERES_OK_EXISTING)
+ if (monitor_resolve(&info, m) != RESOLVE_RES_OK_EXISTING)
{
rc = 2;
goto cleanup;
{
if (m)
{
- if ((monitor_resolve(&info2, NULL) == RESOLVERES_OK_EXISTING) &&
+ if ((monitor_resolve(&info2, NULL) == RESOLVE_RES_OK_EXISTING) &&
(info.st_ino == info2.st_ino) && (info.st_dev == info2.st_dev))
{
rc = 1;