blob: 09f4cfe7d793b63325dd47d6a924cb2465cb883c [file] [log] [blame]
/* Copyright (c) 2014 Google Inc., All Rights Reserved.
* Kevin Klues <klueska@google.com>
* See LICENSE for details. */
#include <parlib/serialize.h>
#include <stdint.h>
#include <stdio.h>
int main(int argc, char **argv, char **envp)
{
struct serialized_data *sd = serialize_argv_envp(argv, envp);
size_t *kargc = (size_t*)sd->buf;
size_t *kenvc = (size_t*)(sd->buf + sizeof(size_t));
char **kargv = (char**)(sd->buf + 2*sizeof(size_t));
char **kenvp = (char**)(kargv + *kargc);
uintptr_t bufbase = (uintptr_t)(kenvp + *kenvc);
printf("argc: %lu\n", *kargc);
printf("envc: %lu\n", *kenvc);
for (int i = 0; i < *kargc; i++)
printf("argv[%d]: %s\n", i, kargv[i] + bufbase);
for (int i = 0; i < *kenvc; i++)
printf("envp[%d]: %s\n", i, kenvp[i] + bufbase);
free_serialized_data(sd);
return 0;
}