Mercurial > pidgin
view pixmaps/yell.xpm @ 4029:31480901bf29
[gaim-migrate @ 4233]
"with the change to .60 and the new method of using perl_call
argument parsing was broken. What essentially happened is that the
previous method of pre-parsing was to generate a string in the for
'arg one','arg two','arg three' and execute the perl function via
&perlfunc(args). This would make the perl function in essense parse
the variables for us. With the introduction of perl_call, however, that
argument list was being treated as one long, singular argument.
perl_call asks for lists of pointers to character arrays that are NULL
terminated, and it passes them into the function using an internal
method.
With this said, I changed the function execute_perl from requiring
(char* function, char* args) to (char* function, char** args). It no
longer takes a single argument and inserts it into the appropriate data
type that is terminated with a NULL element, instead you now have
to pass it a pre-NULL terminated array of character pointers to
accomodate some functions wanting to give it more than one
argument. I modified the functions that use execute_perl to use this
method, and commented those lines, as well chopping the multiple
argument section into buf[0] = looking sections for clarity. Finally, I
inserted a heft comment above execute_perl to try and explain what I
did, I hope it is understandable. "
-- Eric Timme (var1ety)
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sun, 01 Dec 2002 20:43:00 +0000 |
parents | 230b022108f4 |
children |
line wrap: on
line source
/* XPM */ static char * yell_xpm[] = { "19 19 8 1", " c None", ". c #000000", "+ c #CCCC00", "@ c #FFFF00", "# c #333300", "$ c #330000", "% c #FF6600", "& c #CC3300", " ....... ", " ..+@@@@@+.. ", " .+@@@@@@@@@+. ", " ..@@@@@@@@@@@#. ", " .++..@@@@@@@..++. ", " .@@@@..@@@..@@@@. ", ".+@@@..@@@@@..@@@+.", ".@@@@..@@@@@..@@@@.", ".@@@@@@@@@@@@@@@@@.", ".@@@@@@@....@@@@@@.", ".@@@@@@......@@@@@.", ".@@@@@........@@@@.", ".+@@@@........@@@+.", " .@@@@...$$...@@@. ", " .+@@@..%%%%..@@+. ", " .@@@@.%&&%.@@@. ", " .+@@@.$$.@@+. ", " ..+@@@@@+.. ", " ....... "};