static void RssParser_Cloud(RssParser_t * self, CcCloud_t ** cloud) { *cloud = CcCloud(); RssParser_Expect(self, 31); while (RssParser_StartOf(self, 2)) { if (self->la->kind == 63) { RssParser_Get(self); (*cloud)->domain = CcStrdup(self->t->val); } else if (self->la->kind == 64) { RssParser_Get(self); (*cloud)->port = CcStrdup(self->t->val); } else if (self->la->kind == 65) { RssParser_Get(self); (*cloud)->path = CcStrdup(self->t->val); } else if (self->la->kind == 66) { RssParser_Get(self); (*cloud)->registerProcedure = CcStrdup(self->t->val); } else { RssParser_Get(self); (*cloud)->protocol = CcStrdup(self->t->val); } } RssParser_Expect(self, 32); }
static CcXmlSpecData_t * CcXmlSpec_GetSortedList(const CcArrayList_t * array, CcsBool_t useEnd, const CcGlobals_t * globals, size_t * retNum) { CcXmlSpecData_t * retlist, * curret; const CcXmlData_t * data; CcArrayListIter_t iter; const CcSymbol_t * sym; char EndTag[128]; const CcSymbolTable_t * symtab = &globals->symtab; *retNum = array->Count; if (array->Count == 0) return NULL; retlist = curret = CcMalloc(array->Count * sizeof(CcXmlSpecData_t)); for (data = (const CcXmlData_t *)CcArrayList_FirstC(array, &iter); data; data = (const CcXmlData_t *)CcArrayList_NextC(array, &iter)) { curret->name = CcStrdup(data->name); sym = CcSymbolTable_CheckTerminal(symtab, data->tokenName); CcsAssert(sym != NULL); curret->kind0 = sym->base.index; if (useEnd) { snprintf(EndTag, sizeof(EndTag), "END_%s", data->tokenName); sym = CcSymbolTable_CheckTerminal(symtab, EndTag); CcsAssert(sym != NULL); curret->kind1 = sym->base.index; } ++curret; } CcsAssert(curret - retlist == array->Count); qsort(retlist, array->Count, sizeof(CcXmlSpecData_t), cmpXSData); return retlist; }
CcString_t * CcString(const char * value) { CcString_t * self = (CcString_t *)CcObject(&StringType); self->value = CcStrdup(value); return self; }
static void RssParser_SkipHours(RssParser_t * self, char ** value) { RssParser_Expect(self, 43); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 44); }
static void RssParser_Rating(RssParser_t * self, char ** value) { RssParser_Expect(self, 37); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 38); }
static void RssParser_Description(RssParser_t * self, char ** value) { RssParser_Expect(self, 11); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 12); }
static void RssParser_Guid(RssParser_t * self, char ** value) { RssParser_Expect(self, 59); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 60); }
static void RssParser_Comments(RssParser_t * self, char ** value) { RssParser_Expect(self, 55); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 56); }
static void RssParser_Name(RssParser_t * self, char ** value) { RssParser_Expect(self, 41); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 42); }
static void RssParser_Width(RssParser_t * self, char ** value) { RssParser_Expect(self, 49); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 50); }
static void RssParser_LastBuildDate(RssParser_t * self, char ** value) { RssParser_Expect(self, 23); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 24); }
static void RssParser_PubDate(RssParser_t * self, char ** value) { RssParser_Expect(self, 21); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 22); }
static void RssParser_WebMaster(RssParser_t * self, char ** value) { RssParser_Expect(self, 19); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 20); }
static void RssParser_ManagingEditor(RssParser_t * self, char ** value) { RssParser_Expect(self, 17); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 18); }
static void RssParser_Copyright(RssParser_t * self, char ** value) { RssParser_Expect(self, 15); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 16); }
static void RssParser_Language(RssParser_t * self, char ** value) { RssParser_Expect(self, 13); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 14); }
static void RssParser_SkipDays(RssParser_t * self, char ** value) { RssParser_Expect(self, 45); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 46); }
static void RssParser_Url(RssParser_t * self, char ** value) { RssParser_Expect(self, 47); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 48); }
static void RssParser_Category(RssParser_t * self, char ** value) { RssParser_Expect(self, 25); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 26); }
static void RssParser_Height(RssParser_t * self, char ** value) { RssParser_Expect(self, 51); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 52); }
static void RssParser_Generator(RssParser_t * self, char ** value) { RssParser_Expect(self, 27); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 28); }
static void RssParser_Author(RssParser_t * self, char ** value) { RssParser_Expect(self, 53); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 54); }
static void RssParser_Docs(RssParser_t * self, char ** value) { RssParser_Expect(self, 29); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 30); }
static void RssParser_Enclosure(RssParser_t * self, char ** value) { RssParser_Expect(self, 57); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 58); }
static void RssParser_Title(RssParser_t * self, char ** value) { RssParser_Expect(self, 7); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 8); }
static void RssParser_Source(RssParser_t * self, char ** value) { RssParser_Expect(self, 61); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 62); }
static void RssParser_Link(RssParser_t * self, char ** value) { RssParser_Expect(self, 9); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 10); }
static void RssParser_Ttl(RssParser_t * self, char ** value) { RssParser_Expect(self, 33); RssParser_Expect(self, 68); *value = CcStrdup(self->t->val); RssParser_Expect(self, 34); }
void CcGlobals_NewSection(CcGlobals_t * self, const char * secname, CcsPosition_t * pos) { CcSection_t * section = (CcSection_t *) CcArrayList_New(&self->sections, CcObject(&SectionType)); section->name = CcStrdup(secname); section->pos = pos; }