Subversion Repositories Kolibri OS

Rev

Rev 1665 | Rev 1673 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. /// ===========================================================
  3.  
  4. int executable_run(char cmd[], char args[])
  5. {
  6.  
  7. char            exec[256];
  8. #if LANG_ENG
  9.         char            error_starting[]={"  No such command '%s'.\n\r"};
  10. #elif LANG_RUS
  11.         char            error_starting[]={"  Не такой команды - '%s'.\n\r"};
  12. #endif
  13. int             result;
  14.  
  15. if ( '/' == cmd[0]) // если путь абсолбтный
  16.         {
  17.         strcpy(exec, cmd);
  18.  
  19.         if (  !file_check(exec) ) // проверяем существование файла
  20.                 {
  21.                 printf(error_starting, cmd);
  22.                 return FALSE;
  23.                 }
  24.         }
  25.  
  26. else
  27.         {
  28.         strcpy(exec, cur_dir); // проверяем файл в текущем каталоге
  29.         strcat(exec, cmd);
  30.        
  31.         if ( !file_check(exec) ) // проверяем существование файла
  32.                 {
  33.                 strcpy(exec, "/rd/1/"); // проверяем файл на виртуальном диске
  34.                 strcat(exec, cmd);
  35.                         if ( !file_check(exec) ) // проверяем существование файла
  36.                                 {
  37.                                 printf(error_starting, cmd);
  38.                                 return FALSE;
  39.                                 }
  40.                 }
  41.         }
  42.  
  43.  
  44. if ( script_check(exec) )
  45.         {
  46.         return script_run(exec, args);
  47.         }
  48.  
  49. /* запуск программы */
  50. result = program_run(exec, args);
  51. if (result > 0)
  52.         {
  53.         #if LANG_ENG
  54.                 printf ("  '%s' started. PID = %d\n\r", cmd, result);
  55.         #elif LANG_RUS
  56.                 printf ("  '%s' запущен. PID = %d\n\r", cmd, result);
  57.         #endif
  58.         return TRUE;
  59.         }
  60. else   
  61.         {
  62.         printf(error_starting, cmd);
  63.         return FALSE;
  64.         }
  65.  
  66. }
  67.  
  68. /// ===========================================================
  69.