mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
r19786: My last checkin to winreg_StringBuf killed rpccli_winreg_EnumKeys against
W2k3. The server requires that size==0 in the [in] name. Somehow I get the feeling that something is badly wrong here.... I did not yet recreate the gen_ndr equivalent, see next mail. Volker
This commit is contained in:
parent
f808182346
commit
016ddce120
@ -1644,6 +1644,24 @@ size_t strlen_m_term(const char *s)
|
||||
return strlen_m(s) + 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Weird helper routine for the winreg pipe: If nothing is around, return 0,
|
||||
* if a string is there, include the terminator.
|
||||
*/
|
||||
|
||||
size_t strlen_m_term_null(const char *s)
|
||||
{
|
||||
size_t len;
|
||||
if (!s) {
|
||||
return 0;
|
||||
}
|
||||
len = strlen_m(s);
|
||||
if (len == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return len+1;
|
||||
}
|
||||
/**
|
||||
Return a RFC2254 binary string representation of a buffer.
|
||||
Used in LDAP filters.
|
||||
|
@ -132,7 +132,7 @@ import "lsa.idl", "initshutdown.idl", "security.idl";
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
[value(strlen_m_term(name)*2)] uint16 length;
|
||||
[value(strlen_m_term_null(name)*2)] uint16 length;
|
||||
/* size cannot be auto-set by value() as it is the
|
||||
amount of space the server is allowed to use for this
|
||||
string in the reply, not its current size */
|
||||
|
Loading…
Reference in New Issue
Block a user