From 1bbe31fe89c82c6acf2a8c006d366016f4833ff1 Mon Sep 17 00:00:00 2001 From: schmidt Date: Thu, 7 Nov 2002 06:51:47 +0000 Subject: ChangeLogTag:Wed Nov 6 18:55:22 2002 Steve Huston --- TAO/ChangeLog | 6 ++++++ TAO/utils/nslist/nsadd.cpp | 46 +++++++++++++++++++++++++++++++++++++++------- THANKS | 3 +-- 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/TAO/ChangeLog b/TAO/ChangeLog index c3801bedd4d..fdc84df7cc8 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,9 @@ +Wed Nov 6 20:09:14 2002 Douglas C. Schmidt + + * utils/nslist/nsadd.cpp: Enhanced the utilty so that it can add arbitrary + paths to Naming Service entries. Thanks to Paul Caffrey + for this fix. + Thu Nov 7 06:44:12 UTC 2002 Johnny Willemsen * orbsvcs/tests/Makefile.bor: diff --git a/TAO/utils/nslist/nsadd.cpp b/TAO/utils/nslist/nsadd.cpp index 1e2626d91a6..a06ce5004fa 100644 --- a/TAO/utils/nslist/nsadd.cpp +++ b/TAO/utils/nslist/nsadd.cpp @@ -13,6 +13,7 @@ // // = AUTHOR // Carlos O'Ryan +// enhanced Nov 6, 2002 Paul Caffrey // // ================================================================ @@ -39,7 +40,7 @@ main (int argc, char *argv[]) int rebind = 0; while (argc > 0) { - if (strcmp(*argv, "--ior") == 0) + if (strcmp (*argv, "--ior") == 0) { if (argc == 1) { @@ -51,7 +52,7 @@ main (int argc, char *argv[]) argv++; ior = *argv; } - else if (strcmp(*argv, "--name") == 0) + else if (strcmp (*argv, "--name") == 0) { if (argc == 1) { @@ -63,11 +64,11 @@ main (int argc, char *argv[]) argv++; name = *argv; } - else if (strcmp(*argv, "--rebind") == 0) + else if (strcmp (*argv, "--rebind") == 0) { rebind = 1; } - else if (strncmp(*argv, "--", 2) == 0) + else if (strncmp (*argv, "--", 2) == 0) { ACE_DEBUG ((LM_DEBUG, "Usage: %s --name " @@ -102,10 +103,39 @@ main (int argc, char *argv[]) "Error: nil naming context\n")); return 1; } + //printf (" make a copy\n"); + char buf[BUFSIZ]; + strcpy (buf, name); + char *bp = &buf[0]; + char *cp = 0; + int ntoks = 0; + char *toks[20]; + while ((cp = strtok (bp, "/")) != 0) + { + toks[ntoks] = cp; + ntoks++; + if (cp == 0) + break; + bp = 0; // way strtok works + } + + // now assign name = toks[ntoks] + char lastname[BUFSIZ]; + strcpy (lastname, toks[ntoks-1]); + // search for '.' in name; if exists then the part after '.' is the kind + char *kind = strchr (lastname, '.'); + if (kind != 0) + { + *kind = 0; + kind++; + } + + ACE_TRY_CHECK; + CosNaming::Name the_name (ntoks); + the_name.length (ntoks); + for (i=0; irebind (the_name, obj.in () ACE_ENV_ARG_PARAMETER); @@ -127,3 +157,5 @@ main (int argc, char *argv[]) return 0; } + + diff --git a/THANKS b/THANKS index a3eff7d135b..290e384303c 100644 --- a/THANKS +++ b/THANKS @@ -1061,7 +1061,7 @@ John Buckman Guy Rosen Bennett R. Stabile -Paul Caffrey +Paul Caffrey Low Aik long Michael Rinne Jaffar Shaikh @@ -1548,7 +1548,6 @@ Colin Weaver Kew Whitney Sean Ogle Tim Bradley -Denginere Kier Schmitt George Varsamis Alan Tanga -- cgit v1.2.1