labwc/include/common/buf.h

43 lines
762 B
C
Raw Permalink Normal View History

2021-11-13 21:56:53 +00:00
/* SPDX-License-Identifier: GPL-2.0-only */
/*
2020-08-03 20:56:38 +01:00
* Very simple C string buffer implementation
*
* Copyright Johan Malm 2020
*/
2020-08-03 20:56:38 +01:00
#ifndef __LABWC_BUF_H
#define __LABWC_BUF_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct buf {
char *buf;
int alloc;
int len;
};
/**
2021-10-13 21:30:44 +01:00
* buf_expand_shell_variables - expand $foo, ${foo} and ~ in buffer
* @s: buffer
2021-10-13 21:30:44 +01:00
* Note: $$ is not handled
*/
void buf_expand_shell_variables(struct buf *s);
2020-08-07 20:21:14 +01:00
/**
2020-08-03 20:56:38 +01:00
* buf_init - allocate NULL-terminated C string buffer
* @s: buffer
2021-10-13 21:30:44 +01:00
* Note: use free(s->buf) to free it
2020-08-03 20:56:38 +01:00
*/
void buf_init(struct buf *s);
2020-08-03 20:56:38 +01:00
2020-08-07 20:21:14 +01:00
/**
2020-08-03 20:56:38 +01:00
* buf_add - add data to C string buffer
* @s: buffer
* @data: data to be added
2020-08-03 20:56:38 +01:00
*/
void buf_add(struct buf *s, const char *data);
2020-08-03 20:56:38 +01:00
#endif /* __LABWC_BUF_H */