void pscom_info_set_int(const char *path, int value) { if (!pslib.info || !pslib.psinfo_set) return; char buf[16]; snprintf(buf, sizeof(buf), "%d", value); pscom_info_set(path, buf); }
void pscom_info_set_size_t(const char *path, size_t value) { if (!pslib.info || !pslib.psinfo_set) return; char buf[32]; snprintf(buf, sizeof(buf), "%zu", value); pscom_info_set(path, buf); }
void pscom_env_get_str(char **val, const char *name) { char *aval; aval = pscom_env_get(name); if (aval) { *val = aval; DPRINT(1, "set %s = %s", name, *val); } else { DPRINT(2, "default %s = %s", name, *val ? *val : "<null>"); } pscom_info_set(name, *val); }
void pscom_env_get_dir(char **val, const char *name) { char *aval; aval = pscom_env_get(name); if (aval) { unsigned int len = strlen(aval); if (len && (aval[len-1] != '/')) { // append a '/' *val = malloc(len + 2); strcpy(*val, aval); strcat(*val,"/"); } else { *val = strdup(aval); } DPRINT(1, "set %s = %s", name, *val); } else { DPRINT(2, "default %s = %s", name, *val ? *val : "<null>"); } pscom_info_set(name, *val); }