Annotation of mandoc/literals.c, Revision 1.2
1.2 ! kristaps 1: /* $Id: literals.c,v 1.1 2008/12/07 22:40:18 kristaps Exp $ */
1.1 kristaps 2: /*
3: * Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
4: *
5: * Permission to use, copy, modify, and distribute this software for any
6: * purpose with or without fee is hereby granted, provided that the
7: * above copyright notice and this permission notice appear in all
8: * copies.
9: *
10: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11: * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12: * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13: * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14: * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15: * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16: * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17: * PERFORMANCE OF THIS SOFTWARE.
18: */
19: #include <assert.h>
20: #include <string.h>
21: #include <stdlib.h>
22:
23: #include "libmdocml.h"
24: #include "private.h"
25: #include "ml.h"
26:
27:
28: char *
1.2 ! kristaps 29: ml_section(enum roffmsec sec)
! 30: {
! 31:
! 32: switch (sec) {
! 33: case(ROFF_MSEC_1):
! 34: return("1");
! 35: case(ROFF_MSEC_2):
! 36: return("2");
! 37: case(ROFF_MSEC_3):
! 38: return("3");
! 39: case(ROFF_MSEC_3p):
! 40: return("3p");
! 41: case(ROFF_MSEC_4):
! 42: return("4");
! 43: case(ROFF_MSEC_5):
! 44: return("5");
! 45: case(ROFF_MSEC_6):
! 46: return("6");
! 47: case(ROFF_MSEC_7):
! 48: return("7");
! 49: case(ROFF_MSEC_8):
! 50: return("8");
! 51: case(ROFF_MSEC_9):
! 52: return("9");
! 53: case(ROFF_MSEC_UNASS):
! 54: return("unass");
! 55: case(ROFF_MSEC_DRAFT):
! 56: return("draft");
! 57: case(ROFF_MSEC_PAPER):
! 58: return("paper");
! 59: default:
! 60: break;
! 61: }
! 62:
! 63: abort();
! 64: /* NOTREACHED */
! 65: }
! 66:
! 67:
! 68: char *
1.1 kristaps 69: ml_literal(int tok, const int *argc,
70: const char **argv, const char **morep)
71: {
72:
73: switch (tok) {
74: case (ROFF_Ex):
75: return ("The %s utility exits 0 on success, and "
76: ">0 if an error occurs.");
77: case (ROFF_Rv):
78: return ("The %s() function returns the value 0 if "
79: "successful; otherwise the value -1 "
80: "is returned and the global variable "
81: "<span class=\"inline-Va\">errno</span> "
82: "is set to indicate the error.");
83: case (ROFF_In):
84: return("#include <%s>");
85: case (ROFF_At):
86: /* FIXME: this should be in roff.c. */
87: assert(NULL == *argv);
88: assert(ROFF_ARGMAX == *argc);
89: if (NULL == *morep)
90: return("AT&T UNIX");
91: if (0 == strcmp(*morep, "v6"))
92: return("Version 6 AT&T UNIX");
93: else if (0 == strcmp(*morep, "v7"))
94: return("Version 7 AT&T UNIX");
95: else if (0 == strcmp(*morep, "32v"))
96: return("Version 32v AT&T UNIX");
97: else if (0 == strcmp(*morep, "V.1"))
98: return("AT&T System V.1 UNIX");
99: else if (0 == strcmp(*morep, "V.4"))
100: return("AT&T System V.4 UNIX");
101: abort();
102: /* NOTREACHED */
103: case (ROFF_St):
104: assert(ROFF_ARGMAX != *argc);
105: assert(NULL == *argv);
106: switch (*argc) {
107: case(ROFF_p1003_1_88):
108: return("IEEE Std 1003.1-1988 "
109: "(“POSIX”)");
110: case(ROFF_p1003_1_90):
111: return("IEEE Std 1003.1-1990 "
112: "(“POSIX”)");
113: case(ROFF_p1003_1_96):
114: return("ISO/IEC 9945-1:1996 "
115: "(“POSIX”)");
116: case(ROFF_p1003_1_2001):
117: return("IEEE Std 1003.1-2001 "
118: "(“POSIX”)");
119: case(ROFF_p1003_1_2004):
120: return("IEEE Std 1003.1-2004 "
121: "(“POSIX”)");
122: case(ROFF_p1003_1):
123: return("IEEE Std 1003.1 "
124: "(“POSIX”)");
125: case(ROFF_p1003_1b):
126: return("IEEE Std 1003.1b "
127: "(“POSIX”)");
128: case(ROFF_p1003_1b_93):
129: return("IEEE Std 1003.1b-1993 "
130: "(“POSIX”)");
131: case(ROFF_p1003_1c_95):
132: return("IEEE Std 1003.1c-1995 "
133: "(“POSIX”)");
134: case(ROFF_p1003_1g_2000):
135: return("IEEE Std 1003.1g-2000 "
136: "(“POSIX”)");
137: case(ROFF_p1003_2_92):
138: return("IEEE Std 1003.2-1992 "
139: "(“POSIX.2”)");
140: case(ROFF_p1387_2_95):
141: return("IEEE Std 1387.2-1995 "
142: "(“POSIX.7.2”)");
143: case(ROFF_p1003_2):
144: return("IEEE Std 1003.2 "
145: "(“POSIX.2”)");
146: case(ROFF_p1387_2):
147: return("IEEE Std 1387.2 "
148: "(“POSIX.7.2”)");
149: case(ROFF_isoC_90):
150: return("ISO/IEC 9899:1990 "
151: "(“ISO C90”)");
152: case(ROFF_isoC_amd1):
153: return("ISO/IEC 9899/AMD1:1995 "
154: "(“ISO C90”)");
155: case(ROFF_isoC_tcor1):
156: return("ISO/IEC 9899/TCOR1:1994 "
157: "(“ISO C90”)");
158: case(ROFF_isoC_tcor2):
159: return("ISO/IEC 9899/TCOR2:1995 "
160: "(“ISO C90”)");
161: case(ROFF_isoC_99):
162: return("ISO/IEC 9899:1999 "
163: "(“ISO C99”)");
164: case(ROFF_ansiC):
165: return("ANSI X3.159-1989 "
166: "(“ANSI C”)");
167: case(ROFF_ansiC_89):
168: return("ANSI X3.159-1989 "
169: "(“ANSI C”)");
170: case(ROFF_ansiC_99):
171: return("ANSI/ISO/IEC 9899-1999 "
172: "(“ANSI C99”)");
173: case(ROFF_ieee754):
174: return("IEEE Std 754-1985");
175: case(ROFF_iso8802_3):
176: return("ISO 8802-3: 1989");
177: case(ROFF_xpg3):
178: return("X/Open Portability Guide Issue 3 "
179: "(“XPG3”)");
180: case(ROFF_xpg4):
181: return("X/Open Portability Guide Issue 4 "
182: "(“XPG4”)");
183: case(ROFF_xpg4_2):
184: return("X/Open Portability Guide Issue 4.2 "
185: "(“XPG4.2”)");
186: case(ROFF_xpg4_3):
187: return("X/Open Portability Guide Issue 4.3 "
188: "(“XPG4.3”)");
189: case(ROFF_xbd5):
190: return("X/Open System Interface Definitions "
191: "Issue 5 (“XBD5”)");
192: case(ROFF_xcu5):
193: return("X/Open Commands and Utilities Issue 5 "
194: "(“XCU5”)");
195: case(ROFF_xsh5):
196: return("X/Open System Interfaces and Headers "
197: "Issue 5 (“XSH5”)");
198: case(ROFF_xns5):
199: return("X/Open Networking Services Issue 5 "
200: "(“XNS5”)");
201: case(ROFF_xns5_2d2_0):
202: return("X/Open Networking Services "
203: "Issue 5.2 Draft 2.0 "
204: "(“XNS5.2D2.0”)");
205: case(ROFF_xcurses4_2):
206: return("X/Open Curses Issue 4 Version 2 "
207: "(“XCURSES4.2”)");
208: case(ROFF_susv2):
209: return("Version 2 of the Single "
210: "UNIX Specification");
211: case(ROFF_susv3):
212: return("Version 3 of the Single "
213: "UNIX Specification");
214: case(ROFF_svid4):
215: return("System V Interface Definition, Fourth "
216: "Edition (“SVID4”)");
217: default:
218: break;
219: }
220: abort();
221: /* NOTREACHED */
222: case (ROFF_Bt):
223: return("is currently in beta test.");
224: case (ROFF_Ud):
225: return("currently under development.");
226: case (ROFF_Fx):
227: return("FreeBSD");
228: case (ROFF_Nx):
229: return("NetBSD");
230: case (ROFF_Ox):
231: return("OpenBSD");
232: case (ROFF_Ux):
233: return("UNIX");
234: case (ROFF_Bx):
235: return("BSD");
236: case (ROFF_Bsx):
237: return("BSDI BSD/OS");
238: default:
239: break;
240: }
241: abort();
242: /* NOTREACHED */
243: }
244:
CVSweb