/* * Merge two NULL-terminated pointer arrays into a newly allocated * array, which is also NULL-terminated. Nomenclature is inspired by * memset_p() and memcat() found elsewhere in the kernel source tree.
*/ void **__memcat_p(void **a, void **b)
{ void **p = a, **new; int nr;
/* count the elements in both arrays */ for (nr = 0, p = a; *p; nr++, p++)
; for (p = b; *p; nr++, p++)
; /* one for the NULL-terminator */
nr++;
new = kmalloc_array(nr, sizeof(void *), GFP_KERNEL); if (!new) return NULL;
/* nr -> last index; p points to NULL in b[] */ for (nr--; nr >= 0; nr--, p = p == b ? &a[nr] : p - 1) new[nr] = *p;
returnnew;
}
EXPORT_SYMBOL_GPL(__memcat_p);
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.