Zitat von
Wal:
Mit octopus_init bekommst du den Pointer auf das USB_Handle mitgeteilt, den du bei jedem Zugriff auf das USB-Teil brauchst.
Nein, sorry.
Hast du dir mal die Init-Routine angesehen?
Code:
/*
* initial octopus
handle before use octopus_open
*/
int octopus_init(struct octopus_context *octopus)
{
if (octopus == NULL)
octopus_error_return(-1,"octopus not valid");
octopus->error_str = NULL;
octopus->usb_handle = NULL;
return 1;
}
Dort siehst du das der übergebene octopus-Zeiger nur dereferenziert wird, das würde schon mal nicht gehen, wenn kein Speicher dafür alloziert wäre. Hier wird also nur der reservierte Speicher initialisiert und kein Speicher reserviert und auch kein Zeiger zurückgeliefert. Es wird nur eine übergebene Speicheradresse initialisiert.