File Coverage

KontoCheck.xs
Criterion Covered Total %
statement 253 320 79.0
branch 159 276 57.6
condition n/a
subroutine n/a
pod n/a
total 412 596 69.1


line stmt bran cond sub pod time code
1             #line 209 "KontoCheck.lx"
2             #include "EXTERN.h"
3             #include "perl.h"
4             #include "XSUB.h"
5              
6             #include "ppport.h"
7             #include "konto_check.h"
8             // #include "konto_check-at.h"
9              
10             MODULE = Business::KontoCheck PACKAGE = Business::KontoCheck
11             PROTOTYPES: ENABLE
12              
13             # Aufrufe der konto_check Bibliothek
14             int
15             kto_check(pz_or_blz,kto,lut_name)
16             char *pz_or_blz;
17             char *kto;
18             char *lut_name;
19              
20             const char *
21             kto_check_str(pz_or_blz,kto,lut_name)
22             char *pz_or_blz;
23             char *kto;
24             char *lut_name;
25              
26             int
27             kto_check_blz(blz,kto)
28             char *blz;
29             char *kto;
30              
31             int
32             kto_check_regel(blz,kto)
33             char *blz;
34             char *kto;
35              
36             int
37             set_verbose_debug(mode)
38             int mode;
39              
40             int
41             set_default_compression(mode)
42             int mode;
43              
44             int
45             dump_lutfile(outputname,felder)
46             char *outputname;
47             int felder;
48             CODE:
49             #line 287 "KontoCheck.lx"
50             RETVAL=dump_lutfile_p(outputname,felder);
51             OUTPUT:
52             RETVAL
53              
54             int
55             kto_check_pz(pz,kto...)
56             char *pz;
57             char *kto;
58             PREINIT:
59             #line 296 "KontoCheck.lx"
60             char *blz;
61             CODE:
62             #line 298 "KontoCheck.lx"
63             switch(items){
64             case 2:
65             blz=NULL;
66             break;
67             case 3:
68             blz=(char *)SvPV_nolen(ST(2));
69             break;
70             default:
71             Perl_croak(aTHX_ "Usage: Business::KontoCheck::kto_check_pz(pz, kto[, blz])");
72             break;
73             }
74             RETVAL = kto_check_pz(pz,kto,blz);
75             OUTPUT:
76             RETVAL
77              
78             int
79             kto_check_regel_dbg_i(blz,kto,blz2,kto2,bic,regel,methode,pz_methode,pz,pz_pos)
80             char *blz;
81             char *kto;
82             char *blz2;
83             char *kto2;
84             const char *bic;
85             int regel;
86             const char *methode;
87             int pz_methode;
88             int pz;
89             int pz_pos;
90             PREINIT:
91             #line 326 "KontoCheck.lx"
92             char blz2a[10],kto2a[12];
93             RETVAL retvals;
94             CODE:
95             #line 329 "KontoCheck.lx"
96             if(items<10)Perl_croak(aTHX_ "Usage: Business::KontoCheck::kto_check_regel_dbg_i(blz,kto,blz2,kto2,bic,regel,methode,pz_methode,pz,pz_pos)");
97             RETVAL=kto_check_regel_dbg(blz,kto,blz2a,kto2a,&bic,®el,&retvals);
98             sv_setpv((SV*)ST(2),blz2a);
99             SvSETMAGIC(ST(2));
100             sv_setpv((SV*)ST(3),kto2a);
101             SvSETMAGIC(ST(3));
102             sv_setpv((SV*)ST(4),bic);
103             SvSETMAGIC(ST(4));
104             sv_setiv(ST(5),(IV)regel);
105             SvSETMAGIC(ST(5));
106             sv_setpv((SV*)ST(6),methode);
107             SvSETMAGIC(ST(6));
108             sv_setiv(ST(7),(IV)pz_methode);
109             SvSETMAGIC(ST(7));
110             sv_setiv(ST(8),(IV)pz);
111             SvSETMAGIC(ST(8));
112             sv_setiv(ST(9),(IV)pz_pos);
113             SvSETMAGIC(ST(9));
114             OUTPUT:
115             RETVAL
116              
117             int
118             lut_valid()
119              
120             void
121             lut_cleanup()
122              
123             int
124             lut_init(...)
125             PREINIT:
126             #line 359 "KontoCheck.lx"
127             char *lut_name;
128             unsigned int required;
129             unsigned int set;
130             CODE:
131             #line 363 "KontoCheck.lx"
132             switch(items){
133             case 0:
134             lut_name=NULL;
135             required=DEFAULT_INIT_LEVEL;
136             set=0;
137             break;
138             case 1:
139             lut_name=(char *)SvPV_nolen(ST(0));
140             required=DEFAULT_INIT_LEVEL;
141             set=0;
142             break;
143             case 2:
144             lut_name=(char *)SvPV_nolen(ST(0));
145             required=(unsigned int)SvUV(ST(1));
146             set=0;
147             break;
148             case 3:
149             lut_name=(char *)SvPV_nolen(ST(0));
150             required=(unsigned int)SvUV(ST(1));
151             set=(unsigned int)SvUV(ST(2));
152             break;
153             default:
154             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_init(lut_name[,required[,set]])");
155             break;
156             }
157              
158             RETVAL=lut_init(lut_name,required,set);
159             OUTPUT:
160             RETVAL
161              
162             int
163             kto_check_init(lut_name...)
164             char *lut_name
165             PREINIT:
166             #line 397 "KontoCheck.lx"
167             unsigned int required;
168             unsigned int set;
169             unsigned int incremental;
170             CODE:
171             #line 401 "KontoCheck.lx"
172             switch(items){
173             case 1:
174             required=DEFAULT_INIT_LEVEL;
175             set=0;
176             incremental=0;
177             break;
178             case 2:
179             required=(unsigned int)SvUV(ST(1));
180             set=0;
181             incremental=0;
182             break;
183             case 3:
184             required=(unsigned int)SvUV(ST(1));
185             set=(unsigned int)SvUV(ST(2));
186             incremental=0;
187             break;
188             case 4:
189             required=(unsigned int)SvUV(ST(1));
190             set=(unsigned int)SvUV(ST(2));
191             incremental=(unsigned int)SvUV(ST(3));
192             break;
193             default:
194             Perl_croak(aTHX_ "Usage: Business::KontoCheck::kto_check_init(lut_name[,required[,set[,incremental]]])");
195             break;
196             }
197              
198             RETVAL=kto_check_init_p(lut_name,required,set,incremental);
199             OUTPUT:
200             RETVAL
201              
202             int
203             lut_keine_iban_berechnung(inputname,outputname...)
204             char *inputname;
205             char *outputname;
206             PREINIT:
207             #line 436 "KontoCheck.lx"
208             unsigned int set;
209             CODE:
210             #line 438 "KontoCheck.lx"
211             switch(items){
212             case 2:
213             set=0;
214             break;
215             case 3:
216             set=(unsigned int)SvUV(ST(2));
217             break;
218             default:
219             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_keine_iban_berechnung(inputname, outputname[, set])");
220             break;
221             }
222              
223             RETVAL=lut_keine_iban_berechnung(inputname,outputname,set);
224             OUTPUT:
225             RETVAL
226              
227             int
228             generate_lut2(inputname,outputname...)
229             char *inputname;
230             char *outputname;
231             PREINIT:
232             #line 459 "KontoCheck.lx"
233             char *user_info;
234             char *gueltigkeit;
235             char *keine_iban_berechnung;
236             unsigned int felder;
237             unsigned int filialen;
238             unsigned int slots;
239             unsigned int lut_version;
240             unsigned int set;
241             CODE:
242             #line 468 "KontoCheck.lx"
243             keine_iban_berechnung=NULL;
244             gueltigkeit=NULL;
245             felder=-1;
246             filialen=slots=lut_version=set=0;
247             switch(items){
248             case 2:
249             user_info=NULL;
250             break;
251             case 3:
252             user_info=(char *)SvPV_nolen(ST(2));
253             break;
254             case 4:
255             user_info=(char *)SvPV_nolen(ST(2));
256             gueltigkeit=(char *)SvPV_nolen(ST(3));
257             break;
258             case 5:
259             user_info=(char *)SvPV_nolen(ST(2));
260             gueltigkeit=(char *)SvPV_nolen(ST(3));
261             felder=(unsigned int)SvUV(ST(4));
262             break;
263             case 6:
264             user_info=(char *)SvPV_nolen(ST(2));
265             gueltigkeit=(char *)SvPV_nolen(ST(3));
266             felder=(unsigned int)SvUV(ST(4));
267             filialen=(unsigned int)SvUV(ST(5));
268             break;
269             case 7:
270             user_info=(char *)SvPV_nolen(ST(2));
271             gueltigkeit=(char *)SvPV_nolen(ST(3));
272             felder=(unsigned int)SvUV(ST(4));
273             filialen=(unsigned int)SvUV(ST(5));
274             slots=(unsigned int)SvUV(ST(6));
275             break;
276             case 8:
277             user_info=(char *)SvPV_nolen(ST(2));
278             gueltigkeit=(char *)SvPV_nolen(ST(3));
279             felder=(unsigned int)SvUV(ST(4));
280             filialen=(unsigned int)SvUV(ST(5));
281             slots=(unsigned int)SvUV(ST(6));
282             lut_version=(unsigned int)SvUV(ST(7));
283             break;
284             case 9:
285             user_info=(char *)SvPV_nolen(ST(2));
286             gueltigkeit=(char *)SvPV_nolen(ST(3));
287             felder=(unsigned int)SvUV(ST(4));
288             filialen=(unsigned int)SvUV(ST(5));
289             slots=(unsigned int)SvUV(ST(6));
290             lut_version=(unsigned int)SvUV(ST(7));
291             set=(unsigned int)SvUV(ST(8));
292             break;
293             case 10:
294             user_info=(char *)SvPV_nolen(ST(2));
295             gueltigkeit=(char *)SvPV_nolen(ST(3));
296             felder=(unsigned int)SvUV(ST(4));
297             filialen=(unsigned int)SvUV(ST(5));
298             slots=(unsigned int)SvUV(ST(6));
299             lut_version=(unsigned int)SvUV(ST(7));
300             set=(unsigned int)SvUV(ST(8));
301             keine_iban_berechnung=(char *)SvPV_nolen(ST(9));
302             break;
303             default:
304             Perl_croak(aTHX_ "Usage: Business::KontoCheck::generate_lut2(inputname, outputname[, user_info[, gueltigkeit[, felder[, filialen[, slots[, lut_version[, set[, keine_iban_cfg]]]]]]]])");
305             break;
306             }
307              
308             RETVAL=generate_lut2_p(inputname,outputname,user_info,gueltigkeit,felder,filialen,slots,lut_version,set);
309             if(keine_iban_berechnung)lut_keine_iban_berechnung(keine_iban_berechnung,outputname,set);
310             OUTPUT:
311             RETVAL
312              
313             int
314             lut_filialen_i(r,blz)
315             char *blz;
316             int r;
317             CODE:
318             #line 543 "KontoCheck.lx"
319             if(items!=2)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_filialen(blz)");
320             RETVAL=lut_filialen(blz,&r);
321             OUTPUT:
322             r
323             RETVAL
324              
325             int lut_multiple_i(blz,filiale...)
326             char *blz;
327             int filiale;
328             PREINIT:
329             #line 553 "KontoCheck.lx"
330             int cnt;
331             char **p_name;
332             char **p_name_kurz;
333             int *p_plz;
334             char **p_ort;
335             int *p_pan;
336             char **p_bic;
337             int p_pz;
338             int *p_nr;
339             char *p_aenderung;
340             char *p_loeschung;
341             int *p_nachfolge_blz;
342             CODE:
343             #line 566 "KontoCheck.lx"
344             if(items!=14)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_multiple_i(blz, filiale, cnt, "
345             "name, name_kurz, plz, ort, pan, bic, pz, nr, aenderung, loeschung, nachfolge_blz)");
346             RETVAL=lut_multiple(blz,&cnt,NULL,&p_name,&p_name_kurz,&p_plz,&p_ort,&p_pan,&p_bic,&p_pz,&p_nr,
347             &p_aenderung,&p_loeschung,&p_nachfolge_blz,NULL,NULL,NULL);
348             if(RETVAL>0 || RETVAL==LUT2_PARTIAL_OK){
349             sv_setiv(ST(2), (IV)cnt);
350             SvSETMAGIC(ST(2));
351             sv_setpv((SV*)ST(3), p_name[filiale]);
352             SvSETMAGIC(ST(3));
353             sv_setpv((SV*)ST(4), p_name_kurz[filiale]);
354             SvSETMAGIC(ST(4));
355             sv_setiv(ST(5), (IV)p_plz[filiale]);
356             SvSETMAGIC(ST(5));
357             sv_setpv((SV*)ST(6), p_ort[filiale]);
358             SvSETMAGIC(ST(6));
359             sv_setiv(ST(7), (IV)p_pan[filiale]);
360             SvSETMAGIC(ST(7));
361             sv_setpv((SV*)ST(8), p_bic[filiale]);
362             SvSETMAGIC(ST(8));
363             sv_setiv(ST(9), (IV)p_pz);
364             SvSETMAGIC(ST(9));
365             sv_setiv(ST(10), (IV)p_nr[filiale]);
366             SvSETMAGIC(ST(10));
367             sv_setiv(ST(11), (IV)p_aenderung[filiale]);
368             SvSETMAGIC(ST(11));
369             sv_setiv(ST(12), (IV)p_loeschung[filiale]);
370             SvSETMAGIC(ST(12));
371             sv_setiv(ST(13), (IV)p_nachfolge_blz[filiale]);
372             SvSETMAGIC(ST(13));
373             }
374             else{
375             sv_setiv(ST(2), (IV)0);
376             SvSETMAGIC(ST(2));
377             }
378             OUTPUT:
379             RETVAL
380              
381             #line 604 "KontoCheck.lx"
382             const char *
383             pz2str(pz...)
384             int pz;
385             CODE:
386             int ret;
387             #line 611 "KontoCheck.lx"
388             if(items<1 || items>2)Perl_croak(aTHX_ "Usage: Business::KontoCheck::pz2str(pz[,retval])");
389              
390             RETVAL=pz2str(pz,&ret);
391             if(items==2){
392             sv_setiv(ST(1),(IV)ret);
393             SvSETMAGIC(ST(1));
394             }
395             OUTPUT:
396             RETVAL
397              
398             #line 622 "KontoCheck.lx"
399             int
400             lut_blz_i(blz...)
401             char *blz;
402             PREINIT:
403             #line 628 "KontoCheck.lx"
404             unsigned int offset;
405             CODE:
406             #line 631 "KontoCheck.lx"
407             if(items==1)
408             offset=0;
409             else if(items==2 || items==3)
410             offset=(unsigned int)SvUV(ST(1));
411             else
412             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_blz(blz[,offset[,retval]])");
413              
414             RETVAL=lut_blz(blz,offset);
415             if(items==3){
416             sv_setiv(ST(2),(IV)RETVAL);
417             SvSETMAGIC(ST(2));
418             }
419             OUTPUT:
420             RETVAL
421              
422             #line 647 "KontoCheck.lx"
423             int
424             bic_info_i(bic,mode,anzahl,start_idx)
425             char *bic;
426             int mode;
427             int anzahl;
428             int start_idx;
429             CODE:
430             #line 656 "KontoCheck.lx"
431             if(items!=4)Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_info(bic,mode,anzahl,start_idx))");
432              
433             RETVAL=bic_info(bic,mode,&anzahl,&start_idx);
434             sv_setiv(ST(2),(IV)anzahl);
435             SvSETMAGIC(ST(2));
436             sv_setiv(ST(3),(IV)start_idx);
437             SvSETMAGIC(ST(3));
438             OUTPUT:
439             RETVAL
440              
441             #line 640 "KontoCheck.lx"
442              
443             const char *
444             lut_name_i(r,blz...)
445             char *blz;
446             int r;
447             PREINIT:
448             #line 647 "KontoCheck.lx"
449             unsigned int zweigstelle;
450             CODE:
451             #line 650 "KontoCheck.lx"
452             if(items==2)
453             zweigstelle=0;
454             else if(items==3 || items==4)
455             zweigstelle=(unsigned int)SvUV(ST(2));
456             else
457             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_name(blz[,zweigstelle[,retval]])");
458              
459             RETVAL=lut_name(blz,zweigstelle,&r);
460             if(items==4){
461             sv_setiv(ST(3),(IV)r);
462             SvSETMAGIC(ST(3));
463             }
464             OUTPUT:
465             r
466             RETVAL
467              
468             #line 641 "KontoCheck.lx"
469              
470             const char *
471             lut_name_kurz_i(r,blz...)
472             char *blz;
473             int r;
474             PREINIT:
475             #line 648 "KontoCheck.lx"
476             unsigned int zweigstelle;
477             CODE:
478             #line 651 "KontoCheck.lx"
479             if(items==2)
480             zweigstelle=0;
481             else if(items==3 || items==4)
482             zweigstelle=(unsigned int)SvUV(ST(2));
483             else
484             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_name_kurz(blz[,zweigstelle[,retval]])");
485              
486             RETVAL=lut_name_kurz(blz,zweigstelle,&r);
487             if(items==4){
488             sv_setiv(ST(3),(IV)r);
489             SvSETMAGIC(ST(3));
490             }
491             OUTPUT:
492             r
493             RETVAL
494              
495             #line 642 "KontoCheck.lx"
496              
497             int
498             lut_plz_i(r,blz...)
499             char *blz;
500             int r;
501             PREINIT:
502             #line 649 "KontoCheck.lx"
503             unsigned int zweigstelle;
504             CODE:
505             #line 652 "KontoCheck.lx"
506             if(items==2)
507             zweigstelle=0;
508             else if(items==3 || items==4)
509             zweigstelle=(unsigned int)SvUV(ST(2));
510             else
511             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_plz(blz[,zweigstelle[,retval]])");
512              
513             RETVAL=lut_plz(blz,zweigstelle,&r);
514             if(items==4){
515             sv_setiv(ST(3),(IV)r);
516             SvSETMAGIC(ST(3));
517             }
518             OUTPUT:
519             r
520             RETVAL
521              
522             #line 643 "KontoCheck.lx"
523              
524             const char *
525             lut_ort_i(r,blz...)
526             char *blz;
527             int r;
528             PREINIT:
529             #line 650 "KontoCheck.lx"
530             unsigned int zweigstelle;
531             CODE:
532             #line 653 "KontoCheck.lx"
533             if(items==2)
534             zweigstelle=0;
535             else if(items==3 || items==4)
536             zweigstelle=(unsigned int)SvUV(ST(2));
537             else
538             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_ort(blz[,zweigstelle[,retval]])");
539              
540             RETVAL=lut_ort(blz,zweigstelle,&r);
541             if(items==4){
542             sv_setiv(ST(3),(IV)r);
543             SvSETMAGIC(ST(3));
544             }
545             OUTPUT:
546             r
547             RETVAL
548              
549             #line 644 "KontoCheck.lx"
550              
551             int
552             lut_pan_i(r,blz...)
553             char *blz;
554             int r;
555             PREINIT:
556             #line 651 "KontoCheck.lx"
557             unsigned int zweigstelle;
558             CODE:
559             #line 654 "KontoCheck.lx"
560             if(items==2)
561             zweigstelle=0;
562             else if(items==3 || items==4)
563             zweigstelle=(unsigned int)SvUV(ST(2));
564             else
565             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_pan(blz[,zweigstelle[,retval]])");
566              
567             RETVAL=lut_pan(blz,zweigstelle,&r);
568             if(items==4){
569             sv_setiv(ST(3),(IV)r);
570             SvSETMAGIC(ST(3));
571             }
572             OUTPUT:
573             r
574             RETVAL
575              
576             #line 645 "KontoCheck.lx"
577              
578             const char *
579             lut_bic_i(r,blz...)
580             char *blz;
581             int r;
582             PREINIT:
583             #line 652 "KontoCheck.lx"
584             unsigned int zweigstelle;
585             CODE:
586             #line 655 "KontoCheck.lx"
587             if(items==2)
588             zweigstelle=0;
589             else if(items==3 || items==4)
590             zweigstelle=(unsigned int)SvUV(ST(2));
591             else
592             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_bic(blz[,zweigstelle[,retval]])");
593              
594             RETVAL=lut_bic(blz,zweigstelle,&r);
595             if(items==4){
596             sv_setiv(ST(3),(IV)r);
597             SvSETMAGIC(ST(3));
598             }
599             OUTPUT:
600             r
601             RETVAL
602              
603             #line 646 "KontoCheck.lx"
604              
605             int
606             lut_pz_i(r,blz...)
607             char *blz;
608             int r;
609             PREINIT:
610             #line 653 "KontoCheck.lx"
611             unsigned int zweigstelle;
612             CODE:
613             #line 656 "KontoCheck.lx"
614             if(items==2)
615             zweigstelle=0;
616             else if(items==3 || items==4)
617             zweigstelle=(unsigned int)SvUV(ST(2));
618             else
619             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_pz(blz[,zweigstelle[,retval]])");
620              
621             RETVAL=lut_pz(blz,zweigstelle,&r);
622             if(items==4){
623             sv_setiv(ST(3),(IV)r);
624             SvSETMAGIC(ST(3));
625             }
626             OUTPUT:
627             r
628             RETVAL
629              
630             #line 647 "KontoCheck.lx"
631              
632             int
633             lut_aenderung_i(r,blz...)
634             char *blz;
635             int r;
636             PREINIT:
637             #line 654 "KontoCheck.lx"
638             unsigned int zweigstelle;
639             CODE:
640             #line 657 "KontoCheck.lx"
641             if(items==2)
642             zweigstelle=0;
643             else if(items==3 || items==4)
644             zweigstelle=(unsigned int)SvUV(ST(2));
645             else
646             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_aenderung(blz[,zweigstelle[,retval]])");
647              
648             RETVAL=lut_aenderung(blz,zweigstelle,&r);
649             if(items==4){
650             sv_setiv(ST(3),(IV)r);
651             SvSETMAGIC(ST(3));
652             }
653             OUTPUT:
654             r
655             RETVAL
656              
657             #line 648 "KontoCheck.lx"
658              
659             int
660             lut_loeschung_i(r,blz...)
661             char *blz;
662             int r;
663             PREINIT:
664             #line 655 "KontoCheck.lx"
665             unsigned int zweigstelle;
666             CODE:
667             #line 658 "KontoCheck.lx"
668             if(items==2)
669             zweigstelle=0;
670             else if(items==3 || items==4)
671             zweigstelle=(unsigned int)SvUV(ST(2));
672             else
673             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_loeschung(blz[,zweigstelle[,retval]])");
674              
675             RETVAL=lut_loeschung(blz,zweigstelle,&r);
676             if(items==4){
677             sv_setiv(ST(3),(IV)r);
678             SvSETMAGIC(ST(3));
679             }
680             OUTPUT:
681             r
682             RETVAL
683              
684             #line 649 "KontoCheck.lx"
685              
686             int
687             lut_nachfolge_blz_i(r,blz...)
688             char *blz;
689             int r;
690             PREINIT:
691             #line 656 "KontoCheck.lx"
692             unsigned int zweigstelle;
693             CODE:
694             #line 659 "KontoCheck.lx"
695             if(items==2)
696             zweigstelle=0;
697             else if(items==3 || items==4)
698             zweigstelle=(unsigned int)SvUV(ST(2));
699             else
700             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_nachfolge_blz(blz[,zweigstelle[,retval]])");
701              
702             RETVAL=lut_nachfolge_blz(blz,zweigstelle,&r);
703             if(items==4){
704             sv_setiv(ST(3),(IV)r);
705             SvSETMAGIC(ST(3));
706             }
707             OUTPUT:
708             r
709             RETVAL
710              
711             #line 650 "KontoCheck.lx"
712              
713             int
714             lut_iban_regel_i(r,blz...)
715             char *blz;
716             int r;
717             PREINIT:
718             #line 657 "KontoCheck.lx"
719             unsigned int zweigstelle;
720             CODE:
721             #line 660 "KontoCheck.lx"
722             if(items==2)
723             zweigstelle=0;
724             else if(items==3 || items==4)
725             zweigstelle=(unsigned int)SvUV(ST(2));
726             else
727             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_iban_regel(blz[,zweigstelle[,retval]])");
728              
729             RETVAL=lut_iban_regel(blz,zweigstelle,&r);
730             if(items==4){
731             sv_setiv(ST(3),(IV)r);
732             SvSETMAGIC(ST(3));
733             }
734             OUTPUT:
735             r
736             RETVAL
737              
738              
739             #line 646 "KontoCheck.lx"
740              
741             const char *
742             bic_name_i(r,bic...)
743             char *bic;
744             int r;
745             PREINIT:
746             #line 653 "KontoCheck.lx"
747             unsigned int zweigstelle,mode;
748             CODE:
749             #line 656 "KontoCheck.lx"
750             if(items==2)
751             mode=zweigstelle=0;
752             else if(items==3){
753             mode=(unsigned int)SvUV(ST(2));
754             zweigstelle=0;
755             }
756             else if(items==4 || items==5){
757             mode=(unsigned int)SvUV(ST(2));
758             zweigstelle=(unsigned int)SvUV(ST(3));
759             }
760             else
761             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_name(bic[,mode[,zweigstelle[,retval]]])");
762              
763             RETVAL=bic_name(bic,mode,zweigstelle,&r);
764             if(items==5){
765             sv_setiv(ST(4),(IV)r);
766             SvSETMAGIC(ST(4));
767             }
768             OUTPUT:
769             r
770             RETVAL
771              
772             #line 647 "KontoCheck.lx"
773              
774             const char *
775             bic_name_kurz_i(r,bic...)
776             char *bic;
777             int r;
778             PREINIT:
779             #line 654 "KontoCheck.lx"
780             unsigned int zweigstelle,mode;
781             CODE:
782             #line 657 "KontoCheck.lx"
783             if(items==2)
784             mode=zweigstelle=0;
785             else if(items==3){
786             mode=(unsigned int)SvUV(ST(2));
787             zweigstelle=0;
788             }
789             else if(items==4 || items==5){
790             mode=(unsigned int)SvUV(ST(2));
791             zweigstelle=(unsigned int)SvUV(ST(3));
792             }
793             else
794             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_name_kurz(bic[,mode[,zweigstelle[,retval]]])");
795              
796             RETVAL=bic_name_kurz(bic,mode,zweigstelle,&r);
797             if(items==5){
798             sv_setiv(ST(4),(IV)r);
799             SvSETMAGIC(ST(4));
800             }
801             OUTPUT:
802             r
803             RETVAL
804              
805             #line 648 "KontoCheck.lx"
806              
807             int
808             bic_plz_i(r,bic...)
809             char *bic;
810             int r;
811             PREINIT:
812             #line 655 "KontoCheck.lx"
813             unsigned int zweigstelle,mode;
814             CODE:
815             #line 658 "KontoCheck.lx"
816             if(items==2)
817             mode=zweigstelle=0;
818             else if(items==3){
819             mode=(unsigned int)SvUV(ST(2));
820             zweigstelle=0;
821             }
822             else if(items==4 || items==5){
823             mode=(unsigned int)SvUV(ST(2));
824             zweigstelle=(unsigned int)SvUV(ST(3));
825             }
826             else
827             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_plz(bic[,mode[,zweigstelle[,retval]]])");
828              
829             RETVAL=bic_plz(bic,mode,zweigstelle,&r);
830             if(items==5){
831             sv_setiv(ST(4),(IV)r);
832             SvSETMAGIC(ST(4));
833             }
834             OUTPUT:
835             r
836             RETVAL
837              
838             #line 649 "KontoCheck.lx"
839              
840             const char *
841             bic_ort_i(r,bic...)
842             char *bic;
843             int r;
844             PREINIT:
845             #line 656 "KontoCheck.lx"
846             unsigned int zweigstelle,mode;
847             CODE:
848             #line 659 "KontoCheck.lx"
849             if(items==2)
850             mode=zweigstelle=0;
851             else if(items==3){
852             mode=(unsigned int)SvUV(ST(2));
853             zweigstelle=0;
854             }
855             else if(items==4 || items==5){
856             mode=(unsigned int)SvUV(ST(2));
857             zweigstelle=(unsigned int)SvUV(ST(3));
858             }
859             else
860             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_ort(bic[,mode[,zweigstelle[,retval]]])");
861              
862             RETVAL=bic_ort(bic,mode,zweigstelle,&r);
863             if(items==5){
864             sv_setiv(ST(4),(IV)r);
865             SvSETMAGIC(ST(4));
866             }
867             OUTPUT:
868             r
869             RETVAL
870              
871             #line 650 "KontoCheck.lx"
872              
873             int
874             bic_pan_i(r,bic...)
875             char *bic;
876             int r;
877             PREINIT:
878             #line 657 "KontoCheck.lx"
879             unsigned int zweigstelle,mode;
880             CODE:
881             #line 660 "KontoCheck.lx"
882             if(items==2)
883             mode=zweigstelle=0;
884             else if(items==3){
885             mode=(unsigned int)SvUV(ST(2));
886             zweigstelle=0;
887             }
888             else if(items==4 || items==5){
889             mode=(unsigned int)SvUV(ST(2));
890             zweigstelle=(unsigned int)SvUV(ST(3));
891             }
892             else
893             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_pan(bic[,mode[,zweigstelle[,retval]]])");
894              
895             RETVAL=bic_pan(bic,mode,zweigstelle,&r);
896             if(items==5){
897             sv_setiv(ST(4),(IV)r);
898             SvSETMAGIC(ST(4));
899             }
900             OUTPUT:
901             r
902             RETVAL
903              
904             #line 651 "KontoCheck.lx"
905              
906             const char *
907             bic_bic_i(r,bic...)
908             char *bic;
909             int r;
910             PREINIT:
911             #line 658 "KontoCheck.lx"
912             unsigned int zweigstelle,mode;
913             CODE:
914             #line 661 "KontoCheck.lx"
915             if(items==2)
916             mode=zweigstelle=0;
917             else if(items==3){
918             mode=(unsigned int)SvUV(ST(2));
919             zweigstelle=0;
920             }
921             else if(items==4 || items==5){
922             mode=(unsigned int)SvUV(ST(2));
923             zweigstelle=(unsigned int)SvUV(ST(3));
924             }
925             else
926             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_bic(bic[,mode[,zweigstelle[,retval]]])");
927              
928             RETVAL=bic_bic(bic,mode,zweigstelle,&r);
929             if(items==5){
930             sv_setiv(ST(4),(IV)r);
931             SvSETMAGIC(ST(4));
932             }
933             OUTPUT:
934             r
935             RETVAL
936              
937             #line 652 "KontoCheck.lx"
938              
939             int
940             bic_pz_i(r,bic...)
941             char *bic;
942             int r;
943             PREINIT:
944             #line 659 "KontoCheck.lx"
945             unsigned int zweigstelle,mode;
946             CODE:
947             #line 662 "KontoCheck.lx"
948             if(items==2)
949             mode=zweigstelle=0;
950             else if(items==3){
951             mode=(unsigned int)SvUV(ST(2));
952             zweigstelle=0;
953             }
954             else if(items==4 || items==5){
955             mode=(unsigned int)SvUV(ST(2));
956             zweigstelle=(unsigned int)SvUV(ST(3));
957             }
958             else
959             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_pz(bic[,mode[,zweigstelle[,retval]]])");
960              
961             RETVAL=bic_pz(bic,mode,zweigstelle,&r);
962             if(items==5){
963             sv_setiv(ST(4),(IV)r);
964             SvSETMAGIC(ST(4));
965             }
966             OUTPUT:
967             r
968             RETVAL
969              
970             #line 653 "KontoCheck.lx"
971              
972             int
973             bic_aenderung_i(r,bic...)
974             char *bic;
975             int r;
976             PREINIT:
977             #line 660 "KontoCheck.lx"
978             unsigned int zweigstelle,mode;
979             CODE:
980             #line 663 "KontoCheck.lx"
981             if(items==2)
982             mode=zweigstelle=0;
983             else if(items==3){
984             mode=(unsigned int)SvUV(ST(2));
985             zweigstelle=0;
986             }
987             else if(items==4 || items==5){
988             mode=(unsigned int)SvUV(ST(2));
989             zweigstelle=(unsigned int)SvUV(ST(3));
990             }
991             else
992             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_aenderung(bic[,mode[,zweigstelle[,retval]]])");
993              
994             RETVAL=bic_aenderung(bic,mode,zweigstelle,&r);
995             if(items==5){
996             sv_setiv(ST(4),(IV)r);
997             SvSETMAGIC(ST(4));
998             }
999             OUTPUT:
1000             r
1001             RETVAL
1002              
1003             #line 654 "KontoCheck.lx"
1004              
1005             int
1006             bic_loeschung_i(r,bic...)
1007             char *bic;
1008             int r;
1009             PREINIT:
1010             #line 661 "KontoCheck.lx"
1011             unsigned int zweigstelle,mode;
1012             CODE:
1013             #line 664 "KontoCheck.lx"
1014             if(items==2)
1015             mode=zweigstelle=0;
1016             else if(items==3){
1017             mode=(unsigned int)SvUV(ST(2));
1018             zweigstelle=0;
1019             }
1020             else if(items==4 || items==5){
1021             mode=(unsigned int)SvUV(ST(2));
1022             zweigstelle=(unsigned int)SvUV(ST(3));
1023             }
1024             else
1025             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_loeschung(bic[,mode[,zweigstelle[,retval]]])");
1026              
1027             RETVAL=bic_loeschung(bic,mode,zweigstelle,&r);
1028             if(items==5){
1029             sv_setiv(ST(4),(IV)r);
1030             SvSETMAGIC(ST(4));
1031             }
1032             OUTPUT:
1033             r
1034             RETVAL
1035              
1036             #line 655 "KontoCheck.lx"
1037              
1038             int
1039             bic_nachfolge_blz_i(r,bic...)
1040             char *bic;
1041             int r;
1042             PREINIT:
1043             #line 662 "KontoCheck.lx"
1044             unsigned int zweigstelle,mode;
1045             CODE:
1046             #line 665 "KontoCheck.lx"
1047             if(items==2)
1048             mode=zweigstelle=0;
1049             else if(items==3){
1050             mode=(unsigned int)SvUV(ST(2));
1051             zweigstelle=0;
1052             }
1053             else if(items==4 || items==5){
1054             mode=(unsigned int)SvUV(ST(2));
1055             zweigstelle=(unsigned int)SvUV(ST(3));
1056             }
1057             else
1058             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_nachfolge_blz(bic[,mode[,zweigstelle[,retval]]])");
1059              
1060             RETVAL=bic_nachfolge_blz(bic,mode,zweigstelle,&r);
1061             if(items==5){
1062             sv_setiv(ST(4),(IV)r);
1063             SvSETMAGIC(ST(4));
1064             }
1065             OUTPUT:
1066             r
1067             RETVAL
1068              
1069             #line 656 "KontoCheck.lx"
1070              
1071             int
1072             bic_iban_regel_i(r,bic...)
1073             char *bic;
1074             int r;
1075             PREINIT:
1076             #line 663 "KontoCheck.lx"
1077             unsigned int zweigstelle,mode;
1078             CODE:
1079             #line 666 "KontoCheck.lx"
1080             if(items==2)
1081             mode=zweigstelle=0;
1082             else if(items==3){
1083             mode=(unsigned int)SvUV(ST(2));
1084             zweigstelle=0;
1085             }
1086             else if(items==4 || items==5){
1087             mode=(unsigned int)SvUV(ST(2));
1088             zweigstelle=(unsigned int)SvUV(ST(3));
1089             }
1090             else
1091             Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_iban_regel(bic[,mode[,zweigstelle[,retval]]])");
1092              
1093             RETVAL=bic_iban_regel(bic,mode,zweigstelle,&r);
1094             if(items==5){
1095             sv_setiv(ST(4),(IV)r);
1096             SvSETMAGIC(ST(4));
1097             }
1098             OUTPUT:
1099             r
1100             RETVAL
1101              
1102              
1103             #line 671 "KontoCheck.lx"
1104              
1105             const char *
1106             biq_name_i(r,idx...)
1107             int r;
1108             int idx;
1109             CODE:
1110             #line 678 "KontoCheck.lx"
1111             if(items<2 || items>3)
1112             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_name(idx[,retval]])");
1113              
1114             RETVAL=biq_name(idx,&r);
1115             if(items==3){
1116             sv_setiv(ST(2),(IV)r);
1117             SvSETMAGIC(ST(2));
1118             }
1119             OUTPUT:
1120             r
1121             RETVAL
1122              
1123             #line 672 "KontoCheck.lx"
1124              
1125             const char *
1126             biq_name_kurz_i(r,idx...)
1127             int r;
1128             int idx;
1129             CODE:
1130             #line 679 "KontoCheck.lx"
1131             if(items<2 || items>3)
1132             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_name_kurz(idx[,retval]])");
1133              
1134             RETVAL=biq_name_kurz(idx,&r);
1135             if(items==3){
1136             sv_setiv(ST(2),(IV)r);
1137             SvSETMAGIC(ST(2));
1138             }
1139             OUTPUT:
1140             r
1141             RETVAL
1142              
1143             #line 673 "KontoCheck.lx"
1144              
1145             int
1146             biq_plz_i(r,idx...)
1147             int r;
1148             int idx;
1149             CODE:
1150             #line 680 "KontoCheck.lx"
1151             if(items<2 || items>3)
1152             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_plz(idx[,retval]])");
1153              
1154             RETVAL=biq_plz(idx,&r);
1155             if(items==3){
1156             sv_setiv(ST(2),(IV)r);
1157             SvSETMAGIC(ST(2));
1158             }
1159             OUTPUT:
1160             r
1161             RETVAL
1162              
1163             #line 674 "KontoCheck.lx"
1164              
1165             const char *
1166             biq_ort_i(r,idx...)
1167             int r;
1168             int idx;
1169             CODE:
1170             #line 681 "KontoCheck.lx"
1171             if(items<2 || items>3)
1172             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_ort(idx[,retval]])");
1173              
1174             RETVAL=biq_ort(idx,&r);
1175             if(items==3){
1176             sv_setiv(ST(2),(IV)r);
1177             SvSETMAGIC(ST(2));
1178             }
1179             OUTPUT:
1180             r
1181             RETVAL
1182              
1183             #line 675 "KontoCheck.lx"
1184              
1185             int
1186             biq_pan_i(r,idx...)
1187             int r;
1188             int idx;
1189             CODE:
1190             #line 682 "KontoCheck.lx"
1191             if(items<2 || items>3)
1192             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_pan(idx[,retval]])");
1193              
1194             RETVAL=biq_pan(idx,&r);
1195             if(items==3){
1196             sv_setiv(ST(2),(IV)r);
1197             SvSETMAGIC(ST(2));
1198             }
1199             OUTPUT:
1200             r
1201             RETVAL
1202              
1203             #line 676 "KontoCheck.lx"
1204              
1205             const char *
1206             biq_bic_i(r,idx...)
1207             int r;
1208             int idx;
1209             CODE:
1210             #line 683 "KontoCheck.lx"
1211             if(items<2 || items>3)
1212             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_bic(idx[,retval]])");
1213              
1214             RETVAL=biq_bic(idx,&r);
1215             if(items==3){
1216             sv_setiv(ST(2),(IV)r);
1217             SvSETMAGIC(ST(2));
1218             }
1219             OUTPUT:
1220             r
1221             RETVAL
1222              
1223             #line 677 "KontoCheck.lx"
1224              
1225             int
1226             biq_pz_i(r,idx...)
1227             int r;
1228             int idx;
1229             CODE:
1230             #line 684 "KontoCheck.lx"
1231             if(items<2 || items>3)
1232             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_pz(idx[,retval]])");
1233              
1234             RETVAL=biq_pz(idx,&r);
1235             if(items==3){
1236             sv_setiv(ST(2),(IV)r);
1237             SvSETMAGIC(ST(2));
1238             }
1239             OUTPUT:
1240             r
1241             RETVAL
1242              
1243             #line 678 "KontoCheck.lx"
1244              
1245             int
1246             biq_aenderung_i(r,idx...)
1247             int r;
1248             int idx;
1249             CODE:
1250             #line 685 "KontoCheck.lx"
1251             if(items<2 || items>3)
1252             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_aenderung(idx[,retval]])");
1253              
1254             RETVAL=biq_aenderung(idx,&r);
1255             if(items==3){
1256             sv_setiv(ST(2),(IV)r);
1257             SvSETMAGIC(ST(2));
1258             }
1259             OUTPUT:
1260             r
1261             RETVAL
1262              
1263             #line 679 "KontoCheck.lx"
1264              
1265             int
1266             biq_loeschung_i(r,idx...)
1267             int r;
1268             int idx;
1269             CODE:
1270             #line 686 "KontoCheck.lx"
1271             if(items<2 || items>3)
1272             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_loeschung(idx[,retval]])");
1273              
1274             RETVAL=biq_loeschung(idx,&r);
1275             if(items==3){
1276             sv_setiv(ST(2),(IV)r);
1277             SvSETMAGIC(ST(2));
1278             }
1279             OUTPUT:
1280             r
1281             RETVAL
1282              
1283             #line 680 "KontoCheck.lx"
1284              
1285             int
1286             biq_nachfolge_blz_i(r,idx...)
1287             int r;
1288             int idx;
1289             CODE:
1290             #line 687 "KontoCheck.lx"
1291             if(items<2 || items>3)
1292             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_nachfolge_blz(idx[,retval]])");
1293              
1294             RETVAL=biq_nachfolge_blz(idx,&r);
1295             if(items==3){
1296             sv_setiv(ST(2),(IV)r);
1297             SvSETMAGIC(ST(2));
1298             }
1299             OUTPUT:
1300             r
1301             RETVAL
1302              
1303             #line 681 "KontoCheck.lx"
1304              
1305             int
1306             biq_iban_regel_i(r,idx...)
1307             int r;
1308             int idx;
1309             CODE:
1310             #line 688 "KontoCheck.lx"
1311             if(items<2 || items>3)
1312             Perl_croak(aTHX_ "Usage: Business::KontoCheck::biq_iban_regel(idx[,retval]])");
1313              
1314             RETVAL=biq_iban_regel(idx,&r);
1315             if(items==3){
1316             sv_setiv(ST(2),(IV)r);
1317             SvSETMAGIC(ST(2));
1318             }
1319             OUTPUT:
1320             r
1321             RETVAL
1322              
1323              
1324             #line 676 "KontoCheck.lx"
1325              
1326             const char *
1327             iban_name_i(r,iban...)
1328             char *iban;
1329             int r;
1330             PREINIT:
1331             #line 683 "KontoCheck.lx"
1332             unsigned int zweigstelle;
1333             CODE:
1334             #line 686 "KontoCheck.lx"
1335             if(items==2)
1336             zweigstelle=0;
1337             else if(items==3 || items==4)
1338             zweigstelle=(unsigned int)SvUV(ST(2));
1339             else
1340             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_name(iban[,zweigstelle[,retval]])");
1341              
1342             RETVAL=iban_name(iban,zweigstelle,&r);
1343             if(items==4){
1344             sv_setiv(ST(3),(IV)r);
1345             SvSETMAGIC(ST(3));
1346             }
1347             OUTPUT:
1348             r
1349             RETVAL
1350              
1351             #line 677 "KontoCheck.lx"
1352              
1353             const char *
1354             iban_name_kurz_i(r,iban...)
1355             char *iban;
1356             int r;
1357             PREINIT:
1358             #line 684 "KontoCheck.lx"
1359             unsigned int zweigstelle;
1360             CODE:
1361             #line 687 "KontoCheck.lx"
1362             if(items==2)
1363             zweigstelle=0;
1364             else if(items==3 || items==4)
1365             zweigstelle=(unsigned int)SvUV(ST(2));
1366             else
1367             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_name_kurz(iban[,zweigstelle[,retval]])");
1368              
1369             RETVAL=iban_name_kurz(iban,zweigstelle,&r);
1370             if(items==4){
1371             sv_setiv(ST(3),(IV)r);
1372             SvSETMAGIC(ST(3));
1373             }
1374             OUTPUT:
1375             r
1376             RETVAL
1377              
1378             #line 678 "KontoCheck.lx"
1379              
1380             int
1381             iban_plz_i(r,iban...)
1382             char *iban;
1383             int r;
1384             PREINIT:
1385             #line 685 "KontoCheck.lx"
1386             unsigned int zweigstelle;
1387             CODE:
1388             #line 688 "KontoCheck.lx"
1389             if(items==2)
1390             zweigstelle=0;
1391             else if(items==3 || items==4)
1392             zweigstelle=(unsigned int)SvUV(ST(2));
1393             else
1394             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_plz(iban[,zweigstelle[,retval]])");
1395              
1396             RETVAL=iban_plz(iban,zweigstelle,&r);
1397             if(items==4){
1398             sv_setiv(ST(3),(IV)r);
1399             SvSETMAGIC(ST(3));
1400             }
1401             OUTPUT:
1402             r
1403             RETVAL
1404              
1405             #line 679 "KontoCheck.lx"
1406              
1407             const char *
1408             iban_ort_i(r,iban...)
1409             char *iban;
1410             int r;
1411             PREINIT:
1412             #line 686 "KontoCheck.lx"
1413             unsigned int zweigstelle;
1414             CODE:
1415             #line 689 "KontoCheck.lx"
1416             if(items==2)
1417             zweigstelle=0;
1418             else if(items==3 || items==4)
1419             zweigstelle=(unsigned int)SvUV(ST(2));
1420             else
1421             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_ort(iban[,zweigstelle[,retval]])");
1422              
1423             RETVAL=iban_ort(iban,zweigstelle,&r);
1424             if(items==4){
1425             sv_setiv(ST(3),(IV)r);
1426             SvSETMAGIC(ST(3));
1427             }
1428             OUTPUT:
1429             r
1430             RETVAL
1431              
1432             #line 680 "KontoCheck.lx"
1433              
1434             int
1435             iban_pan_i(r,iban...)
1436             char *iban;
1437             int r;
1438             PREINIT:
1439             #line 687 "KontoCheck.lx"
1440             unsigned int zweigstelle;
1441             CODE:
1442             #line 690 "KontoCheck.lx"
1443             if(items==2)
1444             zweigstelle=0;
1445             else if(items==3 || items==4)
1446             zweigstelle=(unsigned int)SvUV(ST(2));
1447             else
1448             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_pan(iban[,zweigstelle[,retval]])");
1449              
1450             RETVAL=iban_pan(iban,zweigstelle,&r);
1451             if(items==4){
1452             sv_setiv(ST(3),(IV)r);
1453             SvSETMAGIC(ST(3));
1454             }
1455             OUTPUT:
1456             r
1457             RETVAL
1458              
1459             #line 681 "KontoCheck.lx"
1460              
1461             const char *
1462             iban_bic_i(r,iban...)
1463             char *iban;
1464             int r;
1465             PREINIT:
1466             #line 688 "KontoCheck.lx"
1467             unsigned int zweigstelle;
1468             CODE:
1469             #line 691 "KontoCheck.lx"
1470             if(items==2)
1471             zweigstelle=0;
1472             else if(items==3 || items==4)
1473             zweigstelle=(unsigned int)SvUV(ST(2));
1474             else
1475             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_bic(iban[,zweigstelle[,retval]])");
1476              
1477             RETVAL=iban_bic(iban,zweigstelle,&r);
1478             if(items==4){
1479             sv_setiv(ST(3),(IV)r);
1480             SvSETMAGIC(ST(3));
1481             }
1482             OUTPUT:
1483             r
1484             RETVAL
1485              
1486             #line 682 "KontoCheck.lx"
1487              
1488             int
1489             iban_pz_i(r,iban...)
1490             char *iban;
1491             int r;
1492             PREINIT:
1493             #line 689 "KontoCheck.lx"
1494             unsigned int zweigstelle;
1495             CODE:
1496             #line 692 "KontoCheck.lx"
1497             if(items==2)
1498             zweigstelle=0;
1499             else if(items==3 || items==4)
1500             zweigstelle=(unsigned int)SvUV(ST(2));
1501             else
1502             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_pz(iban[,zweigstelle[,retval]])");
1503              
1504             RETVAL=iban_pz(iban,zweigstelle,&r);
1505             if(items==4){
1506             sv_setiv(ST(3),(IV)r);
1507             SvSETMAGIC(ST(3));
1508             }
1509             OUTPUT:
1510             r
1511             RETVAL
1512              
1513             #line 683 "KontoCheck.lx"
1514              
1515             int
1516             iban_aenderung_i(r,iban...)
1517             char *iban;
1518             int r;
1519             PREINIT:
1520             #line 690 "KontoCheck.lx"
1521             unsigned int zweigstelle;
1522             CODE:
1523             #line 693 "KontoCheck.lx"
1524             if(items==2)
1525             zweigstelle=0;
1526             else if(items==3 || items==4)
1527             zweigstelle=(unsigned int)SvUV(ST(2));
1528             else
1529             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_aenderung(iban[,zweigstelle[,retval]])");
1530              
1531             RETVAL=iban_aenderung(iban,zweigstelle,&r);
1532             if(items==4){
1533             sv_setiv(ST(3),(IV)r);
1534             SvSETMAGIC(ST(3));
1535             }
1536             OUTPUT:
1537             r
1538             RETVAL
1539              
1540             #line 684 "KontoCheck.lx"
1541              
1542             int
1543             iban_loeschung_i(r,iban...)
1544             char *iban;
1545             int r;
1546             PREINIT:
1547             #line 691 "KontoCheck.lx"
1548             unsigned int zweigstelle;
1549             CODE:
1550             #line 694 "KontoCheck.lx"
1551             if(items==2)
1552             zweigstelle=0;
1553             else if(items==3 || items==4)
1554             zweigstelle=(unsigned int)SvUV(ST(2));
1555             else
1556             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_loeschung(iban[,zweigstelle[,retval]])");
1557              
1558             RETVAL=iban_loeschung(iban,zweigstelle,&r);
1559             if(items==4){
1560             sv_setiv(ST(3),(IV)r);
1561             SvSETMAGIC(ST(3));
1562             }
1563             OUTPUT:
1564             r
1565             RETVAL
1566              
1567             #line 685 "KontoCheck.lx"
1568              
1569             int
1570             iban_nachfolge_blz_i(r,iban...)
1571             char *iban;
1572             int r;
1573             PREINIT:
1574             #line 692 "KontoCheck.lx"
1575             unsigned int zweigstelle;
1576             CODE:
1577             #line 695 "KontoCheck.lx"
1578             if(items==2)
1579             zweigstelle=0;
1580             else if(items==3 || items==4)
1581             zweigstelle=(unsigned int)SvUV(ST(2));
1582             else
1583             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_nachfolge_blz(iban[,zweigstelle[,retval]])");
1584              
1585             RETVAL=iban_nachfolge_blz(iban,zweigstelle,&r);
1586             if(items==4){
1587             sv_setiv(ST(3),(IV)r);
1588             SvSETMAGIC(ST(3));
1589             }
1590             OUTPUT:
1591             r
1592             RETVAL
1593              
1594             #line 686 "KontoCheck.lx"
1595              
1596             int
1597             iban_iban_regel_i(r,iban...)
1598             char *iban;
1599             int r;
1600             PREINIT:
1601             #line 693 "KontoCheck.lx"
1602             unsigned int zweigstelle;
1603             CODE:
1604             #line 696 "KontoCheck.lx"
1605             if(items==2)
1606             zweigstelle=0;
1607             else if(items==3 || items==4)
1608             zweigstelle=(unsigned int)SvUV(ST(2));
1609             else
1610             Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_iban_regel(iban[,zweigstelle[,retval]])");
1611              
1612             RETVAL=iban_iban_regel(iban,zweigstelle,&r);
1613             if(items==4){
1614             sv_setiv(ST(3),(IV)r);
1615             SvSETMAGIC(ST(3));
1616             }
1617             OUTPUT:
1618             r
1619             RETVAL
1620              
1621              
1622             const char *
1623             kto_check_retval2txt(ret)
1624             int ret;
1625             CODE:
1626             #line 694 "KontoCheck.lx"
1627             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2txt(ret)");
1628              
1629             RETVAL=kto_check_retval2txt(ret);
1630             OUTPUT:
1631             RETVAL
1632              
1633              
1634             #line 702 "KontoCheck.lx"
1635              
1636             const char *
1637             retval2txt(ret)
1638             int ret;
1639             CODE:
1640             #line 708 "KontoCheck.lx"
1641             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2txt(ret)");
1642              
1643             RETVAL=kto_check_retval2txt(ret);
1644             OUTPUT:
1645             RETVAL
1646              
1647             const char *
1648             kto_check_retval2iso(ret)
1649             int ret;
1650             CODE:
1651             #line 695 "KontoCheck.lx"
1652             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2iso(ret)");
1653              
1654             RETVAL=kto_check_retval2iso(ret);
1655             OUTPUT:
1656             RETVAL
1657              
1658              
1659             #line 703 "KontoCheck.lx"
1660              
1661             const char *
1662             retval2iso(ret)
1663             int ret;
1664             CODE:
1665             #line 709 "KontoCheck.lx"
1666             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2iso(ret)");
1667              
1668             RETVAL=kto_check_retval2iso(ret);
1669             OUTPUT:
1670             RETVAL
1671              
1672             const char *
1673             kto_check_retval2txt_short(ret)
1674             int ret;
1675             CODE:
1676             #line 696 "KontoCheck.lx"
1677             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2txt_short(ret)");
1678              
1679             RETVAL=kto_check_retval2txt_short(ret);
1680             OUTPUT:
1681             RETVAL
1682              
1683              
1684             #line 704 "KontoCheck.lx"
1685              
1686             const char *
1687             retval2txt_short(ret)
1688             int ret;
1689             CODE:
1690             #line 710 "KontoCheck.lx"
1691             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2txt_short(ret)");
1692              
1693             RETVAL=kto_check_retval2txt_short(ret);
1694             OUTPUT:
1695             RETVAL
1696              
1697             const char *
1698             kto_check_retval2html(ret)
1699             int ret;
1700             CODE:
1701             #line 697 "KontoCheck.lx"
1702             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2html(ret)");
1703              
1704             RETVAL=kto_check_retval2html(ret);
1705             OUTPUT:
1706             RETVAL
1707              
1708              
1709             #line 705 "KontoCheck.lx"
1710              
1711             const char *
1712             retval2html(ret)
1713             int ret;
1714             CODE:
1715             #line 711 "KontoCheck.lx"
1716             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2html(ret)");
1717              
1718             RETVAL=kto_check_retval2html(ret);
1719             OUTPUT:
1720             RETVAL
1721              
1722             const char *
1723             kto_check_retval2utf8(ret)
1724             int ret;
1725             CODE:
1726             #line 698 "KontoCheck.lx"
1727             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2utf8(ret)");
1728              
1729             RETVAL=kto_check_retval2utf8(ret);
1730             OUTPUT:
1731             RETVAL
1732              
1733              
1734             #line 706 "KontoCheck.lx"
1735              
1736             const char *
1737             retval2utf8(ret)
1738             int ret;
1739             CODE:
1740             #line 712 "KontoCheck.lx"
1741             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2utf8(ret)");
1742              
1743             RETVAL=kto_check_retval2utf8(ret);
1744             OUTPUT:
1745             RETVAL
1746              
1747             const char *
1748             kto_check_retval2dos(ret)
1749             int ret;
1750             CODE:
1751             #line 699 "KontoCheck.lx"
1752             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2dos(ret)");
1753              
1754             RETVAL=kto_check_retval2dos(ret);
1755             OUTPUT:
1756             RETVAL
1757              
1758              
1759             #line 707 "KontoCheck.lx"
1760              
1761             const char *
1762             retval2dos(ret)
1763             int ret;
1764             CODE:
1765             #line 713 "KontoCheck.lx"
1766             if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::retval2dos(ret)");
1767              
1768             RETVAL=kto_check_retval2dos(ret);
1769             OUTPUT:
1770             RETVAL
1771              
1772              
1773             const char *
1774             kto_check_encoding_str(mode)
1775             int mode
1776              
1777             int
1778             rebuild_blzfile(inputname,outputname,set)
1779             char *inputname
1780             char *outputname
1781             int set
1782              
1783             int
1784             pz_aenderungen_enable(set)
1785             int set
1786              
1787             int
1788             kto_check_encoding(mode)
1789             int mode
1790              
1791             int
1792             keep_raw_data(mode)
1793             int mode
1794              
1795             const char *
1796             current_lutfile_name_i(want_array...)
1797             int want_array;
1798             PREINIT:
1799             #line 747 "KontoCheck.lx"
1800             int set,level,ret;
1801             CODE:
1802             #line 749 "KontoCheck.lx"
1803             if(items!=4)Perl_croak(aTHX_ "Usage: Business::KontoCheck::current_lutfile_name_i(want_array,set,level,retval)");
1804             if(want_array)
1805             RETVAL=current_lutfile_name(&set,&level,&ret);
1806             else
1807             RETVAL=current_lutfile_name(NULL,NULL,&ret);
1808             if(ret<0)RETVAL="";
1809             if(want_array){
1810             sv_setiv(ST(1), (IV)set);
1811             SvSETMAGIC(ST(1));
1812             sv_setiv(ST(2), (IV)level);
1813             SvSETMAGIC(ST(2));
1814             sv_setiv(ST(3), (IV)ret);
1815             SvSETMAGIC(ST(3));
1816             }
1817             OUTPUT:
1818             RETVAL
1819              
1820              
1821             int
1822             lut_info_i(lut_name...)
1823             char *lut_name;
1824             PREINIT:
1825             #line 771 "KontoCheck.lx"
1826             char *info1,*info2,*dptr;
1827             int valid1,valid2,want_array,ret;
1828             CODE:
1829             #line 774 "KontoCheck.lx"
1830             want_array=(int)SvIV(ST(1));
1831             if(items!=7)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_info_i(lut_name,want_array,info1,valid1,info2,valid2,lut_dir)");
1832             if(want_array<0)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_info(lut_name)");
1833             if(want_array){
1834             ret=lut_info(lut_name,&info1,&info2,&valid1,&valid2);
1835             lut_dir_dump_str(lut_name,&dptr);
1836             if(!info1)info1="";
1837             if(!info2)info2="";
1838             }
1839             else{
1840             ret=lut_info(lut_name,NULL,NULL,&valid1,&valid2);
1841             dptr=info1=info2="";
1842             }
1843             if(ret
1844             RETVAL=ret;
1845             else if(valid1==LUT2_VALID || valid2==LUT2_VALID)
1846             RETVAL=LUT2_VALID;
1847             else if(valid1==LUT1_SET_LOADED)
1848             RETVAL=LUT1_SET_LOADED;
1849             else if(valid1==LUT2_NO_VALID_DATE || valid2==LUT2_NO_VALID_DATE)
1850             RETVAL=LUT2_NO_VALID_DATE;
1851             else
1852             RETVAL=LUT2_INVALID;
1853              
1854             sv_setpv((SV*)ST(2), info1);
1855             SvSETMAGIC(ST(2));
1856             sv_setiv(ST(3), (IV)valid1);
1857             SvSETMAGIC(ST(3));
1858             sv_setpv((SV*)ST(4), info2);
1859             SvSETMAGIC(ST(4));
1860             sv_setiv(ST(5), (IV)valid2);
1861             SvSETMAGIC(ST(5));
1862             sv_setpv((SV*)ST(6),dptr);
1863             SvSETMAGIC(ST(6));
1864              
1865             if(want_array){
1866             /* der Speicher von info1, info2 und dptr muß wieder freigegeben
1867             * werden. Dazu kann allerdings nicht einfach free() benutzt werden,
1868             * da das von strawberry perl auf die Perl-Version umdefiniert wird
1869             * und dann zu einem Absturz führt. kc_free() ist in konto_check.c
1870             * definiert und ruft dort einfach free() auf.
1871             */
1872             if(*info1)kc_free(info1);
1873             if(*info2)kc_free(info2);
1874             if(*dptr)kc_free(dptr);
1875             }
1876             OUTPUT:
1877             RETVAL
1878              
1879             int
1880             generate_lut(inputname,outputname,user_info,lut_version)
1881             char *inputname;
1882             char *outputname;
1883             char *user_info;
1884             unsigned int lut_version;
1885              
1886             int
1887             copy_lutfile(old_name,new_name,new_slots)
1888             char *old_name;
1889             char *new_name;
1890             int new_slots
1891              
1892             int
1893             ci_check(ci)
1894             char *ci;
1895             CODE:
1896 0 0         if(items!=1)Perl_croak(aTHX_ "Usage: Business::KontoCheck::ci_check(ci)");
1897 0           RETVAL=ci_check(ci);
1898             OUTPUT:
1899             RETVAL
1900              
1901             int
1902             iban_check(iban...)
1903             char *iban;
1904             PREINIT:
1905             int *ret,r;
1906             CODE:
1907 164           switch(items){
1908             case 1:
1909 0           ret=NULL;
1910 0           break;
1911             case 2:
1912 164           ret=&r;
1913 164           break;
1914             default:
1915 0           Perl_croak(aTHX_ "Usage: Business::KontoCheck::iban_check(iban[,ret_kc])");
1916             break;
1917             }
1918 164           RETVAL=iban_check(iban,ret);
1919 164 50         if(ret){
1920 164           sv_setiv(ST(1),(IV)r);
1921 164 50         SvSETMAGIC(ST(1));
1922             }
1923             OUTPUT:
1924             RETVAL
1925              
1926             int
1927             bic_check(bic...)
1928             char *bic;
1929             PREINIT:
1930             int cnt;
1931             CODE:
1932 317           switch(items){
1933             case 1:
1934 0           RETVAL=bic_check(bic,NULL);
1935 0           break;
1936             case 2:
1937 317           RETVAL=bic_check(bic,&cnt);
1938 317           sv_setiv(ST(1),(IV)cnt);
1939 317 50         SvSETMAGIC(ST(1));
1940 317           break;
1941             default:
1942 0           Perl_croak(aTHX_ "Usage: Business::KontoCheck::bic_check(bic[,cnt])");
1943             break;
1944             }
1945             OUTPUT:
1946             RETVAL
1947              
1948             int
1949             lut_blocks(...)
1950             PREINIT:
1951             #line 895 "KontoCheck.lx"
1952             int mode;
1953             char *lut_filename;
1954             char *lut_blocks_ok;
1955             char *lut_blocks_fehler;
1956             CODE:
1957             #line 900 "KontoCheck.lx"
1958             if(items>1)
1959             mode=(int)SvIV(ST(0));
1960             else
1961             mode=0; /* Dummy gegen Compiler-Warnungen */
1962             lut_filename=lut_blocks_ok=lut_blocks_fehler=NULL;
1963             switch(items){
1964             case 0:
1965             case 1:
1966             RETVAL=lut_blocks(0,NULL,NULL,NULL);
1967             break;
1968             case 2:
1969             RETVAL=lut_blocks(mode,&lut_filename,NULL,NULL);
1970             break;
1971             case 3:
1972             RETVAL=lut_blocks(mode,&lut_filename,&lut_blocks_ok,NULL);
1973             break;
1974             case 4:
1975             RETVAL=lut_blocks(mode,&lut_filename,&lut_blocks_ok,&lut_blocks_fehler);
1976             break;
1977             default:
1978             Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_blocks([$mode[,$filename[,$blocks_ok[,$blocks_fehler]]])");
1979             break;
1980             }
1981             if(lut_filename){
1982             sv_setpv((SV*)ST(1),lut_filename);
1983             SvSETMAGIC(ST(1));
1984             kc_free(lut_filename);
1985             }
1986             if(lut_blocks_ok){
1987             sv_setpv((SV*)ST(2),lut_blocks_ok);
1988             SvSETMAGIC(ST(2));
1989             kc_free(lut_blocks_ok);
1990             }
1991             if(lut_blocks_fehler){
1992             sv_setpv((SV*)ST(3),lut_blocks_fehler);
1993             SvSETMAGIC(ST(3));
1994             kc_free(lut_blocks_fehler);
1995             }
1996             OUTPUT:
1997             RETVAL
1998              
1999             int
2000             iban_gen_i(blz,kto...)
2001             char *blz;
2002             char *kto;
2003             PREINIT:
2004             char *ptr,*dptr,*papier,iban[24],blz2[16],kto2[16];
2005             const char *bic;
2006             int regel,ret;
2007             #if DEBUG>0
2008             RETVAL rv;
2009             #endif
2010             CODE:
2011 2594 50         if(items!=9){
2012 0           Perl_croak(aTHX_ "Business::KontoCheck::iban_gen_i() requires 9 arguments, %d are given",(int)items);
2013             RETVAL=0;
2014             }
2015             else{
2016 2594           papier=iban_bic_gen(blz,kto,&bic,blz2,kto2,&ret);
2017 2594 100         if(papier){
2018 72268 100         for(ptr=papier,dptr=iban;*ptr;ptr++)if(*ptr!=' ')*dptr++=*ptr;
    100          
2019 2581           *dptr=0;
2020 2581           sv_setpv((SV*)ST(2),iban);
2021 2581 50         SvSETMAGIC(ST(2));
2022 2581           sv_setpv((SV*)ST(3),papier);
2023 2581 50         SvSETMAGIC(ST(3));
2024 2581           kc_free(papier);
2025             }
2026 2594 50         if(bic){
2027 2594           sv_setpv((SV*)ST(4),bic);
2028 2594 50         SvSETMAGIC(ST(4));
2029             }
2030 2594           regel=lut_iban_regel(blz,0,NULL);
2031 2594           sv_setiv(ST(5),regel);
2032 2594 50         SvSETMAGIC(ST(5));
2033             #if DEBUG>0
2034 2594           kto_check_blz_dbg(blz,kto,&rv);
2035 2594           sv_setpv((SV*)ST(6),rv.methode);
2036             #else
2037             sv_setpv((SV*)ST(6),"no debug version");
2038             #endif
2039 2594 50         SvSETMAGIC(ST(6));
2040 2594           sv_setpv((SV*)ST(7),blz2);
2041 2594 50         SvSETMAGIC(ST(7));
2042 2594           sv_setpv((SV*)ST(8),kto2);
2043 2594 50         SvSETMAGIC(ST(8));
2044 2594           RETVAL=ret;
2045             }
2046             OUTPUT:
2047             RETVAL
2048              
2049             const char*
2050             iban2bic_i(iban...)
2051             char *iban;
2052             PREINIT:
2053             char blz[16],kto[16];
2054             const char *bic;
2055             int ret;
2056             CODE:
2057 0 0         if(items!=4){
2058 0           Perl_croak(aTHX_ "Business::KontoCheck::iban2bic_i() requires 4 arguments, %d are given",(int)items);
2059             RETVAL=0;
2060             }
2061             else{
2062 0           bic=iban2bic(iban,&ret,blz,kto);
2063 0           sv_setiv(ST(1),ret);
2064 0 0         SvSETMAGIC(ST(1));
2065 0 0         if(ret>0){
2066 0           sv_setpv((SV*)ST(2),blz);
2067 0 0         SvSETMAGIC(ST(2));
2068 0           sv_setpv((SV*)ST(3),kto);
2069 0 0         SvSETMAGIC(ST(3));
2070             }
2071 0           RETVAL=bic;
2072             }
2073             OUTPUT:
2074             RETVAL
2075              
2076             int
2077             ipi_check(zweck)
2078             char *zweck;
2079              
2080             int
2081             ipi_gen_i(zweck...)
2082             char *zweck;
2083             PREINIT:
2084             char ipi_buffer[24],ipi_papier[32];
2085             CODE:
2086 80 50         if(items<1 || items>3)Perl_croak(aTHX_ "Usage: Business::KontoCheck::ipi_gen(zweck[,zweck_edv[,zweck_papier]])");
    50          
2087 80           RETVAL=ipi_gen(zweck,ipi_buffer,ipi_papier);
2088 80 50         if(items>=2){
2089 80           sv_setpv((SV*)ST(1),ipi_buffer);
2090 80 50         SvSETMAGIC(ST(1));
2091             }
2092 80 50         if(items==3){
2093 80           sv_setpv((SV*)ST(2),ipi_papier);
2094 80 50         SvSETMAGIC(ST(2));
2095             }
2096             OUTPUT:
2097             RETVAL
2098              
2099             void
2100             lut_suche_volltext_i(want_array,search...)
2101             int want_array;
2102             char *search;
2103             PREINIT:
2104             #line 1046 "KontoCheck.lx"
2105             char **base_name;
2106             int i,ret,anzahl,anzahl_name,start_name_idx,*start_idx,*zw,*bb;
2107             int sort,uniq,anzahl2,*idx_o,*cnt_o;
2108             AV *zweigstelle,*blz_array,*vals,*cnt_array;
2109             SV *zweigstelle_p,*blz_array_p,*vals_p,*cnt_array_p;
2110             PPCODE:
2111 10 50         if(items<2 || items>5)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_suche_volltext(suchworte[,retval[,uniq[,sort]]])");
    50          
2112 10           ret=lut_suche_volltext(search,&anzahl_name,&start_name_idx,&base_name,&anzahl,&start_idx,&zw,&bb);
2113 10 50         if(items>=3){
2114 10           sv_setiv(ST(2),(IV)ret);
2115 10 50         SvSETMAGIC(ST(2));
2116             }
2117              
2118 10           sort=uniq=-1;
2119 10 100         if(items>=4)uniq=(int)SvIV(ST(3));
    50          
2120 10 100         if(items>=5)sort=(int)SvIV(ST(4));
    50          
2121 10 100         if(uniq>0)
2122 2           uniq=2;
2123 8 50         else if(uniq<=0 && sort>0)
    100          
2124 2           uniq=1;
2125 6 50         else if(uniq<0 && sort<0)
    50          
2126 6           uniq=UNIQ_DEFAULT_PERL;
2127 10 100         if(uniq) /* bei uniq>0 sortieren, uniq>1 sortieren + uniq */
2128 4           lut_suche_sort1(anzahl,bb,zw,start_idx,&anzahl2,&idx_o,&cnt_o,uniq>1);
2129             else{
2130 6           anzahl2=anzahl;
2131 6           idx_o=start_idx;
2132 6           cnt_o=NULL;
2133             }
2134              
2135 10           blz_array=newAV();
2136 10 50         if(anzahl2){
2137             /* das BLZ-Array und cnt-Array auch in ein neues Array kopieren und als Referenz zurückgeben */
2138 10           av_unshift(blz_array,anzahl2); /* Platz machen */
2139 313 100         for(i=0;i
2140             }
2141 10           blz_array_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)blz_array)));
2142              
2143 10 100         if(want_array){ /* die drei nächsten Arrays werden nur bei Bedarf gefüllt */
2144 8           zweigstelle=newAV();
2145 8           vals=newAV();
2146 8           cnt_array=newAV();
2147 8 50         if(anzahl2){
2148             /* die Zweigstellen und Werte in ein neues Array kopieren, dann als Referenz zurückgeben */
2149 8           av_unshift(vals,anzahl_name); /* Platz machen */
2150 8           av_unshift(zweigstelle,anzahl2);
2151 8 100         if(cnt_o)av_unshift(cnt_array,anzahl2);
2152 72 100         for(i=0;i
2153 247 100         for(i=0;i
2154 239           av_store(zweigstelle,i,newSViv(zw[idx_o[i]]));
2155 239 100         if(cnt_o)av_store(cnt_array,i,newSViv(cnt_o[i]));
2156             }
2157             }
2158 8 100         if(uniq){
2159 4           kc_free((char*)idx_o);
2160 4           kc_free((char*)cnt_o);
2161             }
2162 8           zweigstelle_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)zweigstelle)));
2163 8           vals_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)vals)));
2164 8           cnt_array_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)cnt_array)));
2165 8 50         XPUSHs(blz_array_p);
2166 8 50         XPUSHs(zweigstelle_p);
2167 8 50         XPUSHs(vals_p);
2168 8 50         XPUSHs(sv_2mortal(newSViv(ret)));
2169 8 50         XPUSHs(cnt_array_p);
2170 8           XSRETURN(5);
2171             }
2172             else{
2173 2 50         if(uniq){
2174 0           kc_free((char*)idx_o);
2175 0           kc_free((char*)cnt_o);
2176             }
2177 2 50         XPUSHs(blz_array_p);
2178 10           XSRETURN(1);
2179             }
2180              
2181             void
2182             lut_suche_multiple_i(want_array,search...)
2183             int want_array;
2184             char *search;
2185             PREINIT:
2186             #line 1127 "KontoCheck.lx"
2187             char *such_cmd;
2188             int i,uniq,ret;
2189             UINT4 anzahl,*blz,*zweigstellen;
2190             AV *zweigstellen_array,*blz_array;
2191             SV *zweigstelle_p,*blz_array_p;
2192             PPCODE:
2193              
2194             /* Anzahl, BLZ, Zweigstellen: nur Rückgabeparameter */
2195 12           switch(items){
2196             case 2: /* keine zusätzlichen Parameter */
2197 0           uniq=UNIQ_DEFAULT_PERL;
2198 0           such_cmd=NULL;
2199 0           break;
2200             case 3: /* nur uniq */
2201 0 0         uniq=SvIV(ST(2));
2202 0           such_cmd=NULL;
2203 0           break;
2204             case 4:
2205             case 5:
2206 12 50         uniq=SvIV(ST(2));
2207 12 50         such_cmd=SvPV_nolen(ST(3));
2208 12           break;
2209             default:
2210 0           Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_suche_multiple(search_words[,uniq[,search_cmd[,ret]]])");
2211             break;
2212             }
2213              
2214 12           ret=lut_suche_multiple(search,uniq,such_cmd,&anzahl,&zweigstellen,&blz);
2215 12 50         if(items>4){ /* retval zurückgeben */
2216 12           sv_setiv(ST(4),(IV)ret);
2217 12 50         SvSETMAGIC(ST(4));
2218             }
2219              
2220 12           blz_array=newAV();
2221 12 50         if(anzahl){
2222             /* das BLZ-Array auch in ein neues Array kopieren und als Referenz zurückgeben */
2223 12           av_unshift(blz_array,anzahl); /* Platz machen */
2224 276 100         for(i=0;i
2225             }
2226 12           blz_array_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)blz_array)));
2227              
2228 12 100         if(want_array){ /* das nächste Array wird nur bei Bedarf gefüllt */
2229 6           zweigstellen_array=newAV();
2230 6 50         if(anzahl){
2231             /* die Zweigstellen in ein neues Array kopieren, dann als Referenz zurückgeben */
2232 6           av_unshift(zweigstellen_array,anzahl);
2233 138 100         for(i=0;i
2234             }
2235 6           kc_free((char*)zweigstellen);
2236 6           kc_free((char*)blz);
2237 6           zweigstelle_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)zweigstellen_array)));
2238 6 50         XPUSHs(blz_array_p);
2239 6 50         XPUSHs(zweigstelle_p);
2240 6 50         XPUSHs(sv_2mortal(newSViv(ret)));
2241 6           XSRETURN(3);
2242             }
2243             else{
2244 6           kc_free((char*)zweigstellen);
2245 6           kc_free((char*)blz);
2246 6 50         XPUSHs(blz_array_p);
2247 12           XSRETURN(1);
2248             }
2249              
2250             void
2251             lut_suche_c(want_array,art...)
2252             int want_array;
2253             int art;
2254             PREINIT:
2255             #line 1195 "KontoCheck.lx"
2256             char *search,**base_name,warn_buffer[128],*fkt;
2257             int i,ret,anzahl,*start_idx,*zw,*bb;
2258             int sort,uniq,anzahl2,*idx_o,*cnt_o;
2259             STRLEN len;
2260             AV *zweigstellen_array,*blz_array,*vals,*cnt_array;
2261             SV *zweigstelle_p,*blz_array_p,*vals_p,*cnt_array_p;
2262             PPCODE:
2263 35           switch(art){
2264             case 1:
2265 5           fkt="bic";
2266 5           break;
2267             case 2:
2268 10           fkt="namen";
2269 10           break;
2270             case 3:
2271 5           fkt="namen_kurz";
2272 5           break;
2273             case 4:
2274 15           fkt="ort";
2275 15           break;
2276             default:
2277 0           fkt=NULL;
2278 0           break;
2279             }
2280 35 50         if(items>2 && items<7)
    50          
