]> Chaos Git - corbenik/ctrulib.git/commitdiff
use switch for 'm' parameters
authorDave Murphy <davem@devkitpro.org>
Sat, 13 Dec 2014 02:24:24 +0000 (02:24 +0000)
committerDave Murphy <davem@devkitpro.org>
Sat, 13 Dec 2014 02:24:24 +0000 (02:24 +0000)
libctru/source/console.c

index 24946e178eab5cecf9dbb3b569ee5446dedb44cc..081473e51aa587f870d78dc493071e7c22f0387d 100644 (file)
@@ -300,22 +300,43 @@ ssize_t con_write(struct _reent *r,int fd,const char *ptr, size_t len) {
                                                        escapeseq += consumed;\r
                                                        escapelen -= consumed;\r
 \r
-                                                       if (parameter == 0 ) { //reset\r
+                                                       switch (parameter) {\r
+\r
+                                                       case 0: // reset\r
                                                                currentConsole->flags = 0;\r
                                                                currentConsole->bg    = 0;\r
                                                                currentConsole->fg    = 7;\r
-                                                       } else if (parameter == 7) { // reverse video\r
-                                                               currentConsole->flags |= CONSOLE_COLOR_REVERSE;\r
-                                                       } else if (parameter == 1) { // bright\r
-                                                               currentConsole->flags |= CONSOLE_COLOR_BOLD;\r
+                                                               break;\r
+\r
+                                                       case 1: // bold\r
                                                                currentConsole->flags &= ~CONSOLE_COLOR_FAINT;\r
-                                                       } else if (parameter == 2) { // half bright\r
+                                                               currentConsole->flags |= CONSOLE_COLOR_BOLD;\r
+                                                               break;\r
+\r
+                                                       case 2: // faint\r
                                                                currentConsole->flags &= ~CONSOLE_COLOR_BOLD;\r
                                                                currentConsole->flags |= CONSOLE_COLOR_FAINT;\r
-                                                       } else if (parameter >= 30 && parameter <= 37) { // writing color\r
+                                                               break;\r
+\r
+                                                       case 7: // reverse video\r
+                                                               currentConsole->flags |= CONSOLE_COLOR_REVERSE;\r
+                                                               break;\r
+\r
+                                                       case 30 ... 37: // writing color\r
                                                                currentConsole->fg = parameter - 30;\r
-                                                       } else if (parameter >= 40 && parameter <= 47) { // screen color\r
+                                                               break;\r
+\r
+                                                       case 39: // reset foreground color\r
+                                                               currentConsole->fg = 7;\r
+                                                               break;\r
+\r
+                                                       case 40 ... 47: // screen color\r
                                                                currentConsole->bg = parameter - 40;\r
+                                                               break;\r
+\r
+                                                       case 49: // reset background color\r
+                                                               currentConsole->fg = 0;\r
+                                                               break;\r
                                                        }\r
                                                } while (escapelen > 0);\r
 \r