*/
/*
- * Copyright (C) 2012, 2013 Biggers
+ * Copyright (C) 2012, 2013 Eric Biggers
*
* This file is part of wimlib, a library for working with WIM files.
*
if (existing_ads_entry) {
if (flags & XATTR_CREATE)
return -EEXIST;
- inode_remove_ads(inode, ads_idx, ctx->wim->lookup_table);
} else {
if (flags & XATTR_REPLACE)
return -ENOATTR;
ret = inode_add_ads_with_data(inode, name, (const u8*)value,
size, ctx->wim->lookup_table);
- return ret ? -ENOMEM : 0;
+ if (ret == 0) {
+ if (existing_ads_entry)
+ inode_remove_ads(inode, ads_idx, ctx->wim->lookup_table);
+ } else {
+ ret = -ENOMEM;
+ }
+ return ret;
}
#endif