Changeset c4ba74d
- Timestamp:
- Aug 21, 2008, 12:52:04 AM (16 years ago)
- Branches:
- master, debian, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- 38a7f22
- Parents:
- aef51f8
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
cmd.c
r34509d5 rc4ba74d 67 67 } 68 68 69 char *_owl_cmddict_execute(owl_cmddict *cd, owl_context *ctx, char **argv, int argc, char *buff) { 70 char *retval = NULL; 71 owl_cmd *cmd; 72 73 if (!strcmp(argv[0], "")) { 74 } else if (NULL != (cmd = (owl_cmd*)owl_dict_find_element(cd, argv[0]))) { 75 retval = owl_cmd_execute(cmd, cd, ctx, argc, argv, buff); 76 } else { 77 owl_function_makemsg("Unknown command '%s'.", buff); 78 } 79 return retval; 80 } 81 69 82 char *owl_cmddict_execute(owl_cmddict *cd, owl_context *ctx, char *cmdbuff) { 70 83 char **argv; … … 72 85 char *tmpbuff; 73 86 char *retval = NULL; 74 owl_cmd *cmd;75 87 76 88 tmpbuff=owl_strdup(cmdbuff); … … 85 97 if (argc < 1) return(NULL); 86 98 87 if (!strcmp(argv[0], "")) { 88 } else if (NULL != (cmd = (owl_cmd*)owl_dict_find_element(cd, argv[0]))) { 89 retval = owl_cmd_execute(cmd, cd, ctx, argc, argv, cmdbuff); 90 } else { 91 owl_function_makemsg("Unknown command '%s'.", cmdbuff); 92 } 99 retval = _owl_cmddict_execute(cd, ctx, argv, argc, cmdbuff); 100 93 101 owl_parsefree(argv, argc); 94 102 owl_free(tmpbuff); 95 103 sepbar(NULL); 104 return retval; 105 } 106 107 char *owl_cmddict_execute_argv(owl_cmddict *cd, owl_context *ctx, char **argv, int argc) { 108 char *buff, *ptr; 109 int len = 0, i; 110 char *retval = NULL; 111 112 for(i = 0; i < argc; i++) { 113 len += strlen(argv[i]) + 1; 114 } 115 116 ptr = buff = owl_malloc(len); 117 118 for(i = 0; i < argc; i++) { 119 strcpy(ptr, argv[i]); 120 ptr += strlen(argv[i]); 121 *(ptr++) = ' '; 122 } 123 *(ptr - 1) = 0; 124 125 retval = _owl_cmddict_execute(cd, ctx, argv, argc, buff); 126 127 owl_free(buff); 96 128 return retval; 97 129 } -
functions.c
r0504f63 rc4ba74d 25 25 return owl_cmddict_execute(owl_global_get_cmddict(&g), 26 26 owl_global_get_context(&g), cmdbuff); 27 } 28 29 char *owl_function_command_argv(char **argv, int argc) 30 { 31 return owl_cmddict_execute_argv(owl_global_get_cmddict(&g), 32 owl_global_get_context(&g), 33 argv, argc); 27 34 } 28 35 -
perlconfig.c
r0f9eca7 rc4ba74d 181 181 { 182 182 dSP ; 183 int count, len; 183 int count; 184 unsigned int len; 184 185 SV *msgref, *srv; 185 186 char *out, *preout; … … 457 458 if(SvTRUE(ERRSV)) { 458 459 owl_function_error("%s", SvPV(ERRSV, n_a)); 459 POPs;460 (void)POPs; 460 461 } else { 461 462 if(count != 1) -
perlglue.xs
racb13bb rc4ba74d 17 17 ************************************************************* 18 18 * These functions, when they are intended to be user-visible, 19 * are document in perlwrap.pm. If you add functions to this19 * are documented in perlwrap.pm. If you add functions to this 20 20 * file, add the appropriate documentation there! 21 21 * … … 33 33 34 34 char * 35 command(cmd )35 command(cmd, ...) 36 36 char *cmd 37 37 PREINIT: 38 38 char *rv = NULL; 39 CODE: 40 rv = owl_function_command(cmd); 41 RETVAL = rv; 39 char **argv; 40 int i; 41 CODE: 42 { 43 if (items == 1) { 44 rv = owl_function_command(cmd); 45 } else { 46 argv = owl_malloc((items + 1) * sizeof *argv); 47 argv[0] = cmd; 48 for(i = 1; i < items; i++) { 49 argv[i] = SvPV_nolen(ST(i)); 50 } 51 rv = owl_function_command_argv(argv, items); 52 owl_free(argv); 53 } 54 RETVAL = rv; 55 } 42 56 OUTPUT: 43 57 RETVAL
Note: See TracChangeset
for help on using the changeset viewer.