From 77e8708934c5c792b1435fa11dfe3c0a6f636a8c Mon Sep 17 00:00:00 2001 From: Ian C Date: Mon, 7 Mar 2016 15:00:21 +0000 Subject: Updated README and copied latest version in. --- src/varchar.h | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/varchar.h (limited to 'src/varchar.h') diff --git a/src/varchar.h b/src/varchar.h new file mode 100644 index 0000000..7dd15e3 --- /dev/null +++ b/src/varchar.h @@ -0,0 +1,79 @@ +/* + + casm - Simple, portable assembler + + Copyright (C) 2003-2015 Ian Cowburn (ianc@noddybox.demon.co.uk) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + ------------------------------------------------------------------------- + + Simple dynamic variable length string. + +*/ + +#ifndef CASM_VARCHAR_H +#define CASM_VARCHAR_H + +typedef struct varchar Varchar; + +/* ---------------------------------------- INTERFACES +*/ + +/* Create a new string. Initial contents set to pointer if not NULL. +*/ +Varchar *VarcharCreate(const char *initial); + + +/* Add a character to a string. Returns the passed Varchar. +*/ +Varchar *VarcharAddChar(Varchar *str, int c); + + +/* Add a string to the string. Returns the passed Varchar. +*/ +Varchar *VarcharAdd(Varchar *str, const char *c); + + +/* Adds a formatted string to the string. The formatted string must be less + than 1024 character or it will be truncated. Returns the passed Varchar. +*/ +Varchar *VarcharPrintf(Varchar *str, const char *fmt, ...); + + +/* Get the contents of a string, keeping ownership of it +*/ +const char *VarcharContents(Varchar *str); + + +/* Transfer the contents of a string, so that the returned string can be + freed. The Varchar container is destroyed and should not be used again. +*/ +char *VarcharTransfer(Varchar *str); + + +/* Clear a Varchar back to an empty string. +*/ +void VarcharClear(Varchar *str); + + +/* Release the string and the container. +*/ +void VarcharFree(Varchar *str); + +#endif + +/* +vim: ai sw=4 ts=8 expandtab +*/ -- cgit v1.2.3