Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Add printf escapes
Baptiste Daroussin committed 14 years ago
commit f9750f78f07073d23eeea588ad3e5ec5d016901f
parent c2f253a5a84b303107ab0f8bb7726e0d8f3bdbd9
1 file changed +28 -0
modified pkg/query.c
@@ -141,6 +141,34 @@ format_str(struct pkg *pkg, struct sbuf *dest, const char *qstr, void *data)
				case 'G':
					sbuf_cat(dest, pkg_group_name((struct pkg_group *)data));
					break;
+
				case '%':
+
					sbuf_putc(dest, '%');
+
					break;
+
			}
+
		} else  if (qstr[0] == '\\') {
+
			qstr++;
+
			switch (qstr[0]) {
+
				case 'n':
+
					sbuf_putc(dest, '\n');
+
					break;
+
				case 'a':
+
					sbuf_putc(dest, '\a');
+
					break;
+
				case 'b':
+
					sbuf_putc(dest, '\b');
+
					break;
+
				case 'f':
+
					sbuf_putc(dest, '\f');
+
					break;
+
				case 'r':
+
					sbuf_putc(dest, '\r');
+
					break;
+
				case '\\':
+
					sbuf_putc(dest, '\\');
+
					break;
+
				case 't':
+
					sbuf_putc(dest, '\t');
+
					break;
			}
		} else {
			sbuf_putc(dest, qstr[0]);