compat: provide a fallback va_copy definition

va_copy is C99.  We have avoided using va_copy many times in the past,
which has led to a bunch of cut-and-paste.  From everything I found
searching the web, implementations have historically either provided
va_copy or just let your code assume that simple assignment of worked.

So my guess is that this will be sufficient, though we won't really
know for sure until somebody reports a problem.

Signed-off-by: Jeff King <peff@peff.net>
Improved-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2011-02-25 23:08:25 -06:00 коммит произвёл Junio C Hamano
Родитель 046613c546
Коммит ab8632ae36
2 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -9,7 +9,6 @@
#define inline __inline
#define __inline__ __inline
#define __attribute__(x)
#define va_copy(dst, src) ((dst) = (src))
#define strncasecmp _strnicmp
#define ftruncate _chsize

Просмотреть файл

@ -535,6 +535,10 @@ void git_qsort(void *base, size_t nmemb, size_t size,
#define fstat_is_reliable() 1
#endif
#ifndef va_copy
#define va_copy(dst,src) (dst) = (src)
#endif
/*
* Preserves errno, prints a message, but gives no warning for ENOENT.
* Always returns the return value of unlink(2).