+ if(acl->form() == ACL::integrityForm) {
+ // If this is an integrity ACL, route the (unhexified) promptDescription into the right place
+ string hex = cfString(description);
+ if(hex.length() %2 == 0) {
+ // might be a valid hex string, try to set
+ CssmAutoData data(Allocator::standard());
+ data.malloc(hex.length() / 2);
+ data.get().fromHex(hex.c_str());
+ acl->setIntegrity(data);
+ }
+ } else {
+ // Otherwise, put it in the promptDescription where it belongs
+ acl->promptDescription() = description ? cfString(description) : "";
+ }