git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 11/14] compat: add mempcpy()

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Mar 21, 2010, 00:43 UTC
Message-ID
<20100321004332.GF23888@progeny.tock>
In-Reply-To
<20100321002535.GA23681@progeny.tock>

The mempcpy() function was added in glibc 2.1. It is quite handy, so add an implementation for cross-platform use.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
From <http://thread.gmane.org/gmane.comp.version-control.git/142374/focus=142387>.
 git-compat-util.h |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/git-compat-util.h b/git-compat-util.h
index a3c4537..9bed5a0 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -331,6 +331,7 @@ extern int git_vsnprintf(char *str, size_t maxsize,
 #ifdef __GLIBC_PREREQ
 #if __GLIBC_PREREQ(2, 1)
 #define HAVE_STRCHRNUL
+#define HAVE_MEMPCPY
 #endif
 #endif
 
@@ -344,6 +345,14 @@ static inline char *gitstrchrnul(const char *s, int c)
 }
 #endif
 
+#ifndef HAVE_MEMPCPY
+#define mempcpy gitmempcpy
+static inline void *gitmempcpy(void *dest, const void *src, size_t n)
+{
+	return (char *)memcpy(dest, src, n) + n;
+}
+#endif
+
 extern void release_pack_memory(size_t, int);
 
 extern char *xstrdup(const char *str);
-- 
1.7.0.2
Previous: Jonathan NiederNext: Jonathan Nieder
Message 13 of 16 in “What's cooking in git.git (Mar 2010, #05; Sat, 20)”
  1. Junio C HamanoMar 20, 2010
  2. 0/14 jn/merge-diff3-labelJonathan Nieder, Mar 21, 2010
  3. 01/14 tests: document format of conflicts from checkout -mJonathan Nieder, Mar 21, 2010
  4. 02/14 tests: document cherry-pick behavior in face of conflictsJonathan Nieder, Mar 21, 2010
  5. 03/14 xdl_merge(): add optional ancestor label to diff3-style outputJonathan Nieder, Mar 21, 2010
  6. 04/14 xdl_merge(): move file1 and file2 labels to xmparam structureJonathan Nieder, Mar 21, 2010
  7. 05/14 merge-file --diff3: add a label for ancestorJonathan Nieder, Mar 21, 2010
  8. 06/14 ll_merge(): add ancestor label parameter for diff3-style outputJonathan Nieder, Mar 21, 2010
  9. 07/14 checkout --conflict=diff3: add a label for ancestorJonathan Nieder, Mar 21, 2010
  10. 08/14 merge_file(): add comment explaining behavior wrt conflict styleJonathan Nieder, Mar 21, 2010
  11. 09/14 merge_trees(): add ancestor label parameter for diff3-style outputJonathan Nieder, Mar 21, 2010
  12. 10/14 checkout -m --conflict=diff3: add a label for ancestorJonathan Nieder, Mar 21, 2010
  13. 11/14 compat: add mempcpy()Jonathan Nieder, Mar 21, 2010
  14. 12/14 revert: clarify label on conflict hunksJonathan Nieder, Mar 21, 2010
  15. 13/14 cherry-pick, revert: add a label for ancestorJonathan Nieder, Mar 21, 2010
  16. 14/14 merge-recursive: add a label for ancestorJonathan Nieder, Mar 21, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.