From 66f363f91eab9ae61e2cb11bc606b680634583ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Sat, 15 Jan 2011 23:26:06 +0100
Subject: [PATCH] Dynamic Buffer: Added abandon_buf().

---
 .gitattributes       | 1 -
 src/dynamic_buffer.c | 6 ++++++
 src/dynamic_buffer.h | 3 ++-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/.gitattributes b/.gitattributes
index 5d57699972..671f714005 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -295,7 +295,6 @@ testfont binary
 /src/dmalloc.h foreign_ident
 /src/docode.h foreign_ident
 /src/dumpmaster.pike foreign_ident
-/src/dynamic_buffer.h foreign_ident
 /src/dynamic_load.c foreign_ident
 /src/dynamic_load.h foreign_ident
 /src/encode.h foreign_ident
diff --git a/src/dynamic_buffer.c b/src/dynamic_buffer.c
index a1379d597d..152364849c 100644
--- a/src/dynamic_buffer.c
+++ b/src/dynamic_buffer.c
@@ -131,6 +131,12 @@ PMOD_EXPORT struct pike_string *debug_free_buf(dynamic_buffer *old_buf)
   return res;
 }
 
+PMOD_EXPORT void abandon_buf(dynamic_buffer *old_buf)
+{
+  toss_buffer(&pike_global_buffer);
+  pike_global_buffer = *old_buf;
+}
+
 PMOD_EXPORT char *make_buf_space(INT32 space)
 {
   return low_make_buf_space(space,&pike_global_buffer);
diff --git a/src/dynamic_buffer.h b/src/dynamic_buffer.h
index 130a9285e4..7c4239a008 100644
--- a/src/dynamic_buffer.h
+++ b/src/dynamic_buffer.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: dynamic_buffer.h,v 1.22 2008/07/16 01:08:05 mast Exp $
+|| $Id$
 */
 
 #ifndef DYNAMIC_BUFFER_H
@@ -41,6 +41,7 @@ PMOD_EXPORT struct pike_string *debug_low_free_buf(dynamic_buffer *buf);
 PMOD_EXPORT dynbuf_string complex_free_buf(dynamic_buffer *old_buf);
 PMOD_EXPORT char *simple_free_buf(dynamic_buffer *old_buf);
 PMOD_EXPORT struct pike_string *debug_free_buf(dynamic_buffer *old_buf);
+PMOD_EXPORT void abandon_buf(dynamic_buffer *old_buf);
 PMOD_EXPORT char *make_buf_space(INT32 space);
 PMOD_EXPORT void my_putchar(int b);
 PMOD_EXPORT void my_binary_strcat(const char *b, ptrdiff_t l);
-- 
GitLab