Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: fusl/src/misc/fmtmsg.c

Issue 1714623002: [fusl] clang-format fusl (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: headers too Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* Public domain fmtmsg() 1 /* Public domain fmtmsg()
2 * Written by Isaac Dunham, 2014 2 * Written by Isaac Dunham, 2014
3 */ 3 */
4 #include <fmtmsg.h> 4 #include <fmtmsg.h>
5 #include <fcntl.h> 5 #include <fcntl.h>
6 #include <unistd.h> 6 #include <unistd.h>
7 #include <stdio.h> 7 #include <stdio.h>
8 #include <string.h> 8 #include <string.h>
9 #include <stdlib.h> 9 #include <stdlib.h>
10 #include <pthread.h> 10 #include <pthread.h>
11 11
12 /* 12 /*
13 * If lstr is the first part of bstr, check that the next char in bstr 13 * If lstr is the first part of bstr, check that the next char in bstr
14 * is either \0 or : 14 * is either \0 or :
15 */ 15 */
16 static int _strcolcmp(const char *lstr, const char *bstr) 16 static int _strcolcmp(const char* lstr, const char* bstr) {
17 { 17 size_t i = 0;
18 » size_t i = 0; 18 while (lstr[i] && bstr[i] && (bstr[i] == lstr[i]))
19 » while (lstr[i] && bstr[i] && (bstr[i] == lstr[i])) i++; 19 i++;
20 » if ( lstr[i] || (bstr[i] && bstr[i] != ':')) return 1; 20 if (lstr[i] || (bstr[i] && bstr[i] != ':'))
21 » return 0; 21 return 1;
22 return 0;
22 } 23 }
23 24
24 int fmtmsg(long classification, const char *label, int severity, 25 int fmtmsg(long classification,
25 const char *text, const char *action, const char *tag) 26 const char* label,
26 { 27 int severity,
27 » int ret = 0, i, consolefd, verb = 0; 28 const char* text,
28 » char *errstring = MM_NULLSEV, *cmsg = getenv("MSGVERB"); 29 const char* action,
29 » char *const msgs[] = { 30 const char* tag) {
30 » » "label", "severity", "text", "action", "tag", NULL 31 int ret = 0, i, consolefd, verb = 0;
31 » }; 32 char *errstring = MM_NULLSEV, *cmsg = getenv("MSGVERB");
32 » int cs; 33 char* const msgs[] = {"label", "severity", "text", "action", "tag", NULL};
34 int cs;
33 35
34 » pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs); 36 pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
35 37
36 » if (severity == MM_HALT) errstring = "HALT: "; 38 if (severity == MM_HALT)
37 » else if (severity == MM_ERROR) errstring = "ERROR: "; 39 errstring = "HALT: ";
38 » else if (severity == MM_WARNING) errstring = "WARNING: "; 40 else if (severity == MM_ERROR)
39 » else if (severity == MM_INFO) errstring = "INFO: "; 41 errstring = "ERROR: ";
42 else if (severity == MM_WARNING)
43 errstring = "WARNING: ";
44 else if (severity == MM_INFO)
45 errstring = "INFO: ";
40 46
41 » if (classification & MM_CONSOLE) { 47 if (classification & MM_CONSOLE) {
42 » » consolefd = open("/dev/console", O_WRONLY); 48 consolefd = open("/dev/console", O_WRONLY);
43 » » if (consolefd < 0) { 49 if (consolefd < 0) {
44 » » » ret = MM_NOCON; 50 ret = MM_NOCON;
45 » » } else { 51 } else {
46 » » » if (dprintf(consolefd, "%s%s%s%s%s%s%s%s\n", 52 if (dprintf(consolefd, "%s%s%s%s%s%s%s%s\n", label ? label : "",
47 » » » label?label:"", label?": ":"", 53 label ? ": " : "", severity ? errstring : "",
48 » » » severity?errstring:"", text?text:"", 54 text ? text : "", action ? "\nTO FIX: " : "",
49 » » » action?"\nTO FIX: ":"", 55 action ? action : "", action ? " " : "", tag ? tag : "") < 1)
50 » » » action?action:"", action?" ":"", 56 ret = MM_NOCON;
51 » » » tag?tag:"" )<1) 57 close(consolefd);
52 » » » » ret = MM_NOCON; 58 }
53 » » » close(consolefd); 59 }
54 » » }
55 » }
56 60
57 » if (classification & MM_PRINT) { 61 if (classification & MM_PRINT) {
58 » » while (cmsg && cmsg[0]) { 62 while (cmsg && cmsg[0]) {
59 » » » for(i=0; msgs[i]; i++) { 63 for (i = 0; msgs[i]; i++) {
60 » » » » if (!_strcolcmp(msgs[i], cmsg)) break; 64 if (!_strcolcmp(msgs[i], cmsg))
61 » » » } 65 break;
62 » » » if (msgs[i] == NULL) { 66 }
63 » » » » //ignore MSGVERB-unrecognized component 67 if (msgs[i] == NULL) {
64 » » » » verb = 0xFF; 68 // ignore MSGVERB-unrecognized component
65 » » » » break; 69 verb = 0xFF;
66 » » » } else { 70 break;
67 » » » » verb |= (1 << i); 71 } else {
68 » » » » cmsg = strchr(cmsg, ':'); 72 verb |= (1 << i);
69 » » » » if (cmsg) cmsg++; 73 cmsg = strchr(cmsg, ':');
70 » » » } 74 if (cmsg)
71 » » } 75 cmsg++;
72 » » if (!verb) verb = 0xFF; 76 }
73 » » if (dprintf(2, "%s%s%s%s%s%s%s%s\n", 77 }
74 » » (verb&1 && label) ? label : "", 78 if (!verb)
75 » » (verb&1 && label) ? ": " : "", 79 verb = 0xFF;
76 » » (verb&2 && severity) ? errstring : "", 80 if (dprintf(2, "%s%s%s%s%s%s%s%s\n", (verb & 1 && label) ? label : "",
77 » » (verb&4 && text) ? text : "", 81 (verb & 1 && label) ? ": " : "",
78 » » (verb&8 && action) ? "\nTO FIX: " : "", 82 (verb & 2 && severity) ? errstring : "",
79 » » (verb&8 && action) ? action : "", 83 (verb & 4 && text) ? text : "",
80 » » (verb&8 && action) ? " " : "", 84 (verb & 8 && action) ? "\nTO FIX: " : "",
81 » » (verb&16 && tag) ? tag : "" ) < 1) 85 (verb & 8 && action) ? action : "",
82 » » » ret |= MM_NOMSG; 86 (verb & 8 && action) ? " " : "",
83 » } 87 (verb & 16 && tag) ? tag : "") < 1)
84 » if ((ret & (MM_NOCON|MM_NOMSG)) == (MM_NOCON|MM_NOMSG)) 88 ret |= MM_NOMSG;
85 » » ret = MM_NOTOK; 89 }
90 if ((ret & (MM_NOCON | MM_NOMSG)) == (MM_NOCON | MM_NOMSG))
91 ret = MM_NOTOK;
86 92
87 » pthread_setcancelstate(cs, 0); 93 pthread_setcancelstate(cs, 0);
88 94
89 » return ret; 95 return ret;
90 } 96 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698