2281 35 50         search=SvPV(ST(2),len);
2282             else{
2283 0 0         if(fkt)
2284 0           snprintf(warn_buffer,128,"Usage: Business::KontoCheck::lut_suche_%s(%s[,retval[,uniq[,sort]]])",fkt,fkt);
2285             else
2286 0           snprintf(warn_buffer,128,"unknown internal subfunction for lut_suche_c");
2287 0           Perl_croak(aTHX_ "%s",warn_buffer);
2288             }
2289 35           switch(art){ /* die entsprechenden Funktionen aufrufen */
2290             case 1:
2291 5           ret=lut_suche_bic(search,&anzahl,&start_idx,&zw,&base_name,&bb);
2292 5           break;
2293             case 2:
2294 10           ret=lut_suche_namen(search,&anzahl,&start_idx,&zw,&base_name,&bb);
2295 10           break;
2296             case 3:
2297 5           ret=lut_suche_namen_kurz(search,&anzahl,&start_idx,&zw,&base_name,&bb);
2298 5           break;
2299             case 4:
2300 15           ret=lut_suche_ort(search,&anzahl,&start_idx,&zw,&base_name,&bb);
2301 15           break;
2302             default:
2303 0           Perl_croak(aTHX_ "unknown internal subfunction for lut_suche_c");
2304             break;
2305             }
2306 35 50         if(items>3){
2307 35           sv_setiv(ST(3),(IV)ret);
2308 35 50         SvSETMAGIC(ST(3));
2309             }
2310 35           uniq=sort=-1;
2311 35 100         if(items>4)uniq=(int)SvIV(ST(4));
    50          
