#include <stdio.h>
#include <stdlib.h>
#include <linux/limits.h>
#include <unistd.h>
char * current_dir()
{
char *s
= malloc(PATH_MAX
* sizeof (*s
)); getcwd(s, PATH_MAX);
return s;
}
int main(int argc, char **argv)
{
char *s;
if (argc > 1)
s = *(argv + 1);
else
s = current_dir();
// problem here, don't know if memory should be freed
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGxpbnV4L2xpbWl0cy5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CgpjaGFyICogY3VycmVudF9kaXIoKQp7CgljaGFyICpzID0gbWFsbG9jKFBBVEhfTUFYICogc2l6ZW9mICgqcykpOwoJZ2V0Y3dkKHMsIFBBVEhfTUFYKTsKCXJldHVybiBzOwp9CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCnsKCWNoYXIgKnM7CglpZiAoYXJnYyA+IDEpCgkJcyA9ICooYXJndiArIDEpOwoJZWxzZQoJCXMgPSBjdXJyZW50X2RpcigpOwoKCXByaW50ZigiJXNcbiIsIHMpOwoJLy8gcHJvYmxlbSBoZXJlLCBkb24ndCBrbm93IGlmIG1lbW9yeSBzaG91bGQgYmUgZnJlZWQKCXJldHVybiAwOwp9Cg==