2006-09-20 09:31:51 +08:00
|
|
|
/*
|
|
|
|
* Copyright 2006 Jon Loeliger
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef INTERPOLATE_H
|
|
|
|
#define INTERPOLATE_H
|
|
|
|
|
2006-09-26 05:19:00 +08:00
|
|
|
/*
|
|
|
|
* Convert a NUL-terminated string in buffer orig,
|
|
|
|
* performing substitutions on %-named sub-strings from
|
|
|
|
* the interpretation table.
|
|
|
|
*/
|
2006-09-20 09:31:51 +08:00
|
|
|
|
|
|
|
struct interp {
|
2007-03-07 09:44:17 +08:00
|
|
|
const char *name;
|
2006-09-20 09:31:51 +08:00
|
|
|
char *value;
|
|
|
|
};
|
|
|
|
|
2006-09-29 03:12:55 +08:00
|
|
|
extern void interp_set_entry(struct interp *table, int slot, const char *value);
|
2006-09-28 00:16:10 +08:00
|
|
|
extern void interp_clear_table(struct interp *table, int ninterps);
|
|
|
|
|
2007-06-11 15:34:54 +08:00
|
|
|
extern unsigned long interpolate(char *result, unsigned long reslen,
|
|
|
|
const char *orig,
|
|
|
|
const struct interp *interps, int ninterps);
|
2006-09-20 09:31:51 +08:00
|
|
|
|
|
|
|
#endif /* INTERPOLATE_H */
|