Am Dienstag, den 16.09.2008, 07:58 -0700 schrieb Juan Lang:
Hi Peter,
diff --git a/programs/services/services.c b/programs/services/services.c index 36ed117..cd71a1f 100644 --- a/programs/services/services.c +++ b/programs/services/services.c @@ -106,9 +106,9 @@ static DWORD load_service_config(HKEY hKey, struct service_entry *entry) return err; if ((err = load_reg_string(hKey, SZ_DESCRIPTION, 0, &entry->description)) != 0) return err;
- if ((err = load_reg_multisz(hKey, SZ_DEPEND_ON_SERVICE, &entry->dependOnServices)) != 0)
- if ((err = load_reg_multisz(hKey, SZ_DEPEND_ON_SERVICE, TRUE, &entry->dependOnServices)) != 0) return err;
- if ((err = load_reg_multisz(hKey, SZ_DEPEND_ON_GROUP, &entry->dependOnGroups)) != 0)
- if ((err = load_reg_multisz(hKey, SZ_DEPEND_ON_GROUP, FALSE, &entry->dependOnGroups)) != 0) return err;
It seems as though the bAllowSingle variable is useless, as the only caller of it tries first with TRUE and again with FALSE.
No, you are reading the patch wrong. It tries to read DependOnService with TRUE, and aborts if it *fails*. If it succeeds, it loads *another* setting (DependOnGroup) with FALSE, so definitely not a retry.
Peter, are you sure that windows will handle REG_SZ *only* in the DependOnService case and fail if you have a REG_SZ in DependOnGroup?
Regards, Michael Karcher