From 429e46051dba814e7d6c74368eb1bba550222cbe Mon Sep 17 00:00:00 2001 From: Jonathan McCrohan Date: Thu, 1 Dec 2011 22:56:23 +0000 Subject: Imported Upstream version 1.4.8 --- lib/strbuf.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 lib/strbuf.c (limited to 'lib/strbuf.c') diff --git a/lib/strbuf.c b/lib/strbuf.c new file mode 100644 index 0000000..f7f48d3 --- /dev/null +++ b/lib/strbuf.c @@ -0,0 +1,58 @@ +/* ---------------------------------------------------------------------------- + libconfig - A library for processing structured configuration files + Copyright (C) 2005-2010 Mark A Lindner + + This file is part of libconfig. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation; either version 2.1 of + the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, see + . + ---------------------------------------------------------------------------- +*/ + +#include "strbuf.h" + +#include +#include + +#define STRING_BLOCK_SIZE 64 + +/* ------------------------------------------------------------------------- */ + +char *strbuf_release(strbuf_t *buf) +{ + char *r = buf->string; + memset(buf, 0, sizeof(strbuf_t)); + return(r); +} + +/* ------------------------------------------------------------------------- */ + +void strbuf_append(strbuf_t *buf, const char *text) +{ + static const size_t mask = ~(STRING_BLOCK_SIZE - 1); + size_t len = strlen(text); + size_t newlen = buf->length + len + 1; /* add 1 for NUL */ + + if(newlen > buf->capacity) + { + buf->capacity = (newlen + (STRING_BLOCK_SIZE - 1)) & mask; + buf->string = (char *)realloc(buf->string, buf->capacity); + } + + strcpy(buf->string + buf->length, text); + buf->length += len; +} + +/* ------------------------------------------------------------------------- */ +/* eof */ -- cgit v1.2.3 ca4b2b3143&showmsg=1&follow=1'>root/lcd4linux.conf.sample (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2008-03-03add keypad support for module lcm162michux2-1/+26
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@856 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2008-03-03add new driver (st2205) by Jeroen/Sprite_tmmichux6-2/+33
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@855 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2008-02-27add signal handler to plugin_mpdmichux2-14/+13
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@854 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2008-02-27plugin_mpd, update to v0.81, fix connection issuesmichux1-31/+53
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@853 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2008-02-25update mpd plugin to v0.8 - makefile needs some work nowmichux1-167/+201
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@852 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2008-01-28disable default emulator codemichux1-1/+1
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@851 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2008-01-28minor updatesmichux1-2/+8
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@850 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2008-01-28added pingpong scrollingmichux2-5/+53
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@849 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2008-01-24git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@848 ↵michux1-312/+402
3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-10-03automatic marquee patch from Manuel Grotmichael2-5/+13
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@845 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-10-01RDTSC delay and inclusion of asm/msr.h removedmichael5-258/+14
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@844 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-10-01driver for Pertelian display by Andy Powellmichael8-16/+387
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@843 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-09-15GPS plugin V0.3 by michumichael1-40/+143
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@842 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-09-15GPS plugin V0.2 by michumichael1-69/+267
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@841 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-09-09email address changedmichael107-109/+109
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@840 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-07-27Fix compilation with kernel 2.6.22 by Guillaume LECERFmichael1-1/+4
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@833 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-07-27MPD plugin patch from michumichael1-1/+22
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@832 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-07-27GPS plugin update by michumichael1-131/+248
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@831 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-07-27indentationmichael2-106/+108
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@830 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-21default for Brightness is 255volker1-1/+1
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@813 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-20LCD::brightness in drv_X11 correctedvolker1-2/+10
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@812 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-20global variable for backlight colorvolker1-0/+1
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@810 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-20keypad support completed; new property brightness implementedvolker1-40/+175
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@809 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-20maximum value for brightness is 8volker1-2/+2
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@808 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-17buttons for X11 driver (thanks to Volker Gering)michael1-8/+49
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@807 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-17Apple has no utsbuf.domainname (thanks to Volker Gering)michael1-1/+1
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@806 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-17strndup() replacementmichael1-0/+24
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@805 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-17better usage output by Volker Geringmichael1-4/+20
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@804 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-08Image driver libgd dependancy fixmichael5-6/+31
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@803 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-06-04big MPD patch from Robert Buchholzmichael1-79/+86
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@802 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-05-19gps plugin, code by michu / www.neophob.commichael7-0/+580
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@801 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-05-17compile error on m68k fixed (debian bug 405898)michael3-10/+170
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@799 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-05-04typo in LUIse driver fixedmichael1-1/+1
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@798 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-05-02some compiler warnings fixedmichael6-8/+14
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@797 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-04-30LCD4Linux-0.10.1-RC2michael1-1/+1
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@796 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-04-30ChangeLog updatedmichael1-1782/+3099
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@795 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
2007-04-30svn2cl moved and optimizedmichael1-6/+0
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@794 3ae390bd-cb1e-0410-b409-cd5a39f66f1f