X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/985e3d1e091b8be222876a311497df9d3d93f3b5..10d0e9152df283bd2a7a56db88c8d177354130dd:/Console.cpp diff --git a/Console.cpp b/Console.cpp index 0840ca5..209eef3 100644 --- a/Console.cpp +++ b/Console.cpp @@ -44,6 +44,8 @@ #endif #include +#include +#include #include #include @@ -58,10 +60,6 @@ #include #include -#include -#include -#include - #include #include "Display.hpp" @@ -240,7 +238,7 @@ static CYExpression *ParseExpression(CYUTF8String code) { static int client_; static char **Complete(const char *word, int start, int end) { - rl_attempted_completion_over = TRUE; + rl_attempted_completion_over = ~0; CYLocalPool pool; @@ -608,12 +606,7 @@ static void Console(CYOptions &options) { void InjectLibrary(pid_t pid); -int Main(int argc, char const * const argv[], char const * const envp[]) { - _aprcall(apr_initialize()); - - apr_pool_t *pool; - apr_pool_create(&pool, NULL); - +int Main(int argc, char * const argv[], char const * const envp[]) { bool tty(isatty(STDIN_FILENO)); bool compile(false); bool target(false); @@ -628,29 +621,35 @@ int Main(int argc, char const * const argv[], char const * const envp[]) { const char *host(NULL); const char *port(NULL); - apr_getopt_t *state; - _aprcall(apr_getopt_init(&state, pool, argc, argv)); + optind = 1; for (;;) { - int opt; - const char *arg; - - apr_status_t status(apr_getopt_long(state, (apr_getopt_option_t[]) { - {NULL, 'c', false, NULL}, - {NULL, 'g', true, NULL}, - {NULL, 'n', true, NULL}, + int option(getopt_long(argc, argv, + "c" + "g:" + "n:" #ifdef CY_ATTACH - {NULL, 'p', true, NULL}, + "p:" #endif - {NULL, 'r', true, NULL}, - {NULL, 's', false, NULL}, - {0, 0, 0, 0}}, &opt, &arg)); + "r:" + "s" + , (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)); - switch (status) { - case APR_EOF: + switch (option) { + case -1: goto getopt; - case APR_BADCH: - case APR_BADARG: + + case ':': + case '?': fprintf(stderr, "usage: cycript [-c]" #ifdef CY_ATTACH @@ -660,11 +659,7 @@ int Main(int argc, char const * const argv[], char const * const envp[]) { " [