/* create_flat_tables() parses the env- and arg-strings in new user memory and creates the pointer tables from them, and puts their addresses on the "stack", returning the new stack pointer value.  */
static abi_ulong copy_strings(abi_ulong p, int n, char **s)
/* create_flat_tables() parses the env- and arg-strings in new user memory and creates the pointer tables from them, and puts their addresses on the "stack", returning the new stack pointer value.  */
static abi_ulong copy_strings(abi_ulong p, int n, char **s)
{
    int len;
    while (n-- > 0) {
        len = strlen(s[n]) + 1;
        p -= len;
        memcpy_to_target(p, s[n], len);
    }
    return p;
}