Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | 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. char            error_starting[]={"  No such command '%s'.\n\r"};
  9. int             result;
  10.  
  11. if ( '/' == cmd[0]) // åñëè ïóòü àáñîëáòíûé
  12.         {
  13.         strcpy(exec, cmd);
  14.  
  15.         if (  !file_check(exec) ) // ïðîâåðÿåì ñóùåñòâîâàíèå ôàéëà
  16.                 {
  17.                 printf(error_starting, cmd);
  18.                 return FALSE;
  19.                 }
  20.         }
  21.  
  22. else
  23.         {
  24.         strcpy(exec, cur_dir); // ïðîâåðÿåì ôàéë â òåêóùåì êàòàëîãå
  25.         strcat(exec, cmd);
  26.        
  27.         if ( !file_check(exec) ) // ïðîâåðÿåì ñóùåñòâîâàíèå ôàéëà
  28.                 {
  29.                 strcpy(exec, "/rd/1/"); // ïðîâåðÿåì ôàéë íà âèðòóàëüíîì äèñêå
  30.                 strcat(exec, cmd);
  31.                         if ( !file_check(exec) ) // ïðîâåðÿåì ñóùåñòâîâàíèå ôàéëà
  32.                                 {
  33.                                 printf(error_starting, cmd);
  34.                                 return FALSE;
  35.                                 }
  36.                 }
  37.         }
  38.  
  39.  
  40. if ( script_check(exec) )
  41.         {
  42.         return script_run(exec, args);
  43.         }
  44.  
  45. /* çàïóñê ïðîãðàììû */
  46. result = program_run(exec, args);
  47. if (result > 0)
  48.         {
  49.         printf ("  '%s' started. PID = %d\n\r", cmd, result);
  50.         return TRUE;
  51.         }
  52. else   
  53.         {
  54.         printf(error_starting, cmd);
  55.         return FALSE;
  56.         }
  57.  
  58. }
  59.  
  60. /// ===========================================================
  61.