mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-18 09:32:40 -05:00
Enable printing of buflib allocations
Change-Id: Ie446177931032d585f69e0651f05ff88ebc6e8ba
This commit is contained in:
parent
e138016256
commit
e7d94323bc
4 changed files with 65 additions and 7 deletions
|
|
@ -1,7 +1,7 @@
|
|||
FIRMWARE=../..
|
||||
|
||||
CC ?= gcc
|
||||
CFLAGS += -g -O2 -DDEBUG -D__PCTOOL__ -std=gnu99 -I$(FIRMWARE)/include -I$(FIRMWARE)/export -I.
|
||||
CFLAGS += -g -O2 -DDEBUG -D__PCTOOL__ -DBUFLIB_DEBUG_BLOCKS -std=gnu99 -I$(FIRMWARE)/include -I$(FIRMWARE)/export -I.
|
||||
LDFLAGS += -L. -lpthread
|
||||
|
||||
.PHONY: clean all
|
||||
|
|
@ -11,7 +11,9 @@ TARGETS = $(TARGETS_OBJ:.o=)
|
|||
|
||||
LIB_OBJ = buflib.o \
|
||||
crc32.o \
|
||||
strlcpy.o
|
||||
strlcpy.o \
|
||||
util.o
|
||||
|
||||
LIB_FILE = libbuflib.a
|
||||
LIB = buflib
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "buflib.h"
|
||||
#include "util.h"
|
||||
|
||||
#define BUFLIB_BUFFER_SIZE (12<<10)
|
||||
static char buflib_buffer[BUFLIB_BUFFER_SIZE];
|
||||
|
|
@ -59,16 +60,16 @@ int main(int argc, char **argv)
|
|||
strncpy(buflib_get_data(&ctx, id3), STR, sizeof STR);
|
||||
if (id > 0)
|
||||
{
|
||||
// buflib_print_allocs(&ctx);
|
||||
buflib_print_allocs(&ctx, &print_handle);
|
||||
buflib_free(&ctx, id);
|
||||
// buflib_print_allocs(&ctx);
|
||||
buflib_print_allocs(&ctx, &print_handle);
|
||||
buflib_free(&ctx, id2);
|
||||
// buflib_print_allocs(&ctx);
|
||||
buflib_print_allocs(&ctx, &print_handle);
|
||||
|
||||
id = buflib_alloc_ex(&ctx, 3<<10, "should compact", &ops);
|
||||
if (id <= 0) printf("compacting alloc failed\n");
|
||||
|
||||
// buflib_print_allocs(&ctx);
|
||||
buflib_print_allocs(&ctx, &print_handle);
|
||||
|
||||
printf("id I: %p\n", buflib_get_data(&ctx, id3));
|
||||
id2 = buflib_alloc_ex(&ctx, 3<<10, "should fail", &ops);
|
||||
|
|
@ -80,7 +81,7 @@ int main(int argc, char **argv)
|
|||
buflib_free(&ctx, id);
|
||||
|
||||
printf("Check string: \"%s\"\n", buflib_get_data(&ctx, id3));
|
||||
// buflib_print_allocs(&ctx);
|
||||
buflib_print_allocs(&ctx, &print_handle);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
28
firmware/test/buflib/util.c
Normal file
28
firmware/test/buflib/util.c
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
/***************************************************************************
|
||||
* __________ __ ___.
|
||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
* \/ \/ \/ \/ \/
|
||||
* $Id$
|
||||
*
|
||||
* Copyright (C) 2015 Thomas Jarosch
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
#include "util.h"
|
||||
#include "stdio.h"
|
||||
|
||||
void print_handle(int handle_num, const char *str)
|
||||
{
|
||||
(void)handle_num;
|
||||
printf("%s\n", str);
|
||||
}
|
||||
27
firmware/test/buflib/util.h
Normal file
27
firmware/test/buflib/util.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/***************************************************************************
|
||||
* __________ __ ___.
|
||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
* \/ \/ \/ \/ \/
|
||||
* $Id$
|
||||
*
|
||||
* Copyright (C) 2015 Thomas Jarosch
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef _TEST_UTIL_H
|
||||
#define _TEST_UTIL_H
|
||||
|
||||
void print_handle(int handle_num, const char *string);
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue