diff options
author | Daniel Stenberg <daniel@haxx.se> | 2005-06-01 13:07:37 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2005-06-01 13:07:37 +0000 |
commit | c95319f6fd456d1b5771c466421e1b2038a06c7c (patch) | |
tree | 5ddb443f4b1b9635da6950112a1acf400dfb2994 /apps | |
parent | e6910760b15a14d1ac4366ad3c8af41bba234b0f (diff) | |
download | rockbox-c95319f6fd456d1b5771c466421e1b2038a06c7c.tar.gz rockbox-c95319f6fd456d1b5771c466421e1b2038a06c7c.zip |
Added logfdump - that writes the internal logf log to .rockbox/logf.txt
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6545 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/debug_menu.c | 1 | ||||
-rw-r--r-- | apps/logfdisp.c | 38 | ||||
-rw-r--r-- | apps/logfdisp.h | 1 | ||||
-rw-r--r-- | apps/main_menu.c | 1 |
4 files changed, 41 insertions, 0 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index 5f4e67f537..b861e80ad6 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c | |||
@@ -2050,6 +2050,7 @@ bool debug_menu(void) | |||
2050 | #endif | 2050 | #endif |
2051 | #ifdef ROCKBOX_HAS_LOGF | 2051 | #ifdef ROCKBOX_HAS_LOGF |
2052 | {"logf", logfdisplay }, | 2052 | {"logf", logfdisplay }, |
2053 | {"logfdump", logfdump }, | ||
2053 | #endif | 2054 | #endif |
2054 | }; | 2055 | }; |
2055 | 2056 | ||
diff --git a/apps/logfdisp.c b/apps/logfdisp.c index 36c4997aa8..e3aa29fb76 100644 --- a/apps/logfdisp.c +++ b/apps/logfdisp.c | |||
@@ -19,6 +19,8 @@ | |||
19 | #include "config.h" | 19 | #include "config.h" |
20 | 20 | ||
21 | #ifdef ROCKBOX_HAS_LOGF | 21 | #ifdef ROCKBOX_HAS_LOGF |
22 | #include <file.h> | ||
23 | #include <sprintf.h> | ||
22 | #include <timefuncs.h> | 24 | #include <timefuncs.h> |
23 | #include <string.h> | 25 | #include <string.h> |
24 | #include <kernel.h> | 26 | #include <kernel.h> |
@@ -85,4 +87,40 @@ bool logfdisplay(void) | |||
85 | } | 87 | } |
86 | #endif /* HAVE_LCD_BITMAP */ | 88 | #endif /* HAVE_LCD_BITMAP */ |
87 | 89 | ||
90 | /* Store the logf log to logf.txt in the .rockbox directory. The order of the | ||
91 | * entries will be "reversed" so that the most recently logged entry is on the | ||
92 | * top of the file */ | ||
93 | bool logfdump(void) | ||
94 | { | ||
95 | int fd; | ||
96 | |||
97 | if(!logfindex && !logfwrap) | ||
98 | /* nothing is logged just yet */ | ||
99 | return false; | ||
100 | |||
101 | fd = open("/.rockbox/logf.txt", O_CREAT|O_WRONLY); | ||
102 | if(-1 != fd) { | ||
103 | unsigned char buffer[17]; | ||
104 | int index = logfindex-1; | ||
105 | int stop = logfindex; | ||
106 | |||
107 | |||
108 | while(index != stop) { | ||
109 | if(index < 0) { | ||
110 | if(logfwrap) | ||
111 | index = MAX_LOGF_LINES-1; | ||
112 | else | ||
113 | break; /* done */ | ||
114 | } | ||
115 | |||
116 | memcpy(buffer, logfbuffer[index], 16); | ||
117 | buffer[16]=0; | ||
118 | fdprintf(fd, "%s\n", buffer); | ||
119 | index--; | ||
120 | } | ||
121 | close(fd); | ||
122 | } | ||
123 | return false; | ||
124 | } | ||
125 | |||
88 | #endif /* ROCKBOX_HAS_LOGF */ | 126 | #endif /* ROCKBOX_HAS_LOGF */ |
diff --git a/apps/logfdisp.h b/apps/logfdisp.h index 1b0d8c9ddb..1bbac29272 100644 --- a/apps/logfdisp.h +++ b/apps/logfdisp.h | |||
@@ -19,6 +19,7 @@ | |||
19 | #ifndef LOGFDISP_H | 19 | #ifndef LOGFDISP_H |
20 | #define LOGFDISP_H | 20 | #define LOGFDISP_H |
21 | bool logfdisplay(void); | 21 | bool logfdisplay(void); |
22 | bool logfdump(void); | ||
22 | 23 | ||
23 | #endif /* LOGFDISP_H */ | 24 | #endif /* LOGFDISP_H */ |
24 | 25 | ||
diff --git a/apps/main_menu.c b/apps/main_menu.c index 44321142c8..020f5d608c 100644 --- a/apps/main_menu.c +++ b/apps/main_menu.c | |||
@@ -351,6 +351,7 @@ bool info_menu(void) | |||
351 | { ID2P(LANG_USB), simulate_usb }, | 351 | { ID2P(LANG_USB), simulate_usb }, |
352 | #ifdef ROCKBOX_HAS_LOGF | 352 | #ifdef ROCKBOX_HAS_LOGF |
353 | {"logf", logfdisplay }, | 353 | {"logf", logfdisplay }, |
354 | {"logfdump", logfdump }, | ||
354 | #endif | 355 | #endif |
355 | #endif | 356 | #endif |
356 | }; | 357 | }; |