From: Johannes Schindelin Date: Wed, 11 Mar 2009 13:28:24 GMT Subject: Re: [PATCH v2] connect.c: remove a few globals by using git_config callback data Message-ID: In-Reply-To: <40aa078e0903110617g60e0d7d0x1e0d94e44ef89f40@mail.gmail.com> Hi, On Wed, 11 Mar 2009, Erik Faye-Lund wrote: > On Wed, Mar 11, 2009 at 12:52 PM, Johannes Schindelin > wrote: > >> @@ -383,6 +381,8 @@ static int git_proxy_command_options(const char *var, const char *value, > >>               const char *for_pos; > >>               int matchlen = -1; > >>               int hostlen; > >> +             const char *rhost_name = cb; > >> +             int rhost_len = strlen(rhost_name); > > > > I see that you still calculate the length everytime > > git_proxy_command_options() is called -- which is for every config > > variable. > > Actually, the length-calculation is now moved inside the check for > "core.gitproxy", so it should only trigger for each config variable > that is "core.gitproxy". Hopefully, this should usually be just once > ;) > > This change was suggested as a compromise by Junio. Ah, okay, I am lacking time to read all emails today, so I missed that one. > >> +     git_config(git_proxy_command_options, (void*)host); > > > > The (void *) should not be needed. > > Actually, it is - it casts away the const-ness of the string. Removing > the cast generates a warning on my installation of GCC. Perhaps I > should have made that clearer by casting to "char*" instead of > "void*"? Oh, that's why... Thanks for the clarification! Now only a space between the void and the star, and I am happy! Ciao, Dscho