-/* $Id: argv.c,v 1.28 2009/02/23 15:19:47 kristaps Exp $ */
+/* $Id: argv.c,v 1.29 2009/02/23 15:34:53 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
mdoc_argv(struct mdoc *mdoc, int line, int tok,
struct mdoc_arg *v, int *pos, char *buf)
{
- int i, ppos;
+ int i;
char *p;
(void)memset(v, 0, sizeof(struct mdoc_arg));
/* FIXME: whitespace if no value. */
- ppos = *pos;
if ( ! argv(mdoc, line, v, pos, buf))
return(ARGV_ERROR);
- /* $Id: mdocterm.c,v 1.6 2009/02/23 15:19:47 kristaps Exp $ */
+ /* $Id: mdocterm.c,v 1.7 2009/02/23 15:34:53 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
#include <stdlib.h>
#include <string.h>
-#ifdef __linux__
+#ifndef __OpenBSD__
#include <time.h>
#endif
#include "mmain.h"
#include "term.h"
+#ifdef __NetBSD__
+#define xisspace(x) isspace((int)(x))
+#else
+#define xisspace(x) isspace((x))
+#endif
+
enum termstyle {
STYLE_CLEAR,
STYLE_BOLD,
* Count up visible word characters. Control sequences
* (starting with the CSI) aren't counted.
*/
- assert( ! isspace(p->buf[i]));
+ assert( ! xisspace(p->buf[i]));
/* LINTED */
for (j = i, vsz = 0; j < p->col; j++) {
- if (isspace(p->buf[j]))
+ if (xisspace(p->buf[j]))
break;
else if (27 == p->buf[j]) {
assert(j + 4 <= p->col);
*/
for ( ; i < p->col; i++) {
- if (isspace(p->buf[i]))
+ if (xisspace(p->buf[i]))
break;
putchar(p->buf[i]);
}
/* LINTED */
for (j = i = 0; i < len; i++) {
- if ( ! isspace(word[i])) {
+ if ( ! xisspace(word[i])) {
j++;
continue;
}
tm = localtime(&meta->date);
-#ifdef __linux__
- if (0 == strftime(buf, p->rmargin, "%B %d, %Y", tm))
-#else
+#ifdef __OpenBSD__
if (NULL == strftime(buf, p->rmargin, "%B %d, %Y", tm))
+#else
+ if (0 == strftime(buf, p->rmargin, "%B %d, %Y", tm))
#endif
err(1, "strftime");
-/* $Id: mmain.h,v 1.3 2009/02/23 12:45:19 kristaps Exp $ */
+/* $Id: mmain.h,v 1.4 2009/02/23 15:34:53 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
#include "mdoc.h"
-#ifdef __linux__
-#define __dead /* Nothing */
+/* Rules for "dead" functions: */
+#if defined(__NetBSD__)
+#define dead_pre __dead
+#define dead_post __attribute__((__noreturn__))
+#elif defined(__OpenBSD__)
+#define dead_pre __dead
+#define dead_post /* Nothing. */
+#else
+#define dead_pre /* Nothing. */
+#define dead_post __attribute__((__noreturn__))
#endif
__BEGIN_DECLS
struct mmain;
struct mmain *mmain_alloc(void);
-#ifdef __linux__
-void mmain_exit(struct mmain *, int)
- __attribute__((__noreturn__));
-#else
-__dead void mmain_exit(struct mmain *, int);
-#endif
+dead_pre void mmain_exit(struct mmain *, int) dead_post;
int mmain_getopt(struct mmain *, int, char *[],
const char *, const char *, void *,
int (*)(void *, int, const char *));
-/* $Id: strings.c,v 1.14 2009/02/23 12:45:19 kristaps Exp $ */
+/* $Id: strings.c,v 1.15 2009/02/23 15:34:53 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-#ifdef __linux__
+#ifndef __OpenBSD__
#include <time.h>
#endif