*
*/
+#include <openssl/e_os2.h>
+/* The following defines enable the declaration of strdup(), which is an
+ extended function according to X/Open. */
+#ifdef OPENSSL_SYS_VMS_DECC
+# define _XOPEN_SOURCE_EXTENDED
+#endif
+#ifdef OPENSSL_SYS_UNIX
+# define _XOPEN_SOURCE
+# define _XOPEN_SOURCE_EXTENDED /* For Linux and probably anything GNU */
+#endif
#include <string.h>
#include <openssl/ui.h>
return ret;
}
-static void free_string(void *data)
+static void free_string(UI_STRING *uis)
{
- UI_STRING *uis = (UI_STRING *)data;
if (uis->flags & OUT_STRING_FREEABLE)
OPENSSL_free((char *)uis->out_string);
OPENSSL_free(uis);
NULL);
}
+void *UI_add_user_data(UI *ui, void *user_data)
+ {
+ void *old_data = ui->user_data;
+ ui->user_data = user_data;
+ return old_data;
+ }
+
+void *UI_get0_user_data(UI *ui)
+ {
+ return ui->user_data;
+ }
+
const char *UI_get0_result(UI *ui, int i)
{
if (i < 0)