rem: TRACE(("user_copy_strings_array failed %d \n", err));
add: TRACE(("user_copy_strings_array failed %ld\n", err));
context: user_copy_strings_array(char * const *userStrings, int32 count, char ***_strings){	char buffer[SYS_THREAD_STRING_LENGTH_MAX];	char **strings;	status_t err;	int32 i = 0;	if (!IS_USER_ADDRESS(userStrings))		return B_BAD_ADDRESS;	strings = (char **)malloc((count + 1) * sizeof(char *));	if (strings == NULL)		return B_NO_MEMORY;	if ((err = user_memcpy(strings, userStrings, count * sizeof(char *))) < B_OK)		goto error;	// scan all strings and copy to kernel space	for (; i < count; i++) {		err = user_strlcpy(buffer, strings[i], SYS_THREAD_STRING_LENGTH_MAX);		if (err < B_OK)			goto error;		strings[i] = strdup(buffer);		if (strings[i] == NULL) {			err = B_NO_MEMORY;			goto error;		}	}	strings[count] = NULL;	*_strings = strings;	return B_OK;error:	free_strings_array(strings, i);	TRACE(("user_copy_strings_array failed %d \n", err));	return err;}