[PATCH 6/9] adsldp: Map 1.3.6.1.4.1.1466.115.121.1.7 to ADSTYPE_BOOLEAN.
Dmitry Timoshkov
dmitry at baikal.ru
Mon Mar 30 02:33:55 CDT 2020
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
dlls/adsldp/adsldp.c | 13 +++++++++++++
dlls/adsldp/schema.c | 2 ++
2 files changed, 15 insertions(+)
diff --git a/dlls/adsldp/adsldp.c b/dlls/adsldp/adsldp.c
index 4b66cd611f..caa3442099 100644
--- a/dlls/adsldp/adsldp.c
+++ b/dlls/adsldp/adsldp.c
@@ -1350,6 +1350,19 @@ static HRESULT add_column_values(LDAP_namespace *ldap, ADS_SEARCH_COLUMN *col,
break;
}
+ case ADSTYPE_BOOLEAN:
+ if (stricmp(values[i]->bv_val, "TRUE"))
+ col->pADsValues[i].u.Boolean = 1;
+ else if (stricmp(values[i]->bv_val, "FALSE"))
+ col->pADsValues[i].u.Boolean = 0;
+ else
+ {
+ FIXME("not recognized boolean value %s\n", debugstr_an(values[i]->bv_val, values[i]->bv_len));
+ col->pADsValues[i].u.Boolean = 0;
+ }
+ TRACE("=> %d\n", col->pADsValues[i].u.Boolean);
+ break;
+
case ADSTYPE_INTEGER:
col->pADsValues[i].u.Integer = strtol(values[i]->bv_val, NULL, 10);
TRACE("%s => %d\n", debugstr_an(values[i]->bv_val, values[i]->bv_len), col->pADsValues[i].u.Integer);
diff --git a/dlls/adsldp/schema.c b/dlls/adsldp/schema.c
index 234a76dfa9..bff754be7a 100644
--- a/dlls/adsldp/schema.c
+++ b/dlls/adsldp/schema.c
@@ -58,6 +58,8 @@ ADSTYPEENUM get_schema_type(const WCHAR *name, const struct attribute_type *at,
type = find_schema_type(name, at, at_count);
if (!type || !type->syntax) return ADSTYPE_CASE_IGNORE_STRING;
+ if (!wcscmp(type->syntax, L"1.3.6.1.4.1.1466.115.121.1.7"))
+ return ADSTYPE_BOOLEAN;
if (!wcscmp(type->syntax, L"1.3.6.1.4.1.1466.115.121.1.12"))
return ADSTYPE_DN_STRING;
if (!wcscmp(type->syntax, L"1.3.6.1.4.1.1466.115.121.1.15"))
--
2.25.1
More information about the wine-devel
mailing list