This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
+ version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
/*
*/
-#include "includes.h"
-#include "ldb/include/includes.h"
+#include "ldb_private.h"
+#include "system/locale.h"
/*
a filter is defined by:
struct ldb_val ret;
int slen = str?strlen(str):0;
- ret.data = talloc_size(mem_ctx, slen+1);
+ ret.data = (uint8_t *)talloc_size(mem_ctx, slen+1);
ret.length = 0;
if (ret.data == NULL) return ret;
char *ldb_binary_encode_string(void *mem_ctx, const char *string)
{
struct ldb_val val;
- val.data = discard_const(string);
+ val.data = discard_const_p(uint8_t, string);
val.length = strlen(string);
return ldb_binary_encode(mem_ctx, val);
}
/* retrieve attributetype name */
t = p;
+ if (*p == '@') { /* for internal attributes the first char can be @ */
+ p++;
+ }
+
while ((isascii(*p) && isalnum((unsigned char)*p)) || (*p == '-')) { /* attribute names can only be alphanums */
p++;
}
}
/* save name */
- name = talloc_memdup(mem_ctx, t, t1 - t + 1);
+ name = (char *)talloc_memdup(mem_ctx, t, t1 - t + 1);
if (name == NULL) return 0;
name[t1 - t] = '\0';
while (isspace((unsigned char)*p)) p++;
- /* retieve value */
+ /* retrieve value */
t = p;
while (*p && ((*p != ')') || ((*p == ')') && (*(p - 1) == '\\')))) p++;
- val = talloc_memdup(mem_ctx, t, p - t + 1);
+ val = (char *)talloc_memdup(mem_ctx, t, p - t + 1);
if (val == NULL) {
talloc_free(name);
return 0;