0,0 → 1,133 |
|
/// =========================================================== |
|
int alias_check(char alias[]) |
{ |
|
unsigned i; |
char buf1[256]; |
char buf2[256]; |
|
if ( !alias_split (alias, buf1, buf2)) |
return FALSE; |
|
for (i = 0; i < NUM_OF_CMD; i++) |
if ( !strcmp(HELP_COMMANDS[i], buf1) ) |
return -1; |
|
if (NULL == ALIASES) |
ALIASES = malloc(128*1024); |
|
if (NULL == ALIASES) |
return FALSE; |
|
if ( 0 == ALIAS_NUM ) |
return FALSE; |
|
for (i = 0; i < ALIAS_NUM; i++) |
{ |
if ( !strcmp(ALIASES+256*i, buf1) ) |
return TRUE; |
} |
|
return FALSE; |
|
} |
|
|
/// =========================================================== |
|
int alias_search(char alias[]) |
{ |
|
unsigned i; |
|
for (i = 0; i < ALIAS_NUM; i++) |
{ |
if ( !strcmp(ALIASES+256*i, alias) ) |
return i; |
} |
|
return -1; |
} |
|
/// =========================================================== |
|
int alias_add(char alias[]) |
{ |
|
char buf1[256]; |
char buf2[256]; |
|
if ( ALIAS_NUM > 255) |
return FALSE; |
|
if ( !alias_split (alias, buf1, buf2)) |
return FALSE; |
|
strcpy (ALIASES+256*ALIAS_NUM, buf1); |
strcpy (ALIASES+256*ALIAS_NUM+64*1024, buf2); |
ALIAS_NUM++; |
|
return TRUE; |
} |
|
/// =========================================================== |
|
void alias_list() |
{ |
|
unsigned i; |
|
if ( 0 == ALIAS_NUM) |
return; |
|
for (i = 0; i < ALIAS_NUM; i++) |
printf (" %s=%s\n\r",ALIASES+256*i, ALIASES+256*i+64*1024); |
} |
|
/// =========================================================== |
|
int alias_split (char alias[], char s1[], char s2[]) |
{ |
|
unsigned i, j; |
|
if (NULL == strchr(alias, '=')) |
return FALSE; |
|
for (i=0, j = 0;; i++) |
{ |
if ('=' == alias[i]) |
{ |
s1[i]='\0'; |
break; |
} |
s1[i]=alias[i]; |
} |
|
j = 0; |
|
for (;; i++, j++) |
{ |
s2[j]=alias[i]; |
if ('\0' == alias[i]) |
break; |
} |
|
trim(s1); |
|
for (i=0;;i++) |
{ |
s2[i] = s2[i+1]; |
if ('\0' == s2[i] ) |
break; |
} |
|
trim(s2); |
|
return TRUE; |
|
} |
|
/// =========================================================== |