diff options
author | Tomas Guisasola <tomas@luaforge.net> | 2003-09-01 18:55:57 +0000 |
---|---|---|
committer | Tomas Guisasola <tomas@luaforge.net> | 2003-09-01 18:55:57 +0000 |
commit | 9c3c5cfee6f957c43f10ce119ab94a5f9f398bb2 (patch) | |
tree | 8ce649761997f10fa5397a40d11fd9a0294a349b /lualdap/src/lualdap.c | |
parent | Acrescimo de links para documentacao externa. (diff) | |
download | lualdap-9c3c5cfee6f957c43f10ce119ab94a5f9f398bb2.tar.xz lualdap-9c3c5cfee6f957c43f10ce119ab94a5f9f398bb2.zip |
Implementacao da modify assincrona.
Correcao na criacao de entradas com atributos sem valores (attrsonly = 1).
Diffstat (limited to 'lualdap/src/lualdap.c')
-rwxr-xr-x | lualdap/src/lualdap.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lualdap/src/lualdap.c b/lualdap/src/lualdap.c index 77166c5..26bb500 100755 --- a/lualdap/src/lualdap.c +++ b/lualdap/src/lualdap.c @@ -1,6 +1,6 @@ /* ** LuaLDAP -** $Id: lualdap.c,v 1.19 2003-08-29 14:24:53 tomas Exp $ +** $Id: lualdap.c,v 1.20 2003-09-01 18:55:57 tomas Exp $ */ #include <stdlib.h> @@ -551,7 +551,7 @@ static int lualdap_modify (lua_State *L) { param++; } A_lastattr (L, &attrs); - rc = ldap_modify_ext_s (conn->ld, dn, attrs.attrs, NULL, NULL); + rc = ldap_modify_ext (conn->ld, dn, attrs.attrs, NULL, NULL, &msgid); return create_future (L, rc, 1, msgid, LDAP_RES_MODIFY); } @@ -582,7 +582,10 @@ static int lualdap_rename (lua_State *L) { static int push_values (lua_State *L, LDAP *ld, LDAPMessage *entry, char *attr) { int i, n; BerValue **vals = ldap_get_values_len (ld, entry, attr); - if ((n = ldap_count_values_len (vals)) == 1) /* just one value */ + n = ldap_count_values_len (vals); + if (n == 0) /* no values */ + lua_pushboolean (L, 1); + else if (n == 1) /* just one value */ lua_pushlstring (L, vals[0]->bv_val, vals[0]->bv_len); else { /* Multiple values */ lua_newtable (L); |