append_history$ = (int (*)(int, const char *)) (dlsym(RTLD_DEFAULT, "append_history"));
-#ifdef CY_ATTACH
pid_t pid(_not(pid_t));
-#endif
const char *host(NULL);
const char *port(NULL);
"c"
"g:"
"n:"
-#ifdef CY_ATTACH
"p:"
-#endif
"r:"
"s"
, (const struct option[]) {
{NULL, no_argument, NULL, 'c'},
{NULL, required_argument, NULL, 'g'},
{NULL, required_argument, NULL, 'n'},
-#ifdef CY_ATTACH
{NULL, required_argument, NULL, 'p'},
-#endif
{NULL, required_argument, NULL, 'r'},
{NULL, no_argument, NULL, 's'},
{0, 0, 0, 0}}, NULL));
case '?':
fprintf(stderr,
"usage: cycript [-c]"
-#ifdef CY_ATTACH
" [-p <pid|name>]"
-#endif
" [-r <host:port>]"
" [<script> [<arg>...]]\n"
);
if (!target)
target = true;
else {
- fprintf(stderr, "only one of -[c"
-#ifdef CY_ATTACH
- "p"
-#endif
- "r] may be used at a time\n");
+ fprintf(stderr, "only one of -[cpr] may be used at a time\n");
return 1;
}
break;
}
break;
-#ifdef CY_ATTACH
case 'p': {
size_t size(strlen(optarg));
char *end;
}
}
} goto target;
-#endif
case 'r': {
//size_t size(strlen(optarg));
const char *script;
-#ifdef CY_ATTACH
if (pid != _not(pid_t) && argc > 1) {
fprintf(stderr, "-p cannot set argv\n");
return 1;
}
-#endif
if (argc == 0)
script = NULL;
CYSetArgs(argv0, script, argc, const_cast<const char **>(argv));
#endif
-#ifdef CY_ATTACH
if (remote_ == NULL && pid != _not(pid_t))
remote_ = new CYInjectRemote(pid);
-#endif
if (remote_ == NULL && host != NULL && port != NULL)
remote_ = new CYSocketRemote(host, port);