s3:net registry: polish output of net registry enumerate[_recursive]
authorMichael Adam <obnox@samba.org>
Mon, 30 May 2011 14:54:47 +0000 (16:54 +0200)
committerMichael Adam <obnox@samba.org>
Mon, 30 May 2011 15:42:27 +0000 (17:42 +0200)
so that net registry enumerate output is as before, and
net registry enumerate_recursive is formatted more nicely

source3/utils/net_registry.c

index 62d34184b08e54eb178ad30005c65319742d4161..961cfc15536ebecdeab9d5c24ad3e6b612eaa0fe 100644 (file)
@@ -138,17 +138,19 @@ static WERROR registry_enumkey(struct registry_key* parent, const char* keyname,
                goto done;
        }
 
-       printf("[%s]\n", key->key->name);
-
-       for (count = 0;
-            werr = reg_enumkey(ctx, key, count, &subkey_name, &modtime),
-            W_ERROR_IS_OK(werr);
-            count++)
-       {
-               print_registry_key(subkey_name, &modtime);
-       }
-       if (!W_ERROR_EQUAL(WERR_NO_MORE_ITEMS, werr)) {
-               goto done;
+       if (recursive) {
+               printf("[%s]\n\n", key->key->name);
+       } else {
+               for (count = 0;
+                    werr = reg_enumkey(ctx, key, count, &subkey_name, &modtime),
+                    W_ERROR_IS_OK(werr);
+                    count++)
+               {
+                       print_registry_key(subkey_name, &modtime);
+               }
+               if (!W_ERROR_EQUAL(WERR_NO_MORE_ITEMS, werr)) {
+                       goto done;
+               }
        }
 
        for (count = 0;
@@ -180,7 +182,9 @@ static WERROR registry_enumkey(struct registry_key* parent, const char* keyname,
        if (!W_ERROR_EQUAL(WERR_NO_MORE_ITEMS, werr)) {
                goto done;
        }
+
        werr = WERR_OK;
+
 done:
        TALLOC_FREE(ctx);
        return werr;