Hi, On Fri, Aug 15, 2008 at 06:27:00PM +0200, zhengda wrote: > [EMAIL PROTECTED] wrote:
>>> But isn't it always right to initialize a local variable to reduce >>> the possibility of getting bugs? >> >> It won't avoid bugs; only either cover them up, or (less likely) >> expose them more clearly -- depending on context... >> > Right, it cannot avoid bugs, but I believe it is more likely expose > the bugs in the program. It really depends on the context. In some cases -- if the pointer is dereferenced -- NULL will create an obvious failure, while some random uninitialized pointer might be harder to track down. In other cases -- if it's used as argument to realloc(), free() etc.; or if it's tested as a result from some other operation (getenv() in this case) -- NULL will be treated as perfectly valid, and not give any indication of failure at all! Thus I don't think it's good practice in general to initialize all pointers to NULL... > 2008-06-30 Zheng Da <[EMAIL PROTECTED]> > > * hurd/hurdsocks.c (_hurd_socket_server): Searches environment variables > for the socket server insteading of using the default one. > (SOCK_SERV_%d, SOCK_SERV): The environment variables that contains > the path of the socket server. As was pointed out by someone in the earlier discussion, we don't use the term "path" in this context. SOCK_SERV_%d contains a file name, SOCK_SERV a directory name. Perhaps you could just say "location" instead of "path"... (BTW, I still think that SOCK_SERV_DIR for the latter would be clearer... But I don't insist on this if you prefer it as is :-) ) > - socket_t server; > + socket_t server = MACH_PORT_NULL; This is not necessary anymore, as "server" will be always assigned, unless we error out earlier... > + char *np = NULL; Err... I thought it was obvious that what I said about initializing variables would also apply here... > + char *sock_servs = NULL; ...and here as well. > + if (__asprintf (&name, "SOCK_SERV_%d", domain) < 0) > + __libc_fatal ("hurd: Can't get the socket server path\n"); What happened to indentation here?! -antrik-