Subversion Repositories Kolibri OS

Rev

Rev 1665 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. /// ===========================================================
  3.  
  4. int alias_check(char alias[])
  5. {
  6.  
  7. unsigned i;
  8. char buf1[256];
  9. char buf2[256];
  10.  
  11. if ( !alias_split (alias, buf1, buf2))
  12.         return FALSE;
  13.  
  14.  
  15. for (i = 0; i < NUM_OF_CMD; i++)
  16.         if ( !strcmp(COMMANDS[i].name, buf1) )
  17.                 return -1;
  18.  
  19. if (NULL == ALIASES)
  20.         return FALSE;
  21.  
  22. for (i = 0; i < ALIAS_NUM; i++)
  23.         {
  24.         if ( !strcmp(ALIASES+256*i, buf1) )
  25.                 return FALSE;
  26.         }
  27.  
  28. return TRUE;
  29. }
  30.  
  31. /// ===========================================================
  32.  
  33. int alias_search(char alias[])
  34. {
  35.  
  36. unsigned i;
  37.  
  38. for (i = 0; i < ALIAS_NUM; i++)
  39.         {
  40.         if ( !strcmp(ALIASES+256*i, alias) )
  41.                 return i;
  42.         }
  43.  
  44. return -1;
  45. }
  46.  
  47. /// ===========================================================
  48.  
  49. int alias_add(char alias[])
  50. {
  51.  
  52. char buf1[256];
  53. char buf2[256];
  54.  
  55. if ( ALIAS_NUM > 255)
  56.         return FALSE;
  57.  
  58. if ( !alias_split (alias, buf1, buf2))
  59.         return FALSE;
  60.  
  61. strcpy (ALIASES+256*ALIAS_NUM, buf1);
  62. strcpy (ALIASES+256*ALIAS_NUM+64*1024, buf2);
  63. ALIAS_NUM++;
  64.  
  65. return TRUE;
  66. }
  67.  
  68. /// ===========================================================
  69.  
  70. void alias_list()
  71. {
  72.  
  73. unsigned i;
  74.  
  75. if ( 0 == ALIAS_NUM)
  76.         return;
  77.  
  78. for (i = 0; i < ALIAS_NUM; i++)
  79.         printf ("  %s=%s\n\r",ALIASES+256*i, ALIASES+256*i+64*1024);
  80. }
  81.  
  82. /// ===========================================================
  83.  
  84. int alias_split (char alias[], char s1[], char s2[])
  85. {
  86.  
  87. unsigned i, j;
  88.  
  89. if (NULL == strchr(alias, '='))
  90.         return FALSE;
  91.  
  92. for (i=0, j = 0;; i++)
  93.         {
  94.         if ('=' == alias[i])
  95.                 {
  96.                 s1[i]='\0';
  97.                 break;
  98.                 }
  99.         s1[i]=alias[i];
  100.         }
  101.  
  102. j = 0;
  103.  
  104. for (;; i++, j++)
  105.         {
  106.         s2[j]=alias[i];
  107.         if ('\0' == alias[i])
  108.                 break;
  109.         }
  110.  
  111. trim(s1);
  112.  
  113. for (i=0;;i++)
  114.         {
  115.         s2[i] = s2[i+1];
  116.         if ('\0' == s2[i] )
  117.                 break;
  118.         }
  119.  
  120. trim(s2);
  121.  
  122. return TRUE;
  123.  
  124. }
  125.  
  126. /// ===========================================================
  127.  
  128.