On Tue, Nov 23, 2010 at 6:40 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > Erik Faye-Lund wrote: > >> --- a/compat/msvc.c >> +++ b/compat/msvc.c >> @@ -7,16 +7,13 @@ DIR *opendir(const char *name) >> { >> int len; >> DIR *p; >> - p = (DIR*)malloc(sizeof(DIR)); >> + p = xmalloc(sizeof(DIR)); >> memset(p, 0, sizeof(DIR)); >> strncpy(p->dd_name, name, PATH_MAX); >> len = strlen(p->dd_name); >> p->dd_name[len] = '/'; >> p->dd_name[len+1] = '*'; >> >> - if (p == NULL) >> - return NULL; > > A behavior change but maybe a good one. For example, the > prune_packed_objects() loop currently skips object dirs it can't open, > even if that is due to memory exhaustion, but this changes it to error > out. > > What is the motivation? > The motivation is just to avoid having to deal with the error, like we do other places. It's not a big deal though. I could also set errno to ENOMEM and return NULL if that's preferable. I just don't see how it is. I also slightly dislike setting an error not listed in POSIX' documentation of opendir, even though it's probably allowed. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html