Changes in uspace/app/trace/trace.c [a000878c:1ccafee] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/trace/trace.c
ra000878c r1ccafee 585 585 } 586 586 587 static loader_t *preload_task(const char *path, char * *argv,587 static loader_t *preload_task(const char *path, char *const argv[], 588 588 task_id_t *task_id) 589 589 { … … 591 591 int rc; 592 592 593 /* Spawn a program loader */ 593 /* Spawn a program loader */ 594 594 ldr = loader_connect(); 595 595 if (ldr == NULL) … … 607 607 608 608 /* Send arguments */ 609 rc = loader_set_args(ldr, (const char **)argv);609 rc = loader_set_args(ldr, argv); 610 610 if (rc != EOK) 611 611 goto error; … … 870 870 } 871 871 872 static display_mask_t parse_display_mask(c onst char *text)872 static display_mask_t parse_display_mask(char *text) 873 873 { 874 874 display_mask_t dm; 875 const char *c = text; 876 875 char *c; 876 877 c = text; 878 877 879 while (*c) { 878 880 switch (*c) { 879 case 't': 880 dm = dm | DM_THREAD; 881 break; 882 case 's': 883 dm = dm | DM_SYSCALL; 884 break; 885 case 'i': 886 dm = dm | DM_IPC; 887 break; 888 case 'p': 889 dm = dm | DM_SYSTEM | DM_USER; 890 break; 881 case 't': dm = dm | DM_THREAD; break; 882 case 's': dm = dm | DM_SYSCALL; break; 883 case 'i': dm = dm | DM_IPC; break; 884 case 'p': dm = dm | DM_SYSTEM | DM_USER; break; 891 885 default: 892 886 printf("Unexpected event type '%c'.\n", *c); 893 887 exit(1); 894 888 } 895 889 896 890 ++c; 897 891 } 898 892 899 893 return dm; 900 894 } … … 902 896 static int parse_args(int argc, char *argv[]) 903 897 { 898 char *arg; 904 899 char *err_p; 905 900 906 901 task_id = 0; 907 902 908 --argc; 909 ++argv; 903 --argc; ++argv; 910 904 911 905 while (argc > 0) { 912 char *arg = *argv;906 arg = *argv; 913 907 if (arg[0] == '+') { 914 908 display_mask = parse_display_mask(&arg[1]); … … 916 910 if (arg[1] == 't') { 917 911 /* Trace an already running task */ 918 --argc; 919 ++argv; 912 --argc; ++argv; 920 913 task_id = strtol(*argv, &err_p, 10); 921 914 task_ldr = NULL; … … 934 927 break; 935 928 } 936 937 --argc; 938 ++argv; 929 930 --argc; ++argv; 939 931 } 940 932 941 933 if (task_id != 0) { 942 if (argc == 0) 943 return 0; 934 if (argc == 0) return 0; 944 935 printf("Extra arguments\n"); 945 936 print_syntax(); … … 955 946 /* Preload the specified program file. */ 956 947 printf("Spawning '%s' with arguments:\n", *argv); 957 958 char **cp = argv; 959 while (*cp) 960 printf("'%s'\n", *cp++); 961 948 { 949 char **cp = argv; 950 while (*cp) printf("'%s'\n", *cp++); 951 } 962 952 task_ldr = preload_task(*argv, argv, &task_id); 963 953 task_wait_for = true;
Note:
See TracChangeset
for help on using the changeset viewer.