Skip to content

Commit e823762

Browse files
Use language names instead of IDs in error messages
1 parent cd3dbfe commit e823762

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

oif/dispatch.c

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@ static char OIF_DISPATCH_JULIA_SO[] = "liboif_dispatch_julia.so";
2424

2525
static const char *OIF_IMPL_ROOT_DIR;
2626

27+
static char *OIF_LANG_FROM_LANG_ID[] = {
28+
[OIF_LANG_C] = "C",
29+
[OIF_LANG_CXX] = "C++",
30+
[OIF_LANG_PYTHON] = "Python",
31+
[OIF_LANG_JULIA] = "Julia",
32+
[OIF_LANG_R] = "R",
33+
};
34+
2735
/**
2836
* Array of handles to the dynamically loaded libraries
2937
* for the language-specific dispatches.
@@ -225,9 +233,9 @@ unload_interface_impl(ImplHandle implh)
225233
DispatchHandle dh = impl_info->dh;
226234
if (OIF_DISPATCH_HANDLES[dh] == NULL) {
227235
fprintf(stderr,
228-
"[dispatch] Cannot unload interface implementation for language "
229-
"id: '%u'\n",
230-
dh);
236+
"[dispatch] Cannot unload interface implementation "
237+
"for language '%s'\n",
238+
OIF_LANG_FROM_LANG_ID[dh]);
231239
exit(EXIT_FAILURE);
232240
}
233241
void *lib_handle = OIF_DISPATCH_HANDLES[dh];
@@ -236,9 +244,9 @@ unload_interface_impl(ImplHandle implh)
236244
unload_impl_fn = dlsym(lib_handle, "unload_impl");
237245
if (unload_impl_fn == NULL) {
238246
fprintf(stderr,
239-
"[dispatch] Cannot find function 'unload_impl' for lang"
240-
"id: '%u'\n",
241-
dh);
247+
"[dispatch] Cannot find function 'unload_impl' "
248+
"for language '%s'\n",
249+
OIF_LANG_FROM_LANG_ID[dh]);
242250
return -1;
243251
}
244252
unload_impl_fn(impl_info);
@@ -256,9 +264,9 @@ call_interface_impl(ImplHandle implh, const char *method, OIFArgs *in_args, OIFA
256264
DispatchHandle dh = impl_info->dh;
257265
if (OIF_DISPATCH_HANDLES[dh] == NULL) {
258266
fprintf(stderr,
259-
"[dispatch] Cannot call interface implementation for language "
260-
"id: '%u'",
261-
dh);
267+
"[dispatch] Cannot call interface implementation "
268+
"for language '%s'\n",
269+
OIF_LANG_FROM_LANG_ID[dh]);
262270
exit(EXIT_FAILURE);
263271
}
264272
void *lib_handle = OIF_DISPATCH_HANDLES[dh];
@@ -268,8 +276,8 @@ call_interface_impl(ImplHandle implh, const char *method, OIFArgs *in_args, OIFA
268276
if (call_impl_fn == NULL) {
269277
fprintf(stderr,
270278
"[dispatch] Could not load function 'call_impl' "
271-
"for language id '%u'\n",
272-
dh);
279+
"for language '%s'\n",
280+
OIF_LANG_FROM_LANG_ID[dh]);
273281
return -1;
274282
}
275283
status = call_impl_fn(impl_info, method, in_args, out_args);

0 commit comments

Comments
 (0)