#include "portable.h"
#include <stdio.h>
-#include <stdlib.h>
+
+#include <ac/stdlib.h>
#ifdef HAVE_READLINE
# include <readline/readline.h>
#define DN_MAXLEN 4096
typedef struct {
- char *cmd;
- int (*func) (char **, int);
- char *help_msg;
+ const char *cmd;
+ int (*func) (char **, int);
+ const char *help_msg;
} CMDTABLE;
typedef enum {
int cmd_search(char **cmdargv, int cmdargc);
int cmd_set(char **cmdargv, int cmdargc);
int cmd_show(char **cmdargv, int cmdargc);
+
+int bind_user(void);
+void display_search_results(LDAPMessage *result);
+int do_command(char *cmd);
+void do_commands(FILE *file);
+int is_whitespace(register char *s);
char *make_dn(char *dn, int relative);
+void show_syntax(unsigned int cmdnum);
char *skip_to_char(register char *s, register int c);
char *skip_to_whitespace(register char *s);
char *skip_whitespace(register char *s);
+int table_lookup(const char *, const char *const *, int);
FILE *user_tailor(void);
-static char *binary_attrs[] = { "audio", "jpegPhoto", "personalSignature", "photo" };
+static const char *const binary_attrs[] = {
+ "audio", "jpegPhoto", "personalSignature", "photo"
+};
-CMDTABLE cmdtable[] = {
+const CMDTABLE cmdtable[] = {
"help" , cmd_help , "[command]",
"list" , cmd_list , "[RDN-or-DN] [-absolute]",
"moveto", cmd_moveto, "[RDN-or-DN] [-absolute]",
int cmd_help(char **cmdargv, int cmdargc)
{
- int i;
+ unsigned int i;
if (cmdargc == 2) {
for (i = 0; i < sizeof(cmdtable) / sizeof(cmdtable[0]); i++)
char *dn = NULL;
int errflag = 0;
int i;
- static char *opts[] = { "absolute" };
+ static const char *const opts[] = { "absolute" };
int relative = 1;
LDAPMessage *result;
int errflag = 0;
char **exploded_dn;
int i;
- static char *opts[] = { "absolute" };
+ static const char *const opts[] = { "absolute" };
int relative = 1;
for (i = 1; i < cmdargc; i++) {
int errflag = 0;
char *filter = NULL;
int i, j;
- static char *opts[] = { "absolute", "object", "scope" };
+ static const char *const opts[] = { "absolute", "object", "scope" };
int relative = 1;
LDAPMessage *result;
- static char *scope_opts[] = { "base", "onelevel", "subtree" };
- static int scope_vals[] = { LDAP_SCOPE_BASE, LDAP_SCOPE_ONELEVEL, LDAP_SCOPE_SUBTREE };
+ static const char *const scope_opts[]= { "base","onelevel","subtree" };
+ static const int scope_vals[] = { LDAP_SCOPE_BASE, LDAP_SCOPE_ONELEVEL, LDAP_SCOPE_SUBTREE };
static int search_scope = LDAP_SCOPE_ONELEVEL;
for (i = 1; i < cmdargc; i++) {
int cmd_set(char **cmdargv, int cmdargc)
{
- static char *alias_opts[] = { "never", "search", "find", "always" };
+ static const char *const alias_opts[] = {
+ "never", "search", "find", "always"
+ };
int errflag = 0;
int i, j;
- static char *opts[] = { "aliasderef", "sizelimit", "timelimit" };
+ static const char *const opts[] = {
+ "aliasderef", "sizelimit", "timelimit"
+ };
for (i = 1; i < cmdargc; i++) {
if (cmdargv[i][0] == '-') {
int cmd_show(char **cmdargv, int cmdargc)
{
char *dn = NULL;
- LDAPMessage *entry;
int errflag = 0;
int i;
- static char *opts[] = { "absolute" };
+ static const char *const opts[] = { "absolute" };
int relative = 1;
LDAPMessage *result;
return 0;
}
-display_search_results(LDAPMessage *result)
+void display_search_results(LDAPMessage *result)
{
BerElement *cookie;
int i;
for (entry = ldap_first_entry(ld, result); entry; entry = ldap_next_entry(ld, entry)) {
if (s = ldap_get_dn(ld, entry)) {
printf(" %s\n", s);
- free(s);
+ ldap_memfree(s);
}
/* Make one pass to calculate the length of the longest attribute name */
case 'd':
#ifdef LDAP_DEBUG
tmp = atoi(optarg);
- lber_set_option(NULL, LBER_OPT_DEBUG_LEVEL, &tmp);
+ ber_set_option(NULL, LBER_OPT_DEBUG_LEVEL, &tmp);
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, &tmp);
#endif
break;
char *make_dn(char *dn, int relative)
{
static char dn_buf[DN_MAXLEN];
- char *s;
if (!dn)
dn = "";
return strcat(strcat(strcpy(dn_buf, dn), ", "), default_dn);
}
-show_syntax(int cmdnum)
+void show_syntax(unsigned int cmdnum)
{
printf("Syntax: %s %s\n", cmdtable[cmdnum].cmd, cmdtable[cmdnum].help_msg);
}
return s;
}
-int table_lookup(char *word, char **table, int table_count)
+int table_lookup(const char *word, const char *const *table, int table_count)
{
register int i;
int wordlen;