static void SaveSetuid(void) { char filename[CF_BUFSIZE]; snprintf(filename, CF_BUFSIZE, "%s/cfagent.%s.log", GetLogDir(), VSYSNAME.nodename); MapName(filename); PurgeItemList(&VSETUIDLIST, "SETUID/SETGID"); Item *current = RawLoadItemList(filename); if (!ListsCompare(VSETUIDLIST, current)) { RawSaveItemList(VSETUIDLIST, filename, NewLineMode_Unix); } DeleteItemList(VSETUIDLIST); VSETUIDLIST = NULL; }
static PromiseResult SaveSetuid(EvalContext *ctx, Attributes a, Promise *pp) { Attributes b = a; b.edits.backup = BACKUP_OPTION_NO_BACKUP; b.edits.maxfilesize = 1000000; char filename[CF_BUFSIZE]; snprintf(filename, CF_BUFSIZE, "%s/cfagent.%s.log", GetLogDir(), VSYSNAME.nodename); MapName(filename); PurgeItemList(ctx, &VSETUIDLIST, "SETUID/SETGID"); PromiseResult result = PROMISE_RESULT_NOOP; if (!CompareToFile(ctx, VSETUIDLIST, filename, a, pp, &result)) { SaveItemListAsFile(VSETUIDLIST, filename, b); } DeleteItemList(VSETUIDLIST); VSETUIDLIST = NULL; return result; }