Rev 1665 | Rev 1673 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1665 | Rev 1668 | ||
---|---|---|---|
1 | /// =========================================================== |
1 | /// =========================================================== |
2 | 2 | ||
3 | int executable_run(char cmd[], char args[]) |
3 | int executable_run(char cmd[], char args[]) |
4 | { |
4 | { |
5 | 5 | ||
6 | char exec[256]; |
6 | char exec[256]; |
7 | char error_starting[]={" No such command '%s'.\n\r"}; |
7 | #if LANG_ENG |
- | 8 | char error_starting[]={" No such command '%s'.\n\r"}; |
|
8 | int result; |
9 | #elif LANG_RUS |
- | 10 | char error_starting[]={" ¥ â ª®© ª®¬ ¤ë - '%s'.\n\r"}; |
|
- | 11 | #endif |
|
- | 12 | int result; |
|
9 | 13 | ||
10 | if ( '/' == cmd[0]) // åñëè ïóòü àáñîëáòíûé |
14 | if ( '/' == cmd[0]) // ¥á«¨ ¯ãâì ¡á®«¡âë© |
11 | { |
15 | { |
12 | strcpy(exec, cmd); |
16 | strcpy(exec, cmd); |
13 | 17 | ||
14 | if ( !file_check(exec) ) // ïðîâåðÿåì ñóùåñòâîâàíèå ôàéëà |
18 | if ( !file_check(exec) ) // ¯à®¢¥à塞 áãé¥á⢮¢ ¨¥ ä ©« |
15 | { |
19 | { |
16 | printf(error_starting, cmd); |
20 | printf(error_starting, cmd); |
17 | return FALSE; |
21 | return FALSE; |
18 | } |
22 | } |
19 | } |
23 | } |
20 | 24 | ||
21 | else |
25 | else |
22 | { |
26 | { |
23 | strcpy(exec, cur_dir); // ïðîâåðÿåì ôàéë â òåêóùåì êàòàëîãå |
27 | strcpy(exec, cur_dir); // ¯à®¢¥à塞 ä ©« ¢ ⥪ã饬 ª â «®£¥ |
24 | strcat(exec, cmd); |
28 | strcat(exec, cmd); |
25 | 29 | ||
26 | if ( !file_check(exec) ) // ïðîâåðÿåì ñóùåñòâîâàíèå ôàéëà |
30 | if ( !file_check(exec) ) // ¯à®¢¥à塞 áãé¥á⢮¢ ¨¥ ä ©« |
27 | { |
31 | { |
28 | strcpy(exec, "/rd/1/"); // ïðîâåðÿåì ôàéë íà âèðòóàëüíîì äèñêå |
32 | strcpy(exec, "/rd/1/"); // ¯à®¢¥à塞 ä ©« ¢¨àâ㠫쮬 ¤¨áª¥ |
29 | strcat(exec, cmd); |
33 | strcat(exec, cmd); |
30 | if ( !file_check(exec) ) // ïðîâåðÿåì ñóùåñòâîâàíèå ôàéëà |
34 | if ( !file_check(exec) ) // ¯à®¢¥à塞 áãé¥á⢮¢ ¨¥ ä ©« |
31 | { |
35 | { |
32 | printf(error_starting, cmd); |
36 | printf(error_starting, cmd); |
33 | return FALSE; |
37 | return FALSE; |
34 | } |
38 | } |
35 | } |
39 | } |
36 | } |
40 | } |
37 | 41 | ||
38 | 42 | ||
39 | if ( script_check(exec) ) |
43 | if ( script_check(exec) ) |
40 | { |
44 | { |
41 | return script_run(exec, args); |
45 | return script_run(exec, args); |
42 | } |
46 | } |
43 | 47 | ||
44 | /* çàïóñê ïðîãðàììû */ |
48 | /* § ¯ã᪠¯à®£à ¬¬ë */ |
45 | result = program_run(exec, args); |
49 | result = program_run(exec, args); |
46 | if (result > 0) |
50 | if (result > 0) |
47 | { |
51 | { |
48 | printf (" '%s' started. PID = %d\n\r", cmd, result); |
52 | #if LANG_ENG |
- | 53 | printf (" '%s' started. PID = %d\n\r", cmd, result); |
|
49 | return TRUE; |
54 | #elif LANG_RUS |
- | 55 | printf (" '%s' § ¯ãé¥. PID = %d\n\r", cmd, result); |
|
- | 56 | #endif |
|
- | 57 | return TRUE; |
|
50 | } |
58 | } |
51 | else |
59 | else |
52 | { |
60 | { |
53 | printf(error_starting, cmd); |
61 | printf(error_starting, cmd); |
54 | return FALSE; |
62 | return FALSE; |
55 | } |
63 | } |
56 | 64 | ||
57 | } |
65 | } |
58 | 66 | ||
59 | /// =========================================================== |
67 | /// =========================================================== |