]> git.sur5r.net Git - openldap/blobdiff - contrib/saucer/main.c
Add AC_CANONICAL_SYSTEM to generate $target
[openldap] / contrib / saucer / main.c
index cc52dee482e811f04cd1b7ef56b37cb6f6c128e5..605c1ad4ed959a639214cac26d94b4b239147ff5 100644 (file)
@@ -20,7 +20,8 @@
 #include "portable.h"
 
 #include <stdio.h>
-#include <stdlib.h>
+
+#include <ac/stdlib.h>
 
 #ifdef HAVE_READLINE
 #  include <readline/readline.h>
@@ -40,9 +41,9 @@
 #define DN_MAXLEN      4096
 
 typedef struct {
-       char    *cmd;
-       int             (*func)();
-       char    *help_msg;
+       const char      *cmd;
+       int             (*func) (char **, int);
+       const char      *help_msg;
 } CMDTABLE;
 
 typedef enum {
@@ -76,15 +77,25 @@ int                 cmd_quit(char **cmdargv, int cmdargc);
 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]",
@@ -112,7 +123,7 @@ int bind_user(void)
 
 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++)
@@ -142,7 +153,7 @@ int cmd_list(char **cmdargv, int cmdargc)
        char            *dn      = NULL;
        int                     errflag  = 0;
        int                     i;
-       static char     *opts[]  = { "absolute" };
+       static const char *const opts[]  = { "absolute" };
        int                     relative = 1;
        LDAPMessage     *result;
 
@@ -190,7 +201,7 @@ int cmd_moveto(char **cmdargv, int cmdargc)
        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++) {
@@ -266,11 +277,11 @@ int cmd_search(char **cmdargv, int cmdargc)
        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++) {
@@ -325,10 +336,14 @@ int cmd_search(char **cmdargv, int cmdargc)
 
 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] == '-') {
@@ -380,10 +395,9 @@ int cmd_set(char **cmdargv, int cmdargc)
 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;
 
@@ -424,7 +438,7 @@ int cmd_show(char **cmdargv, int cmdargc)
        return 0;
 }
 
-display_search_results(LDAPMessage *result)
+void display_search_results(LDAPMessage *result)
 {
        BerElement      *cookie;
        int                     i;
@@ -435,7 +449,7 @@ display_search_results(LDAPMessage *result)
        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 */
@@ -600,7 +614,7 @@ int main(int argc, char **argv)
                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;
@@ -648,7 +662,6 @@ int main(int argc, char **argv)
 char *make_dn(char *dn, int relative)
 {
        static char     dn_buf[DN_MAXLEN];
-       char            *s;
 
        if (!dn)
                dn = "";
@@ -662,7 +675,7 @@ char *make_dn(char *dn, int relative)
        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);
 }
@@ -700,7 +713,7 @@ char *skip_whitespace(register char *s)
        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;