예제 #1
0
StringArray *StringArray_NewSub(const StringArray *ar, int fromIndex, int count)
{
    assert(ar);
    if(count < 0)
    {
        count = ar->remainder(fromIndex);
    }
    ar->assertValidRange(fromIndex, count);

    StringArray *sub = StringArray_New();
    for(int i = 0; i < count; ++i)
    {
        StringArray_Append(sub, StringArray_At(ar, fromIndex + i));
    }
    return sub;
}
예제 #2
0
파일: Builder.c 프로젝트: tindzk/Depend
	return (self) {
		.term      = term,
		.deps      = deps,
		.logger    = logger,
		.output    = String_New(0),
		.cc        = String_Clone($("/usr/bin/clang")),
		.inclhdr   = String_New(0),
		.runtime   = String_New(0),
		.manifest  = false,
		.library   = false,
		.dbgsym    = false,
		.std       = String_Clone($("gnu99")),
		.blocks    = true,
		.optmlevel = 0,
		.verbose   = false,
		.link      = StringArray_New(0),
		.mappings  = MappingArray_New(0),
		.linkpaths = StringArray_New(0),
		.workers   = CPU_getCores()
	};
}

def(void, destroy) {
	String_Destroy(&this->output);
	String_Destroy(&this->cc);
	String_Destroy(&this->inclhdr);
	String_Destroy(&this->runtime);
	String_Destroy(&this->std);

	StringArray_Destroy(this->link);
	StringArray_Free(this->link);