Mercurial > pidgin
comparison libpurple/plugins/perl/perl.c @ 24044:1f92d4aa8f3b
Return FALSE when a perl plugin cannot be loaded.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Mon, 01 Sep 2008 16:45:01 +0000 |
parents | 6f47135f5378 |
children | 77177e6000e4 |
comparison
equal
deleted
inserted
replaced
24043:1b882e539c40 | 24044:1f92d4aa8f3b |
---|---|
464 | 464 |
465 static gboolean | 465 static gboolean |
466 load_perl_plugin(PurplePlugin *plugin) | 466 load_perl_plugin(PurplePlugin *plugin) |
467 { | 467 { |
468 PurplePerlScript *gps = (PurplePerlScript *)plugin->info->extra_info; | 468 PurplePerlScript *gps = (PurplePerlScript *)plugin->info->extra_info; |
469 gboolean loaded = TRUE; | |
469 char *atmp[3] = { plugin->path, NULL, NULL }; | 470 char *atmp[3] = { plugin->path, NULL, NULL }; |
470 | 471 |
471 if (gps == NULL || gps->load_sub == NULL) | 472 if (gps == NULL || gps->load_sub == NULL) |
472 return FALSE; | 473 return FALSE; |
473 | 474 |
499 | 500 |
500 if (SvTRUE(ERRSV)) { | 501 if (SvTRUE(ERRSV)) { |
501 purple_debug(PURPLE_DEBUG_ERROR, "perl", | 502 purple_debug(PURPLE_DEBUG_ERROR, "perl", |
502 "Perl function %s exited abnormally: %s\n", | 503 "Perl function %s exited abnormally: %s\n", |
503 gps->load_sub, SvPVutf8_nolen(ERRSV)); | 504 gps->load_sub, SvPVutf8_nolen(ERRSV)); |
505 loaded = FALSE; | |
504 } | 506 } |
505 | 507 |
506 PUTBACK; | 508 PUTBACK; |
507 FREETMPS; | 509 FREETMPS; |
508 LEAVE; | 510 LEAVE; |
509 } | 511 } |
510 | 512 |
511 return TRUE; | 513 return loaded; |
512 } | 514 } |
513 | 515 |
514 static void | 516 static void |
515 destroy_package(const char *package) | 517 destroy_package(const char *package) |
516 { | 518 { |