non 0 terminated char array to string

Hallo,
ich hab wieder einmal ein Problem, und komme auf keinen grünen Zweig.

was ich habe:

folgendes struct:

typedef struct a_password{
  char name[32];
  char payload[32];
  boolean enter;
  a_password* nextpassword; // pointer to next password in list
} a_password;

vom seriellen parser kommend schreibe ich mit strcpy die ankommenden Werte in die arrays

strcpy(new_password->name,name);
strcpy(new_password->payload,payload);

jetzt möchte ich die arrays name und payload zu einem string zusammen fügen und dann der cipher funktion übergeben.
für das Vigenere cipher 2.0 lib von Matthew muss ich aber 0 terminiertes Strings übergeben.

Wie mache ich das richtig?

Vielen Dank wie immer für Eure Hilfe!

Die C Funktionen wie strcpy() oder strcat() terminieren automatisch die Strings. Lies dir die Doku zu denen durch.