Beispiel #1
0
void interest_line_handler(unsigned char nfields, char** tokens) {
	unsigned short interest_id;
	person_id = atol(tokens[INTEREST_FIELD_PERSON]);
	interest_id = atoi(tokens[INTEREST_FIELD_INTEREST]);
	if (person_id != person_id_prev) {
		updatePerson();
		person->interests_first = interest_offset;
		person->interest_n = 0;
	}
	fwrite(&interest_id, sizeof(unsigned short), 1, interest_out);
	interest_offset++;
	person->interest_n++;
}
Beispiel #2
0
	bool System::updatePeople(std::map<std::string, eca419::exercicio01::Pessoa*> people)
	{
		if (people.empty())
		{
			return false;
		}
		bool success(true);
		for (std::map<std::string, eca419::exercicio01::Pessoa*>::iterator it(people.begin()); it != people.end(); it++)
		{
			if (!updatePerson(it->second))
			{
				success = false;
			}
		}
		return success;
	}
Beispiel #3
0
void knows_line_handler(unsigned char nfields, char** tokens) {
	unsigned int knows_person_offset;
	person_id = atol(tokens[KNOWS_FIELD_PERSON]);
	unsigned long knows_id = atol(tokens[KNOWS_FIELD_FRIEND]);
	
	if (person_id != person_id_prev) {
		updatePerson();
		person->knows_first = knows_offset;
		person->knows_n = 0;
	}
	// lookup other person and write offset
	knows_person_offset = kh_value(person_offsets, 
			kh_get(pht, person_offsets, knows_id));
	fwrite(&knows_person_offset, sizeof(unsigned int), 1, knows_out);
	knows_offset++;
	person->knows_n++;
}