2312 35 100         if(items>5)sort=(int)SvIV(ST(5));
    50          
2313 35 100         if(uniq>0)
2314 7           uniq=2;
2315 28 50         else if(uniq<=0 && sort>0)
    100          
2316 7           uniq=1;
2317 21 50         else if(uniq<0 && sort<0)
    50          
2318 21           uniq=UNIQ_DEFAULT_PERL;
2319 35 100         if(uniq) /* bei uniq>0 sortieren, uniq>1 sortieren + uniq */
2320 14           lut_suche_sort1(anzahl,bb,zw,start_idx,&anzahl2,&idx_o,&cnt_o,uniq>1);
2321             else{
2322 21           anzahl2=anzahl;
2323 21           idx_o=start_idx;
2324 21           cnt_o=NULL;
2325             }
2326 35           blz_array=newAV();
2327 35 50         if(anzahl2){
2328             /* das BLZ-Array auch in ein neues Array kopieren und als Referenz zurückgeben */
2329 35           av_unshift(blz_array,anzahl2); /* Platz machen */
2330 846 100         for(i=0;i
2331             }
2332 35           blz_array_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)blz_array)));
2333              
2334 35 100         if(want_array){ /* die drei nächsten Arrays werden nur bei Bedarf gefüllt */
2335 28           zweigstellen_array=newAV();
2336 28           vals=newAV();
2337 28           cnt_array=newAV();
2338 28 50         if(anzahl2){
2339             /* die Zweigstellen und Werte in ein neues Array kopieren, dann als Referenz zurückgeben */
2340 28           av_unshift(zweigstellen_array,anzahl2);
2341 28           av_unshift(vals,anzahl2);
2342 28 100         if(cnt_o)av_unshift(cnt_array,anzahl2);
2343 668 100         for(i=0;i
2344 640           av_store(zweigstellen_array,i,newSViv(zw[idx_o[i]]));
2345 640           av_store(vals,i,newSVpvf("%s",base_name[idx_o[i]]));
2346 640 100         if(cnt_o)av_store(cnt_array,i,newSViv(cnt_o[i]));
2347             }
2348             }
2349 28 100         if(uniq){
2350 14           kc_free((char*)idx_o);
2351 14           kc_free((char*)cnt_o);
2352             }
2353 28           zweigstelle_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)zweigstellen_array)));
2354 28           vals_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)vals)));
2355 28           cnt_array_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)cnt_array)));
2356 28 50         XPUSHs(blz_array_p);
2357 28 50         XPUSHs(zweigstelle_p);
2358 28 50         XPUSHs(vals_p);
2359 28 50         XPUSHs(sv_2mortal(newSViv(ret)));
2360 28 50         XPUSHs(cnt_array_p);
2361 28           XSRETURN(5);
2362             }
2363             else{
2364 7 50         if(uniq){
2365 0           kc_free((char*)idx_o);
2366 0           kc_free((char*)cnt_o);
2367             }
2368 7 50         XPUSHs(blz_array_p);
2369 35           XSRETURN(1);
2370             }
2371              
2372             void
2373             lut_suche_i(want_array,art...)
2374             int want_array;
2375             int art;
2376             PREINIT:
2377             #line 1316 "KontoCheck.lx"
2378             int search1;
2379             int search2;
2380             int i,ret,anzahl,*start_idx,*base_name,*zw,*bb;
2381             int sort,uniq,anzahl2,*idx_o,*cnt_o;
2382             AV *zweigstellen_array,*blz_array,*vals,*cnt_array;
2383             SV *zweigstelle_p,*blz_array_p,*vals_p,*cnt_array_p;
2384             PPCODE:
2385 15           sort=uniq=-1;
2386 15           switch(items){
2387             case 3:
2388 0 0         search1=search2=(int)SvIV(ST(2));
2389 0           break;
2390             case 7: /* alle Parameter mit uniq und sort angegeben */
2391 3 50         sort=(int)SvIV(ST(6));
2392             case 6: /* nur uniq angegeben, kein sort */
2393 6 50         uniq=(int)SvIV(ST(5));
2394             case 4: /* Angabe von search1 und search2; ret, uniq und sort weggelassen */
2395             case 5: /* search1, search2 und ret angegeben */
2396 15 50         search1=(int)SvIV(ST(2));
2397 15 50         search2=(int)SvIV(ST(3));
2398 15           break;
2399             default:
2400 0           switch(art){
2401             case 1:
2402 0           Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_suche_blz(blz1[,blz2[,retval[,uniq[,sort]]]])");
2403             break;
2404             case 2:
2405 0           Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_suche_pz(pz1[,pz2[,retval[,uniq[,sort]]]])");
2406             break;
2407             case 3:
2408 0           Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_suche_plz(plz1[,plz2[,retval[,uniq[,sort]]]])");
2409             break;
2410             case 4:
2411 0           Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_suche_regel(regel1[,regel2[,retval[,uniq[,sort]]]])");
2412             break;
2413             default:
2414 0           Perl_croak(aTHX_ "unknown internal subfunction for lut_suche_i");
2415             break;
2416             }
2417             break;
2418             }
2419 15           switch(art){ /* die entsprechenden Funktionen aufrufen */
2420             case 1:
2421 5           ret=lut_suche_blz(search1,search2,&anzahl,&start_idx,&zw,&base_name,&bb);
2422 5           break;
2423             case 2:
2424 5           ret=lut_suche_pz(search1,search2,&anzahl,&start_idx,&zw,&base_name,&bb);
2425 5           break;
2426             case 3:
2427 5           ret=lut_suche_plz(search1,search2,&anzahl,&start_idx,&zw,&base_name,&bb);
2428 5           break;
2429             case 4:
2430 0           ret=lut_suche_regel(search1,search2,&anzahl,&start_idx,&zw,&base_name,&bb);
2431 0           break;
2432             default:
2433 0           Perl_croak(aTHX_ "unknown internal subfunction for lut_suche_i");
2434             break;
2435             }
2436              
2437 15 100         if(uniq>0)
2438 3           uniq=2;
2439 12 50         else if(uniq<=0 && sort>0)
    100          
