Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
att
GitHub Repository: att/ast
Path: blob/master/src/lib/libpp/pppragma.c
1808 views
1
/***********************************************************************
2
* *
3
* This software is part of the ast package *
4
* Copyright (c) 1986-2011 AT&T Intellectual Property *
5
* and is licensed under the *
6
* Eclipse Public License, Version 1.0 *
7
* by AT&T Intellectual Property *
8
* *
9
* A copy of the License is available at *
10
* http://www.eclipse.org/org/documents/epl-v10.html *
11
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
12
* *
13
* Information and Software Systems Research *
14
* AT&T Research *
15
* Florham Park NJ *
16
* *
17
* Glenn Fowler <[email protected]> *
18
* *
19
***********************************************************************/
20
#pragma prototyped
21
/*
22
* Glenn Fowler
23
* AT&T Research
24
*
25
* common preprocessor pragma handler
26
*/
27
28
#include "pplib.h"
29
30
void
31
pppragma(char* directive, char* pass, char* name, char* value, int newline)
32
{
33
register int sep = 0;
34
35
ppsync();
36
if (directive)
37
{
38
ppprintf("#%s", directive);
39
sep = 1;
40
}
41
if (pass)
42
{
43
if (sep)
44
{
45
sep = 0;
46
ppprintf(" ");
47
}
48
ppprintf("%s:", pass);
49
}
50
if (name)
51
{
52
if (sep)
53
ppprintf(" ");
54
else
55
sep = 1;
56
ppprintf("%s", name);
57
}
58
if (value)
59
{
60
if (sep || pass)
61
ppprintf(" ");
62
ppprintf("%s", value);
63
}
64
if (newline)
65
ppprintf("\n");
66
}
67
68