summaryrefslogtreecommitdiff
path: root/apps/logfdisp.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/logfdisp.c')
-rw-r--r--apps/logfdisp.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/apps/logfdisp.c b/apps/logfdisp.c
index 8547778f64..54c345faae 100644
--- a/apps/logfdisp.c
+++ b/apps/logfdisp.c
@@ -218,42 +218,44 @@ bool logfdisplay(void)
218} 218}
219#endif /* HAVE_LCD_BITMAP */ 219#endif /* HAVE_LCD_BITMAP */
220 220
221/* Store the logf log to logf.txt in the .rockbox directory. The order of the
222 * entries will be "reversed" so that the most recently logged entry is on the
223 * top of the file */
224bool logfdump(void) 221bool logfdump(void)
225{ 222{
226 int fd; 223 int fd;
227 224
228 splashf(HZ, "Log File Dumped"); 225 splashf(HZ, "Log File Dumped");
229 226
230 /* nothing to print ? */ 227 /* nothing to print ? */
231 if(logfindex == 0 && !logfwrap) 228 if(logfindex == 0 && !logfwrap)
232 /* nothing is logged just yet */ 229 /* nothing is logged just yet */
233 return false; 230 return false;
234 231
232 logfenabled = false;
233
235 fd = open(ROCKBOX_DIR "/logf.txt", O_CREAT|O_WRONLY|O_TRUNC, 0666); 234 fd = open(ROCKBOX_DIR "/logf.txt", O_CREAT|O_WRONLY|O_TRUNC, 0666);
236 if(-1 != fd) { 235 if(-1 != fd) {
237 int i; 236 int i;
238 237
239 if(logfwrap) 238 if(logfwrap)
240 i = logfindex; 239 i = logfindex;
241 else 240 else
242 i = 0; 241 i = 0;
243 242
244 do { 243 do {
245 if(logfbuffer[i]=='\0') 244 if(logfbuffer[i]=='\0')
246 fdprintf(fd, "\n"); 245 fdprintf(fd, "\n");
247 else 246 else
248 fdprintf(fd, "%c", logfbuffer[i]); 247 fdprintf(fd, "%c", logfbuffer[i]);
249 248
250 i++; 249 i++;
251 if(i >= MAX_LOGF_SIZE) 250 if(i >= MAX_LOGF_SIZE)
252 i = 0; 251 i = 0;
253 } while(i != logfindex); 252 } while(i != logfindex);
254 253
255 close(fd); 254 close(fd);
256 } 255 }
256
257 logfenabled = true;
258
257 return false; 259 return false;
258} 260}
259 261