… | |
… | |
84 | PUTBACK; count = perl_call_sv ((SV *)cb, G_SCALAR); SPAGAIN; |
84 | PUTBACK; count = perl_call_sv ((SV *)cb, G_SCALAR); SPAGAIN; |
85 | |
85 | |
86 | if (count != 1) |
86 | if (count != 1) |
87 | croak ("fnamefilter perl callback MUST return a single filename exactly"); |
87 | croak ("fnamefilter perl callback MUST return a single filename exactly"); |
88 | |
88 | |
89 | _FP_free (str); str = _FP_strdup (SvPV_nolen (TOPs)); |
89 | FP_free (str); str = FP_strdup (SvPV_nolen (TOPs)); |
90 | |
90 | |
91 | PUTBACK; FREETMPS; LEAVE; |
91 | PUTBACK; FREETMPS; LEAVE; |
92 | |
92 | |
93 | } TEMP_RELEASE; |
93 | } TEMP_RELEASE; |
94 | |
94 | |
… | |
… | |
135 | dSP; |
135 | dSP; |
136 | int count; |
136 | int count; |
137 | |
137 | |
138 | ENTER; SAVETMPS; PUSHMARK (SP); EXTEND (SP, 2); |
138 | ENTER; SAVETMPS; PUSHMARK (SP); EXTEND (SP, 2); |
139 | |
139 | |
140 | PUSHs (sv_2mortal(newSVpv(subject, 0))); |
140 | PUSHs (sv_2mortal (newSVpv (subject, 0))); |
141 | PUSHs (filename ? sv_2mortal(newSVpv(filename, 0)) : &PL_sv_undef); |
141 | PUSHs (filename ? sv_2mortal (newSVpv (filename, 0)) : &PL_sv_undef); |
142 | |
142 | |
143 | PUTBACK; count = perl_call_sv ((SV *)cb, G_ARRAY); SPAGAIN; |
143 | PUTBACK; count = perl_call_sv ((SV *)cb, G_ARRAY); SPAGAIN; |
144 | |
144 | |
145 | if (count > 1) |
145 | if (count > 1) |
146 | croak ("filenamecallback perl callback must return nothing or a single filename"); |
146 | croak ("filenamecallback perl callback must return nothing or a single filename"); |
147 | |
147 | |
148 | if (count) |
148 | if (count) |
149 | { |
149 | { |
150 | _FP_free (filename); |
150 | FP_free (filename); |
151 | |
151 | |
152 | filename = SvOK (TOPs) |
152 | filename = SvOK (TOPs) |
153 | ? _FP_strdup (SvPV_nolen (TOPs)) |
153 | ? FP_strdup (SvPV_nolen (TOPs)) |
154 | : 0; |
154 | : 0; |
155 | } |
155 | } |
156 | |
156 | |
157 | PUTBACK; FREETMPS; LEAVE; |
157 | PUTBACK; FREETMPS; LEAVE; |
158 | |
158 | |
… | |
… | |
408 | int num |
408 | int num |
409 | |
409 | |
410 | void |
410 | void |
411 | GetFileList () |
411 | GetFileList () |
412 | PPCODE: |
412 | PPCODE: |
|
|
413 | { |
|
|
414 | uulist *iter; |
|
|
415 | |
413 | for (uulist *iter = UUGlobalFileList; iter; iter = iter->NEXT) |
416 | for (iter = UUGlobalFileList; iter; iter = iter->NEXT) |
414 | XPUSHs (sv_setref_pv (sv_newmortal (), "Convert::UUlib::Item", iter)); |
417 | XPUSHs (sv_setref_pv (sv_newmortal (), "Convert::UUlib::Item", iter)); |
|
|
418 | } |
415 | |
419 | |
416 | MODULE = Convert::UUlib PACKAGE = Convert::UUlib::Item |
420 | MODULE = Convert::UUlib PACKAGE = Convert::UUlib::Item |
417 | |
421 | |
418 | int |
422 | int |
419 | rename (item, newname) |
423 | rename (item, newname) |
… | |
… | |
504 | uulist *li |
508 | uulist *li |
505 | char * newfilename |
509 | char * newfilename |
506 | CODE: |
510 | CODE: |
507 | if (newfilename) |
511 | if (newfilename) |
508 | { |
512 | { |
509 | _FP_free (li->filename); |
513 | FP_free (li->filename); |
510 | li->filename = _FP_strdup (newfilename); |
514 | li->filename = FP_strdup (newfilename); |
511 | } |
515 | } |
512 | RETVAL = li->filename; |
516 | RETVAL = li->filename; |
513 | OUTPUT: |
517 | OUTPUT: |
514 | RETVAL |
518 | RETVAL |
515 | |
519 | |