{
struct ldb_ldif *ldif;
int ret;
- ldif = ldb_ldif_read_string(ldb, ldif_string);
+ ldif = ldb_ldif_read_string(ldb, &ldif_string);
if (ldif == NULL) return -1;
ret = ldb_add(ldb, ldif->msg);
talloc_free(ldif);
return EOF;
}
-struct ldb_ldif *ldb_ldif_read_string(struct ldb_context *ldb, const char *s)
+struct ldb_ldif *ldb_ldif_read_string(struct ldb_context *ldb, const char **s)
{
struct ldif_read_string_state state;
- state.s = s;
- return ldb_ldif_read(ldb, fgetc_string, &state);
+ struct ldb_ldif *ldif;
+ state.s = *s;
+ ldif = ldb_ldif_read(ldb, fgetc_string, &state);
+ *s = state.s;
+ return ldif;
}
struct ldb_ldif *ldb_ldif_read(struct ldb_context *ldb,
int (*fgetc_fn)(void *), void *private_data);
struct ldb_ldif *ldb_ldif_read_file(struct ldb_context *ldb, FILE *f);
-struct ldb_ldif *ldb_ldif_read_string(struct ldb_context *ldb, const char *s);
+struct ldb_ldif *ldb_ldif_read_string(struct ldb_context *ldb, const char **s);
int ldb_ldif_write_file(struct ldb_context *ldb, FILE *f, const struct ldb_ldif *msg);
char *ldb_base64_encode(void *mem_ctx, const char *buf, int len);
int ldb_base64_decode(char *s);