2440 3           uniq=1;
2441 9 50         else if(uniq<0 && sort<0)
    50          
2442 9           uniq=UNIQ_DEFAULT_PERL;
2443 15 100         if(uniq) /* bei uniq>0 sortieren, uniq>1 sortieren + uniq */
2444 6           lut_suche_sort1(anzahl,bb,zw,start_idx,&anzahl2,&idx_o,&cnt_o,uniq>1);
2445             else{
2446 9           anzahl2=anzahl;
2447 9           idx_o=start_idx;
2448 9           cnt_o=NULL;
2449             }
2450 15 50         if(items>=5){
2451 15           sv_setiv(ST(4),(IV)ret);
2452 15 50         SvSETMAGIC(ST(4));
2453             }
2454              
2455 15           blz_array=newAV();
2456 15 50         if(anzahl2){
2457             /* das BLZ-Array auch in ein neues Array kopieren und als Referenz zurückgeben */
2458 15           av_unshift(blz_array,anzahl2); /* Platz machen */
2459 2221 100         for(i=0;i
2460             }
2461 15           blz_array_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)blz_array)));
2462              
2463 15 100         if(want_array){ /* die drei nächsten Arrays werden nur bei Bedarf gefüllt */
2464 12           zweigstellen_array=newAV();
2465 12           vals=newAV();
2466 12           cnt_array=newAV();
2467 12 50         if(anzahl2){
2468             /* die Zweigstellen und Werte in ein neues Array kopieren, dann als Referenz zurückgeben */
2469 12           av_unshift(zweigstellen_array,anzahl2);
2470 12           av_unshift(vals,anzahl2);
2471 12 100         if(cnt_o)av_unshift(cnt_array,anzahl2);
2472 1720 100         for(i=0;i
2473 1708           av_store(zweigstellen_array,i,newSViv(zw[idx_o[i]]));
2474 1708           av_store(vals,i,newSViv(base_name[idx_o[i]]));
2475 1708 100         if(cnt_o)av_store(cnt_array,i,newSViv(cnt_o[i]));
2476             }
2477             }
2478 12 100         if(uniq){
2479 6           kc_free((char*)idx_o);
2480 6           kc_free((char*)cnt_o);
2481             }
2482 12           zweigstelle_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)zweigstellen_array)));
2483 12           vals_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)vals)));
2484 12           cnt_array_p=sv_2mortal((SV*)newRV(sv_2mortal((SV*)cnt_array)));
2485              
2486 12 50         XPUSHs(blz_array_p);
2487 12 50         XPUSHs(zweigstelle_p);
2488 12 50         XPUSHs(vals_p);
2489 12 50         XPUSHs(sv_2mortal(newSViv(ret)));
2490 12 50         XPUSHs(cnt_array_p);
2491 12           XSRETURN(5);
2492             }
2493             else{
2494 3 50         if(uniq){
2495 0           kc_free((char*)idx_o);
2496 0           kc_free((char*)cnt_o);
2497             }
2498 3 50         XPUSHs(blz_array_p);
2499 15           XSRETURN(1);
2500             }
2501              
2502             int
2503             lut_scl_init(lut_name)
2504             char *lut_name
2505             CODE:
2506             #line 1444 "KontoCheck.lx"
2507             RETVAL=lut_scl_init(lut_name);
2508             OUTPUT:
2509             RETVAL
2510              
2511             #################################
2512             int
2513             lut_scl_multi_i(scl_flags,used_bic,scl_name,bic)
2514             char *bic;
2515             const char *scl_flags;
2516             const char *used_bic;
2517             const char *scl_name;
2518             CODE:
2519 0 0         if(items!=4)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_multi(bic)");
2520              
2521 0           RETVAL=lut_scl_multi(bic,&scl_flags,&used_bic,&scl_name);
2522 0           sv_setpv((SV*)ST(0),scl_flags);
2523 0 0         SvSETMAGIC(ST(0));
2524 0           sv_setpv((SV*)ST(1),used_bic);
2525 0 0         SvSETMAGIC(ST(1));
2526 0           sv_setpv((SV*)ST(2),scl_name);
2527 0 0         SvSETMAGIC(ST(2));
2528             OUTPUT:
2529             RETVAL
2530              
2531             int
2532             lut_scl_multi_blz_i(scl_flags,used_bic,scl_name,blz)
2533             char *blz;
2534             const char *scl_flags;
2535             const char *used_bic;
2536             const char *scl_name;
2537             CODE:
2538 0 0         if(items!=4)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_multi_blz(blz)");
2539              
2540 0           RETVAL=lut_scl_multi_blz(blz,&scl_flags,&used_bic,&scl_name);
2541 0           sv_setpv((SV*)ST(0),scl_flags);
2542 0 0         SvSETMAGIC(ST(0));
2543 0           sv_setpv((SV*)ST(1),used_bic);
2544 0 0         SvSETMAGIC(ST(1));
2545 0           sv_setpv((SV*)ST(2),scl_name);
2546 0 0         SvSETMAGIC(ST(2));
2547             OUTPUT:
2548             RETVAL
2549             ##############################################
2550              
2551             #line 1454 "KontoCheck.lx"
2552              
2553             int
2554             lut_scl_sct_i(r,bic)
2555             char *bic;
2556             int r;
2557             CODE:
2558             #line 1461 "KontoCheck.lx"
2559             if(items!=2)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_sct(bic)");
2560              
2561             RETVAL=lut_scl_sct(bic,&r);
2562             sv_setiv(ST(0),(IV)r);
2563             SvSETMAGIC(ST(0));
2564             OUTPUT:
2565             r
2566             RETVAL
2567              
2568             int
2569             lut_scl_sct_blz_i(r,used_bic,blz)
2570             char *blz;
2571             const char *used_bic;
2572             int r;
2573             CODE:
2574             #line 1477 "KontoCheck.lx"
2575             if(items!=3)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_sct_blz(blz)");
2576              
2577             RETVAL=lut_scl_sct_blz(blz,&r,&used_bic);
2578             sv_setiv(ST(0),(IV)r);
2579             SvSETMAGIC(ST(0));
2580             sv_setpv((SV*)ST(1),used_bic);
2581             SvSETMAGIC(ST(1));
2582             OUTPUT:
2583             r
2584             RETVAL
2585              
2586             #line 1455 "KontoCheck.lx"
2587              
2588             int
2589             lut_scl_sdd_i(r,bic)
2590             char *bic;
2591             int r;
2592             CODE:
2593             #line 1462 "KontoCheck.lx"
2594             if(items!=2)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_sdd(bic)");
2595              
2596             RETVAL=lut_scl_sdd(bic,&r);
2597             sv_setiv(ST(0),(IV)r);
2598             SvSETMAGIC(ST(0));
2599             OUTPUT:
2600             r
2601             RETVAL
2602              
2603             int
2604             lut_scl_sdd_blz_i(r,used_bic,blz)
2605             char *blz;
2606             const char *used_bic;
2607             int r;
2608             CODE:
2609             #line 1478 "KontoCheck.lx"
2610             if(items!=3)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_sdd_blz(blz)");
2611              
2612             RETVAL=lut_scl_sdd_blz(blz,&r,&used_bic);
2613             sv_setiv(ST(0),(IV)r);
2614             SvSETMAGIC(ST(0));
2615             sv_setpv((SV*)ST(1),used_bic);
2616             SvSETMAGIC(ST(1));
2617             OUTPUT:
2618             r
2619             RETVAL
2620              
2621             #line 1456 "KontoCheck.lx"
2622              
2623             int
2624             lut_scl_cor1_i(r,bic)
2625             char *bic;
2626             int r;
2627             CODE:
2628             #line 1463 "KontoCheck.lx"
2629             if(items!=2)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_cor1(bic)");
2630              
2631             RETVAL=lut_scl_cor1(bic,&r);
2632             sv_setiv(ST(0),(IV)r);
2633             SvSETMAGIC(ST(0));
2634             OUTPUT:
2635             r
2636             RETVAL
2637              
2638             int
2639             lut_scl_cor1_blz_i(r,used_bic,blz)
2640             char *blz;
2641             const char *used_bic;
2642             int r;
2643             CODE:
2644             #line 1479 "KontoCheck.lx"
2645             if(items!=3)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_cor1_blz(blz)");
2646              
2647             RETVAL=lut_scl_cor1_blz(blz,&r,&used_bic);
2648             sv_setiv(ST(0),(IV)r);
2649             SvSETMAGIC(ST(0));
2650             sv_setpv((SV*)ST(1),used_bic);
2651             SvSETMAGIC(ST(1));
2652             OUTPUT:
2653             r
2654             RETVAL
2655              
2656             #line 1457 "KontoCheck.lx"
2657              
2658             int
2659             lut_scl_b2b_i(r,bic)
2660             char *bic;
2661             int r;
2662             CODE:
2663             #line 1464 "KontoCheck.lx"
2664             if(items!=2)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_b2b(bic)");
2665              
2666             RETVAL=lut_scl_b2b(bic,&r);
2667             sv_setiv(ST(0),(IV)r);
2668             SvSETMAGIC(ST(0));
2669             OUTPUT:
2670             r
2671             RETVAL
2672              
2673             int
2674             lut_scl_b2b_blz_i(r,used_bic,blz)
2675             char *blz;
2676             const char *used_bic;
2677             int r;
2678             CODE:
2679             #line 1480 "KontoCheck.lx"
2680             if(items!=3)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_b2b_blz(blz)");
2681              
2682             RETVAL=lut_scl_b2b_blz(blz,&r,&used_bic);
2683             sv_setiv(ST(0),(IV)r);
2684             SvSETMAGIC(ST(0));
2685             sv_setpv((SV*)ST(1),used_bic);
2686             SvSETMAGIC(ST(1));
2687             OUTPUT:
2688             r
2689             RETVAL
2690              
2691             #line 1458 "KontoCheck.lx"
2692              
2693             int
2694             lut_scl_scc_i(r,bic)
2695             char *bic;
2696             int r;
2697             CODE:
2698             #line 1465 "KontoCheck.lx"
2699             if(items!=2)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_scc(bic)");
2700              
2701             RETVAL=lut_scl_scc(bic,&r);
2702             sv_setiv(ST(0),(IV)r);
2703             SvSETMAGIC(ST(0));
2704             OUTPUT:
2705             r
2706             RETVAL
2707              
2708             int
2709             lut_scl_scc_blz_i(r,used_bic,blz)
2710             char *blz;
2711             const char *used_bic;
2712             int r;
2713             CODE:
2714             #line 1481 "KontoCheck.lx"
2715             if(items!=3)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_scl_scc_blz(blz)");
2716              
2717             RETVAL=lut_scl_scc_blz(blz,&r,&used_bic);
2718             sv_setiv(ST(0),(IV)r);
2719             SvSETMAGIC(ST(0));
2720             sv_setpv((SV*)ST(1),used_bic);
2721             SvSETMAGIC(ST(1));
2722             OUTPUT:
2723             r
2724             RETVAL
2725              
2726