You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.4 KiB

#include <libse.h>
#include <stdio.h>
#include <string.h>
#include <internal/exstring.h>
void test_exs()
{
exString *test= exs_new(NULL);
printf("New success\n");
exs_append(test, "Hello");
exs_append(test, " world.");
exs_append(test, " Test, ");
exs_append(test, "two, three. FOUR FIVE.");
exs_reduce(test, 5);
EXS(test)[strlen(EXS(test))-5] = 0;
exs_recalc(test);
exs_append(test, " Scream: ");
exs_nappendc(test, 'A', 6);
exs_appendf(test, "\nCurrent size: %d -> %d", strlen(EXS(test)), exs_realsize(test));
exs_appendf(test, "AOISDJOAIJS%s", "sokdok");
printf("%s\n", EXS(test));
printf("strlen() %d, ->currentSize %d\n", strlen(EXS(test)), exs_realsize(test));
exs_free(test);
}
void test_parse()
{
FILE* fp = fopen("test.se", "rb");
exString *buf = exs_new(NULL);
char rb[8];
int rd=0;
memset(rb,0,sizeof(rb));
while( (rd=fread(rb, 1, 8, fp))>0)
{
exs_nappend(buf, rb, rd);
}
fclose(fp);
const char* parse = EXS(buf);
//printf("%s\n", parse);
//exs_free(buf);
list_t* list = se_parse(parse, SETP_DEFAULT);
if(!list)
{
printf("Parse failed.\n");
return;
}
//printf("Parse okay.\n");
se_print(NULL, list);
printf("\n");
// printf("(car list) -> %s\n", (char*)list->ptr);
// printf("(cadr list) -> %s\n", (list->cdr?(char*)list->cdr->ptr:"nil"));
se_free(list);
exs_free(buf);
}
int main()
{
// test_exs();
test_parse();
return 0;
}