Changeset 24b8bbb for root_commands.c
- Timestamp:
- 2010-04-12T00:06:49Z (14 years ago)
- Branches:
- master
- Children:
- 89c11e7
- Parents:
- e21c0f8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
root_commands.c
re21c0f8 r24b8bbb 34 34 void root_command_string( irc_t *irc, char *command ) 35 35 { 36 char *cmd[IRC_MAX_ARGS]; 37 char *s; 38 int k; 39 char q = 0; 40 41 memset( cmd, 0, sizeof( cmd ) ); 42 cmd[0] = command; 43 k = 1; 44 for( s = command; *s && k < ( IRC_MAX_ARGS - 1 ); s ++ ) 45 if( *s == ' ' && !q ) 46 { 47 *s = 0; 48 while( *++s == ' ' ); 49 if( *s == '"' || *s == '\'' ) 50 { 51 q = *s; 52 s ++; 53 } 54 if( *s ) 55 { 56 cmd[k++] = s; 57 s --; 58 } 59 else 60 { 61 break; 62 } 63 } 64 else if( *s == '\\' && ( ( !q && s[1] ) || ( q && q == s[1] ) ) ) 65 { 66 char *cpy; 67 68 for( cpy = s; *cpy; cpy ++ ) 69 cpy[0] = cpy[1]; 70 } 71 else if( *s == q ) 72 { 73 q = *s = 0; 74 } 75 cmd[k] = NULL; 76 77 root_command( irc, cmd ); 36 root_command( irc, split_command_parts( command ) ); 78 37 } 79 38
Note: See TracChangeset
for help on using the changeset viewer.