From: Simon Tatham Date: Sat, 31 May 2008 13:29:32 +0000 (+0000) Subject: On some systems, strncpy is a macro, and putting preprocessor X-Git-Tag: 0.61~249^2~2 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=79f7249185f0bb6eddc30a94b4b21072b3ac460e;p=PuTTY.git On some systems, strncpy is a macro, and putting preprocessor directives in the middle of a macro invocation appears to be frowned on. Irritating, but there we go. [originally from svn r8026] --- diff --git a/unix/gtkdlg.c b/unix/gtkdlg.c index fbd9a4d9..aa974546 100644 --- a/unix/gtkdlg.c +++ b/unix/gtkdlg.c @@ -367,14 +367,16 @@ void dlg_editbox_get(union control *ctrl, void *dlg, char *buffer, int length) #if GTK_CHECK_VERSION(2,0,0) } else { assert(uc->combo != NULL); - strncpy(buffer, #if GTK_CHECK_VERSION(2,6,0) + strncpy(buffer, gtk_combo_box_get_active_text(GTK_COMBO_BOX(uc->combo)), + length); #else + strncpy(buffer, gtk_entry_get_text (GTK_ENTRY(gtk_bin_get_child(GTK_BIN(uc->combo)))), -#endif length); +#endif buffer[length-1] = '\0'; } #endif