< prev index next >

src/jdk.pack/share/native/unpack200/main.cpp

Print this page
rev 50498 : 8199871: Deprecate pack200 and unpack200 tools
Reviewed-by:

*** 137,147 **** gunzip* gzin = NEW(gunzip, 1); gzin->init(u); } static const char* nbasename(const char* progname) { ! const char* slash = strrchr(progname, '/'); if (slash != null) progname = ++slash; return progname; } #define USAGE_HEADER "Usage: %s [-opt... | --option=value]... x.pack[.gz] y.jar\n" --- 137,147 ---- gunzip* gzin = NEW(gunzip, 1); gzin->init(u); } static const char* nbasename(const char* progname) { ! const char* slash = strrchr(progname, PATH_SEPARATOR); if (slash != null) progname = ++slash; return progname; } #define USAGE_HEADER "Usage: %s [-opt... | --option=value]... x.pack[.gz] y.jar\n"
*** 159,168 **** --- 159,175 ---- " -V, --version print program version\n" \ "\n" \ "Exit Status:\n" \ " 0 if successful, >0 if an error occurred\n" + #define DEPRECATE_WARNING \ + "\nWarning: The %s tool is deprecated, and is planned for removal in a future JDK release.\n\n" + + #define SUPPRESS_DEPRECATE_MSG "-XDsuppress-tool-removal-message" + + static bool suppress_warning = false; + static void usage(unpacker* u, const char* progname, bool full = false) { // WinMain does not set argv[0] to the progrname progname = (progname != null) ? nbasename(progname) : "unpack200"; fprintf(u->errstrm, USAGE_HEADER, progname);
*** 180,203 **** --- 187,218 ---- envargs.init(); if (env != null) { char* buf = (char*) strdup(env); const char* delim = "\n\t "; for (char* p = strtok(buf, delim); p != null; p = strtok(null, delim)) { + if (!strcmp(p, SUPPRESS_DEPRECATE_MSG)) { + suppress_warning = true; + } else { envargs.add(p); } } + } // allocate extra margin at both head and tail char** argp = NEW(char*, envargs.length()+argc+1); char** argp0 = argp; int i; for (i = 0; i < envargs.length(); i++) { *argp++ = (char*) envargs.get(i); } for (i = 1; i < argc; i++) { // note: skip argv[0] (program name) + if (!strcmp(argv[i], SUPPRESS_DEPRECATE_MSG)) { + suppress_warning = true; + } else { *argp++ = (char*) strdup(argv[i]); // make a scratch copy } + } *argp = null; // sentinel envargc = envargs.length(); // report this count to next_arg envargs.free(); return argp0; }
*** 291,300 **** --- 306,319 ---- char** argp = argbuf; int verbose = 0; char* logfile = null; + if (!suppress_warning) { + fprintf(u.errstrm, DEPRECATE_WARNING, nbasename(argv[0])); + } + for (;;) { const char* arg = (*argp == null)? "": u.saveStr(*argp); bool isenvarg = (argp < arg0); int ach = next_arg(argp); bool hasoptarg = (ach != 0 && strchr(string_opts, ach) != null);
< prev index next >