Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8387bbb authored by Deepanshu Gupta's avatar Deepanshu Gupta
Browse files

Fix incremental builds for SDK. [DO NOT MERGE]

Atree used to output files without escaping the filenames. This resulted
in breaks for incremental builds when filenames contained '$' symbol.
The change fixes this by escaping the filename properly.

Change-Id: I957787b1b3536c64ba6fcb5b4bb5fc60e8b04452
(cherry picked from commit 9c5564e0)
parent 6fdf121c
Loading
Loading
Loading
Loading
+22 −1
Original line number Diff line number Diff line
@@ -90,6 +90,26 @@ debug_printf(const char* format, ...)
    }
}

// Escape the filename so that it can be added to the makefile properly.
static string
escape_filename(const string name)
{
    ostringstream new_name;
    for (string::const_iterator iter = name.begin(); iter != name.end(); ++iter)
    {
        switch (*iter)
        {
            case '$':
                new_name << "$$";
                break;
            default:
                new_name << *iter;
                break;
        }
    }
    return new_name.str();
}

int
main(int argc, char* const* argv)
{
@@ -324,7 +344,8 @@ main(int argc, char* const* argv)
            for (vector<FileRecord>::iterator it=files.begin();
                                it!=files.end(); it++) {
                if (!it->sourceIsDir) {
                    fprintf(f, "%s \\\n", it->sourcePath.c_str());
                    fprintf(f, "%s \\\n",
                            escape_filename(it->sourcePath).c_str());
                }
            }
            fprintf(f, "\n");