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