summaryrefslogtreecommitdiffstats
path: root/freebsd/contrib/pf/pfctl/pfctl_altq.c
diff options
context:
space:
mode:
authorChristian Mauderer <Christian.Mauderer@embedded-brains.de>2016-07-06 09:50:51 +0200
committerChristian Mauderer <Christian.Mauderer@embedded-brains.de>2016-08-02 10:21:51 +0200
commitc70221cb64185125b4fc97f9c2f15b6b4cf3cf3d (patch)
treef5f474b17bc57a04d29a45bd2d5dd4189612f407 /freebsd/contrib/pf/pfctl/pfctl_altq.c
parentpfctl: Match prototype. (diff)
downloadrtems-libbsd-c70221cb64185125b4fc97f9c2f15b6b4cf3cf3d.tar.bz2
pfctl: Add const and move static variables.
Note: This should be upstreamed into BSD. Make everything constant that can be constant and move static variables out of their functions.
Diffstat (limited to 'freebsd/contrib/pf/pfctl/pfctl_altq.c')
-rw-r--r--freebsd/contrib/pf/pfctl/pfctl_altq.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/freebsd/contrib/pf/pfctl/pfctl_altq.c b/freebsd/contrib/pf/pfctl/pfctl_altq.c
index 4fc225f1..71632770 100644
--- a/freebsd/contrib/pf/pfctl/pfctl_altq.c
+++ b/freebsd/contrib/pf/pfctl/pfctl_altq.c
@@ -1073,18 +1073,31 @@ sc_x2y(struct service_curve *sc, double x)
#define R2S_BUFS 8
#define RATESTR_MAX 16
+#ifdef __rtems__
+static char r2sbuf[R2S_BUFS][RATESTR_MAX]; /* ring bufer */
+static int r2sidx = 0;
+
+#endif /* __rtems__ */
char *
rate2str(double rate)
{
char *buf;
+#ifndef __rtems__
static char r2sbuf[R2S_BUFS][RATESTR_MAX]; /* ring bufer */
static int idx = 0;
+#endif /* __rtems__ */
int i;
static const char unit[] = " KMG";
+#ifndef __rtems__
buf = r2sbuf[idx++];
if (idx == R2S_BUFS)
idx = 0;
+#else /* __rtems__ */
+ buf = r2sbuf[r2sidx++];
+ if (r2sidx == R2S_BUFS)
+ r2sidx = 0;
+#endif /* __rtems__ */
for (i = 0; rate >= 1000 && i <= 3; i++)
rate /= 1000;