]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
libsmb: Reduce indentation in cli_RNetShareEnum()
authorVolker Lendecke <vl@samba.org>
Sun, 18 Aug 2024 18:19:56 +0000 (20:19 +0200)
committerVolker Lendecke <vl@samba.org>
Tue, 20 Aug 2024 09:34:40 +0000 (09:34 +0000)
Use a "goto done", review with "git show -b"

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/libsmb/clirap.c

index 8b461ac014042c380a29db74f552af9a9071a662..b43c32a20e95d8879669184fc0ef3403d3d0b8b3 100644 (file)
@@ -105,10 +105,12 @@ int cli_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, uint32_t,
 {
        char *rparam = NULL;
        char *rdata = NULL;
+       char *rdata_end = NULL;
        char *p;
        unsigned int rdrcnt,rprcnt;
        char param[1024];
        int count = -1;
+       int i, converter;
        bool ok;
        int res;
 
@@ -146,61 +148,61 @@ int cli_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, uint32_t,
 
        res = rparam? SVAL(rparam,0) : -1;
 
-       if (res == 0 || res == ERRmoredata) {
-               int converter=SVAL(rparam,2);
-               int i;
-               char *rdata_end = rdata + rdrcnt;
-
-               count=SVAL(rparam,4);
-               p = rdata;
-
-               for (i=0;i<count;i++,p+=20) {
-                       char *sname;
-                       int type;
-                       int comment_offset;
-                       const char *cmnt;
-                       const char *p1;
-                       char *s1, *s2;
-                       size_t len;
-                       TALLOC_CTX *frame = talloc_stackframe();
-
-                       if (p + 20 > rdata_end) {
-                               TALLOC_FREE(frame);
-                               break;
-                       }
+       if (!(res == 0 || res == ERRmoredata)) {
+               DEBUG(4,("NetShareEnum res=%d\n", res));
+               goto done;
+       }
 
-                       sname = p;
-                       type = SVAL(p,14);
-                       comment_offset = (IVAL(p,16) & 0xFFFF) - converter;
-                       if (comment_offset < 0 ||
-                           comment_offset > (int)rdrcnt) {
-                               TALLOC_FREE(frame);
-                               break;
-                       }
-                       cmnt = comment_offset?(rdata+comment_offset):"";
-
-                       /* Work out the comment length. */
-                       for (p1 = cmnt, len = 0; *p1 &&
-                                    p1 < rdata_end; len++)
-                               p1++;
-                       if (!*p1) {
-                               len++;
-                       }
-                       pull_string_talloc(frame,rdata,0,
-                                          &s1,sname,14,STR_ASCII);
-                       pull_string_talloc(frame,rdata,0,
-                                          &s2,cmnt,len,STR_ASCII);
-                       if (!s1 || !s2) {
-                               TALLOC_FREE(frame);
-                               continue;
-                       }
+       converter = SVAL(rparam,2);
+       rdata_end = rdata + rdrcnt;
+
+       count=SVAL(rparam,4);
+       p = rdata;
 
-                       fn(s1, type, s2, state);
+       for (i=0;i<count;i++,p+=20) {
+               char *sname;
+               int type;
+               int comment_offset;
+               const char *cmnt;
+               const char *p1;
+               char *s1, *s2;
+               size_t len;
+               TALLOC_CTX *frame = talloc_stackframe();
 
+               if (p + 20 > rdata_end) {
                        TALLOC_FREE(frame);
+                       break;
                }
-       } else {
-                       DEBUG(4,("NetShareEnum res=%d\n", res));
+
+               sname = p;
+               type = SVAL(p,14);
+               comment_offset = (IVAL(p,16) & 0xFFFF) - converter;
+               if (comment_offset < 0 ||
+                   comment_offset > (int)rdrcnt) {
+                       TALLOC_FREE(frame);
+                       break;
+               }
+               cmnt = comment_offset?(rdata+comment_offset):"";
+
+               /* Work out the comment length. */
+               for (p1 = cmnt, len = 0; *p1 &&
+                            p1 < rdata_end; len++)
+                       p1++;
+               if (!*p1) {
+                       len++;
+               }
+               pull_string_talloc(frame,rdata,0,
+                                  &s1,sname,14,STR_ASCII);
+               pull_string_talloc(frame,rdata,0,
+                                  &s2,cmnt,len,STR_ASCII);
+               if (!s1 || !s2) {
+                       TALLOC_FREE(frame);
+                       continue;
+               }
+
+               fn(s1, type, s2, state);
+
+               TALLOC_FREE(frame);
        }
 
 done: