printbuf.c revision 255332
1145519Sdarrenr/* $FreeBSD: head/contrib/ipfilter/lib/printbuf.c 255332 2013-09-06 23:11:19Z cy $ */ 2145510Sdarrenr 3145510Sdarrenr/* 4255332Scy * Copyright (C) 2012 by Darren Reed. 5145510Sdarrenr * 6145510Sdarrenr * See the IPFILTER.LICENCE file for details on licencing. 7145510Sdarrenr * 8255332Scy * $Id$ 9145510Sdarrenr */ 10145510Sdarrenr 11145510Sdarrenr#include <ctype.h> 12145510Sdarrenr 13145510Sdarrenr#include "ipf.h" 14145510Sdarrenr 15145510Sdarrenr 16255332Scyvoid 17255332Scyprintbuf(buf, len, zend) 18255332Scy char *buf; 19255332Scy int len, zend; 20145510Sdarrenr{ 21255332Scy char *s; 22255332Scy int c; 23145510Sdarrenr int i; 24145510Sdarrenr 25145510Sdarrenr for (s = buf, i = len; i; i--) { 26145510Sdarrenr c = *s++; 27255332Scy if (isprint(c)) 28145510Sdarrenr putchar(c); 29145510Sdarrenr else 30255332Scy PRINTF("\\%03o", c); 31145510Sdarrenr if ((c == '\0') && zend) 32145510Sdarrenr break; 33145510Sdarrenr } 34145510Sdarrenr} 35