because we know it is actually mutable or because we are passing
it to a function that doesn't accept a const object but won't
actually attempt to modify it - simply casting from (const type *)
to (type *) is legal C and clearly expresses the intent.
So get rid of the obfuscating UNCONST macro.
Basic idea discussed with guenther@.
-/* $OpenBSD: main.c,v 1.175 2016/07/15 18:49:53 schwarze Exp $ */
+/* $OpenBSD: main.c,v 1.176 2016/07/15 19:31:53 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2012, 2014-2016 Ingo Schwarze <schwarze@openbsd.org>
while (*arg) {
o = arg;
- switch (getsubopt(&arg, UNCONST(toks), &v)) {
+ switch (getsubopt(&arg, (char * const *)toks, &v)) {
case 0:
curp->wstop = 1;
break;
-/* $OpenBSD: main.h,v 1.20 2016/07/08 22:27:58 schwarze Exp $ */
+/* $OpenBSD: main.h,v 1.21 2016/07/15 19:31:53 schwarze Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#define UNCONST(a) ((void *)(uintptr_t)(const void *)(a))
-
struct roff_man;
struct manoutput;