|
|
|
/*
|
|
|
|
* 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 */
|