Changes in cmd.c [4d86e06:0a0fb74]
Legend:
- Unmodified
- Added
- Removed
-
cmd.c
r4d86e06 r0a0fb74 5 5 #include "owl.h" 6 6 7 extern owl_cmd commands_to_init[];7 extern const owl_cmd commands_to_init[]; 8 8 9 9 /**************************************************************************/ … … 23 23 24 24 /* for bulk initialization at startup */ 25 int owl_cmddict_add_from_list(owl_cmddict *cd, owl_cmd *cmds) {26 owl_cmd *cur;25 int owl_cmddict_add_from_list(owl_cmddict *cd, const owl_cmd *cmds) { 26 const owl_cmd *cur; 27 27 int ret = 0; 28 28 for (cur = cmds; cur->name != NULL; cur++) { … … 34 34 35 35 /* free the list with owl_cmddict_namelist_free */ 36 void owl_cmddict_get_names( owl_cmddict *d, owl_list *l) {36 void owl_cmddict_get_names(const owl_cmddict *d, owl_list *l) { 37 37 owl_dict_get_keys(d, l); 38 38 } 39 39 40 owl_cmd *owl_cmddict_find(owl_cmddict *d,char *name) {40 const owl_cmd *owl_cmddict_find(const owl_cmddict *d, const char *name) { 41 41 return owl_dict_find_element(d, name); 42 42 } … … 47 47 48 48 /* creates a new command alias */ 49 int owl_cmddict_add_alias(owl_cmddict *cd, c har *alias_from,char *alias_to) {49 int owl_cmddict_add_alias(owl_cmddict *cd, const char *alias_from, const char *alias_to) { 50 50 owl_cmd *cmd; 51 51 cmd = owl_malloc(sizeof(owl_cmd)); … … 55 55 } 56 56 57 int owl_cmddict_add_cmd(owl_cmddict *cd, owl_cmd * cmd) {57 int owl_cmddict_add_cmd(owl_cmddict *cd, const owl_cmd * cmd) { 58 58 owl_cmd * newcmd = owl_malloc(sizeof(owl_cmd)); 59 59 if(owl_cmd_create_from_template(newcmd, cmd) < 0) { … … 65 65 } 66 66 67 char *_owl_cmddict_execute( owl_cmddict *cd, owl_context *ctx, char **argv, int argc,char *buff) {67 char *_owl_cmddict_execute(const owl_cmddict *cd, const owl_context *ctx, const char *const *argv, int argc, const char *buff) { 68 68 char *retval = NULL; 69 owl_cmd *cmd;69 const owl_cmd *cmd; 70 70 71 71 if (!strcmp(argv[0], "")) { … … 78 78 } 79 79 80 char *owl_cmddict_execute( owl_cmddict *cd, owl_context *ctx,char *cmdbuff) {80 char *owl_cmddict_execute(const owl_cmddict *cd, const owl_context *ctx, const char *cmdbuff) { 81 81 char **argv; 82 82 int argc; … … 95 95 if (argc < 1) return(NULL); 96 96 97 retval = _owl_cmddict_execute(cd, ctx, argv, argc, cmdbuff);97 retval = _owl_cmddict_execute(cd, ctx, strs(argv), argc, cmdbuff); 98 98 99 99 owl_parsefree(argv, argc); … … 103 103 } 104 104 105 char *owl_cmddict_execute_argv( owl_cmddict *cd, owl_context *ctx, char **argv, int argc) {105 char *owl_cmddict_execute_argv(const owl_cmddict *cd, const owl_context *ctx, const char *const *argv, int argc) { 106 106 char *buff, *ptr; 107 107 int len = 0, i; … … 132 132 133 133 /* sets up a new command based on a template, copying strings */ 134 int owl_cmd_create_from_template(owl_cmd *cmd, owl_cmd *templ) {134 int owl_cmd_create_from_template(owl_cmd *cmd, const owl_cmd *templ) { 135 135 *cmd = *templ; 136 136 if (!templ->name) return(-1); … … 143 143 } 144 144 145 int owl_cmd_create_alias(owl_cmd *cmd, c har *name,char *aliased_to) {145 int owl_cmd_create_alias(owl_cmd *cmd, const char *name, const char *aliased_to) { 146 146 memset(cmd, 0, sizeof(owl_cmd)); 147 147 cmd->name = owl_strdup(name); … … 162 162 } 163 163 164 int owl_cmd_is_context_valid( owl_cmd *cmd,owl_context *ctx) {164 int owl_cmd_is_context_valid(const owl_cmd *cmd, const owl_context *ctx) { 165 165 if (owl_context_matches(ctx, cmd->validctx)) return 1; 166 166 else return 0; 167 167 } 168 168 169 char *owl_cmd_execute( owl_cmd *cmd, owl_cmddict *cd, owl_context *ctx, int argc, char **argv,char *cmdbuff) {169 char *owl_cmd_execute(const owl_cmd *cmd, const owl_cmddict *cd, const owl_context *ctx, int argc, const char *const *argv, const char *cmdbuff) { 170 170 static int alias_recurse_depth = 0; 171 171 int ival=0; 172 char *cmdbuffargs, *newcmd, *rv=NULL; 172 const char *cmdbuffargs; 173 char *newcmd, *rv=NULL; 173 174 174 175 if (argc < 1) return(NULL); … … 205 206 206 207 if (cmd->cmd_i_fn || cmd->cmd_ctxi_fn) { 207 c har *ep = "x";208 const char *ep = "x"; 208 209 if (argc != 2) { 209 210 owl_function_makemsg("Wrong number of arguments for %s command.", argv[0]); 210 211 return NULL; 211 212 } 212 ival = strtol(argv[1], &ep, 10);213 ival = strtol(argv[1], (char **)&ep, 10); 213 214 if (*ep || ep==argv[1]) { 214 215 owl_function_makemsg("Invalid argument '%s' for %s command.", argv[1], argv[0]); … … 237 238 238 239 /* returns a reference */ 239 c har *owl_cmd_get_summary(owl_cmd *cmd) {240 const char *owl_cmd_get_summary(const owl_cmd *cmd) { 240 241 return cmd->summary; 241 242 } 242 243 243 244 /* returns a summary line describing this keymap. the caller must free. */ 244 char *owl_cmd_describe( owl_cmd *cmd) {245 char *owl_cmd_describe(const owl_cmd *cmd) { 245 246 char *s; 246 247 int slen; … … 254 255 255 256 256 void owl_cmd_get_help(owl_cmddict *d, char *name, owl_fmtext *fm) { 257 char *indent, *s; 257 void owl_cmd_get_help(const owl_cmddict *d, const char *name, owl_fmtext *fm) { 258 const char *s; 259 char *indent; 258 260 owl_cmd *cmd; 259 261
Note: See TracChangeset
for help on using the changeset viewer.