Skip to content

Commit cf734c2

Browse files
committed
fix c_example
Change-Id: I50294fdce75b3e320fbc6478fb7ad67d4a038aec
1 parent 0b9dfce commit cf734c2

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

examples/c_example.c

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ int main(int argc, const char *argv[])
4343
int i,a[100],b[100],c[100];
4444
uint32_t total = 0;
4545
int lcore_id;
46+
int numEvents = argc - 1;
4647

4748
/* Seed for predictable rand() results */
4849
srand(0);
@@ -80,22 +81,17 @@ int main(int argc, const char *argv[])
8081
PCM.pcm_c_get_cycles == NULL || PCM.pcm_c_get_instr == NULL ||
8182
PCM.pcm_c_build_core_event == NULL || PCM.pcm_c_get_core_event == NULL)
8283
return -1;
83-
switch(argc-1)
84-
{
85-
case 4:
86-
PCM.pcm_c_build_core_event(3,argv[3]);
87-
case 3:
88-
PCM.pcm_c_build_core_event(2,argv[2]);
89-
case 2:
90-
PCM.pcm_c_build_core_event(1,argv[2]);
91-
case 1:
92-
PCM.pcm_c_build_core_event(0,argv[1]);
93-
case 0:
94-
break;
95-
default:
96-
printf("Number of arguments are too many! exit...\n");
97-
return -2;
98-
}
84+
85+
if (numEvents > 4)
86+
{
87+
printf("Number of arguments are too many! exit...\n");
88+
return -2;
89+
}
90+
91+
for (int i = 0; i < numEvents; ++i)
92+
{
93+
PCM.pcm_c_build_core_event(i, argv[i+1]);
94+
}
9995

10096
printf("[c_example] Initializing PCM measurements:\n");
10197
PCM.pcm_c_init();

0 commit comments

Comments
 (0)