kolibrios/programs/system/shell/modules/module_executable.c
Nasarus 4b4d896f8a Shell 0.4.5: Multilanguage, russification, some new commands (see History.txt for details)
git-svn-id: svn://kolibrios.org@1668 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-10-20 23:58:36 +00:00

69 lines
1.3 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/// ===========================================================
int executable_run(char cmd[], char args[])
{
char exec[256];
#if LANG_ENG
char error_starting[]={" No such command '%s'.\n\r"};
#elif LANG_RUS
char error_starting[]={" <20>¥ â ª®© ª®¬ ­¤ë - '%s'.\n\r"};
#endif
int result;
if ( '/' == cmd[0]) // ¥á«¨ ¯ãâì  ¡á®«¡â­ë©
{
strcpy(exec, cmd);
if ( !file_check(exec) ) // ¯à®¢¥à塞 áãé¥á⢮¢ ­¨¥ ä ©« 
{
printf(error_starting, cmd);
return FALSE;
}
}
else
{
strcpy(exec, cur_dir); // ¯à®¢¥à塞 ä ©« ¢ ⥪ã饬 ª â «®£¥
strcat(exec, cmd);
if ( !file_check(exec) ) // ¯à®¢¥à塞 áãé¥á⢮¢ ­¨¥ ä ©« 
{
strcpy(exec, "/rd/1/"); // ¯à®¢¥à塞 ä ©« ­  ¢¨àâã «ì­®¬ ¤¨áª¥
strcat(exec, cmd);
if ( !file_check(exec) ) // ¯à®¢¥à塞 áãé¥á⢮¢ ­¨¥ ä ©« 
{
printf(error_starting, cmd);
return FALSE;
}
}
}
if ( script_check(exec) )
{
return script_run(exec, args);
}
/* § ¯ã᪠¯à®£à ¬¬ë */
result = program_run(exec, args);
if (result > 0)
{
#if LANG_ENG
printf (" '%s' started. PID = %d\n\r", cmd, result);
#elif LANG_RUS
printf (" '%s' § ¯ã饭. PID = %d\n\r", cmd, result);
#endif
return TRUE;
}
else
{
printf(error_starting, cmd);
return FALSE;
}
}
/// ===========================================================