Hi,
I added an MCA parameter and I want the user to apply an Hex value to
this parameter (0x...).
In order to do so I needed to change the 'atoi' call in the
mca_base_param.c file to 'strtol' call.
My question is: Can this code run on all platforms?
Index: opal/mca/base/mca_base_param.c
===================================================================
--- opal/mca/base/mca_base_param.c (revision 14391)
+++ opal/mca/base/mca_base_param.c (working copy)
@@ -1673,7 +1673,7 @@
if (NULL != param->mbp_env_var_name &&
NULL != (env = getenv(param->mbp_env_var_name))) {
if (MCA_BASE_PARAM_TYPE_INT == param->mbp_type) {
- storage->intval = atoi(env);
+ storage->intval = strtol(env,(char**)NULL,0);
} else if (MCA_BASE_PARAM_TYPE_STRING == param->mbp_type) {
storage->stringval = strdup(env);
}
@@ -1714,7 +1714,7 @@
if (0 == strcmp(fv->mbpfv_param, param->mbp_full_name)) {
if (MCA_BASE_PARAM_TYPE_INT == param->mbp_type) {
if (NULL != fv->mbpfv_value) {
- param->mbp_file_value.intval =
atoi(fv->mbpfv_value);
+ param->mbp_file_value.intval =
strtol(fv->mbpfv_value,(char**)NULL,0);
} else {
param->mbp_file_value.intval = 0;
}
Thanks.
Sharon.