project_files/hwc/rtl/tests/main.c
author unc0rr
Mon, 18 Apr 2016 21:47:39 +0300
changeset 11652 09ebdfe364d9
parent 10015 4feced261c68
permissions -rw-r--r--
Fix fpcrtl_strappendA, which cut last char from UserPathPrefix leading to PHYSFS_setWriteDir fail with 'File not found' error, which led to lack of writing dir and logFile handle being nil, which led to crash on attempt to write to (absent) log file

#if 0
#include <stdio.h>
#include "fpcrtl.h"
#include "fileio.h"

string255 t = STRINIT("test");
string255 Pathz[1] = {STRINIT(".")};
//int ptCurrTheme = 0;
string255 cThemeCFGFilename = STRINIT("theme.cfg");
const string255 __str79 = STRINIT("object");
string255 c1 = STRINIT("=");
string255 c2 = STRINIT("\x2c");
string255 c3 = STRINIT("\x2f");

typedef struct __TResourceList {
            Integer count;
            string255 files[500 + 1];
} TResourceList;

TResourceList readThemeCfg_0()
{
    TResourceList readthemecfg_result;
    string255 s;
    string255 key;
    TextFile f;
    Integer i;
    TResourceList result;

    int t = 0;

    s = _strconcat(_strappend(Pathz[ptCurrTheme], '\x2f'), cThemeCFGFilename);

    assign(&f, s);

    reset(&f);

    if (f.fp == NULL) {
      readthemecfg_result.count = 0;
      return readthemecfg_result;
    }

    result.count = 0;
    while (!eof(&f)) {
        readLnS(&f, &s);

        if ((Length(s)) == (0)) {
            continue;
        }
        if ((s.s[1]) == ('\x3b')) {
            continue;
        }

        i = pos(c1, s);

        key = fpcrtl_trim(fpcrtl_copy(s, 1, i - 1));

        fpcrtl_delete(&s, 1, i);

        if (_strcompare(key, __str79)) {
            i = pos(c2, s);
            result.files[result.count] = _strconcat(_strappend(Pathz[ptCurrTheme], '\x2f'), trim(copy(s, 1, i - 1)));
            ++result.count;
        }
    }

    close(&f);
    readthemecfg_result = result;
    return readthemecfg_result;
}

int main(int argc, char** argv)
{
    int i;

    TResourceList result = readThemeCfg_0();
    for(i = 0; i < result.count; i++) {
        printf("%s\n", result.files[i].str);
    }
}
#endif