On Sun, May 24, 2009 at 09:44:53PM -0700, David Aguilar wrote: > diff --git a/path.c b/path.c > index 8a0a674..c2a0fb6 100644 > --- a/path.c > +++ b/path.c > @@ -140,6 +140,24 @@ int git_mkstemp(char *path, size_t len, const char *template) > } > > > +/* git_mkstemp() - create tmp file with suffix honoring TMPDIR variable */ > +int git_mkstemps(char *path, size_t len, const char *template, int suffix_len) > +{ > + const char *tmp; > + size_t n; > + > + tmp = getenv("TMPDIR"); > + if (!tmp) > + tmp = "/tmp"; > + n = snprintf(path, len, "%s/%s", tmp, template); > + if (len <= n) { > + errno = ENAMETOOLONG; > + return -1; > + } > + return mkstemps(path, suffix_len); > +} Lured by a mac. I came home and I tried it on linux: path.c:157: warning: implicit declaration of function ‘mkstemps’ Gah. Darn you OS X and your non-portable 4.4 BSD extensions. Sorry about that. The original patch could do without the strbuf_detach and free(), too. Being tricked by an OS X manpage like that is quite unpleasant. mkstemp() won't do since it doesn't work with suffixes (the templates must end with "XXXX"). I'm sure there has to be another way, but I just can't think of it right now. It seemed so easy at the time. Sigh... -- David -- 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