aboutsummaryrefslogtreecommitdiff
path: root/interpolate.h
blob: 77407e67dca97eb85274c69e2e7469e1d4d40b3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
 * Copyright 2006 Jon Loeliger
 */

#ifndef INTERPOLATE_H
#define INTERPOLATE_H

/*
 * Convert a NUL-terminated string in buffer orig,
 * performing substitutions on %-named sub-strings from
 * the interpretation table.
 */

struct interp {
	const char *name;
	char *value;
};

extern void interp_set_entry(struct interp *table, int slot, const char *value);
extern void interp_clear_table(struct interp *table, int ninterps);

extern unsigned long interpolate(char *result, unsigned long reslen,
				 const char *orig,
				 const struct interp *interps, int ninterps);

#endif /* INTERPOLATE_H */