diff libgaim/plugins/perl/common/Request.xs @ 14364:338ac096e322

[gaim-migrate @ 17070] Disabled GTK+ components of the Perl plugin (we'll no longer support gtk-perl prefs frames until this is refactored into a gtkgaim plugin somehow). Fix gaim_util_fetch_url and plug some leaks. I haven't successfully tested gaim_util_fetch_url from perl yet - it doesn't seem to actually pass the retrieved text to the plugin sub correctly yet. The syntax for calling gaim_util_fetch_url() from perl is also funky and should be made more consistent to the C function. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Mon, 28 Aug 2006 20:27:03 +0000
parents 60b1bc8dbf37
children
line wrap: on
line diff
--- a/libgaim/plugins/perl/common/Request.xs	Mon Aug 28 06:15:21 2006 +0000
+++ b/libgaim/plugins/perl/common/Request.xs	Mon Aug 28 20:27:03 2006 +0000
@@ -46,6 +46,10 @@
 	PUTBACK;
 	FREETMPS;
 	LEAVE;
+
+	g_free(gpr->ok_cb);
+	g_free(gpr->cancel_cb);
+	g_free(gpr);
 }
 
 static void
@@ -67,6 +71,10 @@
 	PUTBACK;
 	FREETMPS;
 	LEAVE;
+
+	g_free(gpr->ok_cb);
+	g_free(gpr->cancel_cb);
+	g_free(gpr);
 }
 
 MODULE = Gaim::Request  PACKAGE = Gaim::Request  PREFIX = gaim_request_
@@ -89,14 +97,14 @@
 CODE:
 	GaimPerlRequestData *gpr;
 	STRLEN len;
-	char *basename, *package;
+	char *basename;
 
 	basename = g_path_get_basename(handle->path);
 	gaim_perl_normalize_script_name(basename);
-	package = g_strdup_printf("Gaim::Script::%s", basename);
 	gpr = g_new(GaimPerlRequestData, 1);
-	gpr->ok_cb = g_strdup_printf("%s::%s", package, SvPV(ok_cb, len));
-	gpr->cancel_cb = g_strdup_printf("%s::%s", package, SvPV(cancel_cb, len));
+	gpr->ok_cb = g_strdup_printf("Gaim::Script::%s::%s", basename, SvPV(ok_cb, len));
+	gpr->cancel_cb = g_strdup_printf("Gaim::Script::%s::%s", basename, SvPV(cancel_cb, len));
+	g_free(basename);
 
 	RETVAL = gaim_request_input(handle, title, primary, secondary, default_value, multiline, masked, hint, ok_text, G_CALLBACK(gaim_perl_request_ok_cb), cancel_text, G_CALLBACK(gaim_perl_request_cancel_cb), gpr);
 OUTPUT:
@@ -113,14 +121,14 @@
 CODE:
 	GaimPerlRequestData *gpr;
 	STRLEN len;
-	char *basename, *package;
+	char *basename;
 
 	basename = g_path_get_basename(handle->path);
 	gaim_perl_normalize_script_name(basename);
-	package = g_strdup_printf("Gaim::Script::%s", basename);
 	gpr = g_new(GaimPerlRequestData, 1);
-	gpr->ok_cb = g_strdup_printf("%s::%s", package, SvPV(ok_cb, len));
-	gpr->cancel_cb = g_strdup_printf("%s::%s", package, SvPV(cancel_cb, len));
+	gpr->ok_cb = g_strdup_printf("Gaim::Script::%s::%s", basename, SvPV(ok_cb, len));
+	gpr->cancel_cb = g_strdup_printf("Gaim::Script::%s::%s", basename, SvPV(cancel_cb, len));
+	g_free(basename);
 
 	RETVAL = gaim_request_file(handle, title, filename, savedialog, G_CALLBACK(gaim_perl_request_ok_cb), G_CALLBACK(gaim_perl_request_cancel_cb), gpr);
 OUTPUT:
@@ -140,14 +148,14 @@
 CODE:
 	GaimPerlRequestData *gpr;
 	STRLEN len;
-	char *basename, *package;
+	char *basename;
 
 	basename = g_path_get_basename(handle->path);
 	gaim_perl_normalize_script_name(basename);
-	package = g_strdup_printf("Gaim::Script::%s", basename);
 	gpr = g_new(GaimPerlRequestData, 1);
-	gpr->ok_cb = g_strdup_printf("%s::%s", package, SvPV(ok_cb, len));
-	gpr->cancel_cb = g_strdup_printf("%s::%s", package, SvPV(cancel_cb, len));
+	gpr->ok_cb = g_strdup_printf("Gaim::Script::%s::%s", basename, SvPV(ok_cb, len));
+	gpr->cancel_cb = g_strdup_printf("Gaim::Script::%s::%s", basename, SvPV(cancel_cb, len));
+	g_free(basename);
 
 	RETVAL = gaim_request_fields(handle, title, primary, secondary, fields, ok_text, G_CALLBACK(gaim_perl_request_ok_cb), cancel_text, G_CALLBACK(gaim_perl_request_cancel_cb), gpr);
 OUTPUT: