]> Chaos Git - corbenik/ctrulib.git/commitdiff
intialise parameter, ignore unsupported escapes
authorDave Murphy <davem@devkitpro.org>
Sat, 13 Dec 2014 02:40:25 +0000 (02:40 +0000)
committerDave Murphy <davem@devkitpro.org>
Sat, 13 Dec 2014 02:40:25 +0000 (02:40 +0000)
libctru/source/console.c

index a6e4ce227b8869b2d8c852db4bc7bc1e822837a8..9dd3dfd7009042a08637cb77d8a41906f08dc236 100644 (file)
@@ -296,7 +296,10 @@ ssize_t con_write(struct _reent *r,int fd,const char *ptr, size_t len) {
                                                }\r
 \r
                                                do {\r
-                                                       if (strchr(escapeseq,';')) {\r
+                                                       parameter = 0;\r
+                                                       if (escapelen == 1) {\r
+                                                               consumed = 1;\r
+                                                       } else if (strchr(escapeseq,';')) {\r
                                                                sscanf(escapeseq,"%d;%n", &parameter, &consumed);\r
                                                        } else {\r
                                                                sscanf(escapeseq,"%dm%n", &parameter, &consumed);\r
@@ -347,6 +350,11 @@ ssize_t con_write(struct _reent *r,int fd,const char *ptr, size_t len) {
 \r
                                                escaping = false;\r
                                                break;\r
+\r
+                                       default:\r
+                                               // some sort of unsupported escape; just gloss over it\r
+                                               escaping = false;\r
+                                               break;\r
                                }\r
                        } while (escaping);\r
                        continue;\r