summaryrefslogtreecommitdiff
path: root/interpolate.h
diff options
context:
space:
mode:
Diffstat (limited to 'interpolate.h')
-rw-r--r--interpolate.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/interpolate.h b/interpolate.h
new file mode 100644
index 0000000..77407e6
--- /dev/null
+++ b/interpolate.h
@@ -0,0 +1,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 */