/* htop - Affinity.c (C) 2004-2011 Hisham H. Muhammad Released under the GNU GPL, see the COPYING file in the source distribution for its full text. */ #include "Affinity.h" #include /*{ typedef struct Affinity_ { int size; int used; int* cpus; } Affinity; }*/ Affinity* Affinity_new() { Affinity* this = calloc(1, sizeof(Affinity)); this->size = 8; this->cpus = calloc(this->size, sizeof(int)); return this; } void Affinity_delete(Affinity* this) { free(this->cpus); free(this); } void Affinity_add(Affinity* this, int id) { if (this->used == this->size) { this->size *= 2; this->cpus = realloc(this->cpus, sizeof(int) * this->size); } this->cpus[this->used] = id; this->used++; }