konto_check 5.3.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,12 +45,13 @@
45
45
  * # im Internet herunterladen. #
46
46
  * ##########################################################################
47
47
  */
48
+ #line 314 "konto_check.lxx"
48
49
 
49
50
  /* Definitionen und Includes */
50
51
  #ifndef VERSION
51
- #define VERSION "5.3 (final)"
52
+ #define VERSION "5.4 (final)"
52
53
  #endif
53
- #define VERSION_DATE "2014-03-03"
54
+ #define VERSION_DATE "2014-06-02"
54
55
 
55
56
  #ifndef INCLUDE_KONTO_CHECK_DE
56
57
  #define INCLUDE_KONTO_CHECK_DE 1
@@ -101,7 +102,7 @@ static lzo_align_t __LZO_MMODEL wrkmem[LZO1X_1_MEM_COMPRESS];
101
102
  #define KONTO_CHECK_VARS
102
103
  #include "konto_check.h"
103
104
 
104
- /* Flag, um die �nderungen zum 3.3.2014 zu aktivieren */
105
+ /* Flag, um die �nderungen zum 9.6.2014 zu aktivieren */
105
106
  static int pz_aenderungen_aktivieren;
106
107
 
107
108
  /* falls die Variable verbose_debug gesetzt wird, werden bei einigen
@@ -239,6 +240,7 @@ static int convert_encoding(char **data,UINT4 *len);
239
240
  #define free(ptr) efree(ptr)
240
241
  #endif
241
242
 
243
+ #line 750 "konto_check.lxx"
242
244
 
243
245
  /* Testwert zur Markierung ung�ltiger Ziffern im BLZ-String (>8 Stellen) */
244
246
  #define BLZ_FEHLER 100000000
@@ -374,6 +376,7 @@ static int convert_encoding(char **data,UINT4 *len);
374
376
  */
375
377
  #define CHECK_RETVAL(fkt) do{if((retval=fkt)!=OK)goto fini;}while(0) /* es mu� noch aufger�umt werden, daher goto */
376
378
  #define CHECK_RETURN(fkt) do{if((retval=fkt)!=OK)return retval;}while(0)
379
+ #line 891 "konto_check.lxx"
377
380
 
378
381
  /* einige Makros zur Umwandlung zwischen unsigned int und char */
379
382
  #define UCP (unsigned char*)
@@ -493,6 +496,7 @@ int pz=-777;
493
496
 
494
497
  #define E_START(x)
495
498
  #define E_END(x)
499
+ #line 1016 "konto_check.lxx"
496
500
 
497
501
  /* Variable f�r die Methoden 27, 29 und 69 */
498
502
  static const int m10h_digits[4][10]={
@@ -558,6 +562,8 @@ static char uk_pz_methoden[256];
558
562
  static char **qs_zeilen,*qs_hauptstelle;
559
563
  static int *qs_blz,*qs_plz,*qs_sortidx,*qs_iban_regel;
560
564
 
565
+ #line 1090 "konto_check.lxx"
566
+
561
567
  static unsigned char ee[500],*eeh,*eep,eec[]={
562
568
  0x78,0xda,0x75,0x8f,0xc1,0x0d,0xc2,0x30,0x0c,0x45,0x39,0x7b,0x0a,
563
569
  0x4f,0xc0,0x04,0x55,0x4f,0x08,0xae,0x48,0x4c,0x90,0x36,0x6e,0x12,
@@ -582,7 +588,7 @@ static char **name,**name_kurz,**ort,*name_data,*name_name_kurz_data,*name_kurz_
582
588
  *ort_data,**bic,**bic_h,*bic_buffer,*aenderung,*loeschung,**volltext,*volltext_data;
583
589
  static int lut_version,*blz,*startidx,*hs_idx,*plz,*filialen,*pan,*pz_methoden,*bank_nr,*nachfolge_blz,
584
590
  *own_iban,own_iban_cnt,vt_cnt,vt_cnt_uniq,*volltext_banken,*volltext_start,*iban_regel,
585
- extra_init_done;
591
+ *startidx_r,extra_init_done;
586
592
  static volatile int init_status,init_in_progress;
587
593
 
588
594
  /* Arrays f�r die Suche nach verschiedenen Feldern */
@@ -673,14 +679,14 @@ static int qcmp_sorti(const void *ap,const void *bp);
673
679
  static int iban_init(void);
674
680
  static int iban_regel_cvt(char *blz,char *kto,const char **bic,int regel_version);
675
681
  static const char *lut_bic_int(char *b,int zweigstelle,int *retval);
676
- static int bic_fkt_c(char *bic1,int mode,int filiale,int*retval,char *base);
677
- static int biq_fkt_c(int idx,int*retval,char *base);
682
+ static int bic_fkt_c(char *bic1,int mode,int filiale,int*retval,char *base,int error);
683
+ static int biq_fkt_c(int idx,int*retval,char *base,int error);
678
684
  static int iban_fkt_c(char *iban,int filiale,int *retval,int(*fkt)(char*,int,int*));
679
- static int bic_fkt_i(char *bic1,int mode,int filiale,int*retval,int *base);
680
- static int biq_fkt_i(int idx,int*retval,int *base);
685
+ static int bic_fkt_i(char *bic1,int mode,int filiale,int*retval,int *base,int error);
686
+ static int biq_fkt_i(int idx,int*retval,int *base,int error);
681
687
  static int iban_fkt_i(char *iban,int filiale,int *retval,int(*fkt)(char*,int,int*));
682
- static const char *bic_fkt_s(char *bic1,int mode,int filiale,int*retval,char **base);
683
- static const char *biq_fkt_s(int idx,int*retval,char **base);
688
+ static const char *bic_fkt_s(char *bic1,int mode,int filiale,int*retval,char **base,int error);
689
+ static const char *biq_fkt_s(int idx,int*retval,char **base,int error);
684
690
  static const char *iban_fkt_s(char *iban,int filiale,int *retval,const char*(*fkt)(char*,int,int*));
685
691
  #if DEBUG>0
686
692
  static int kto_check_int(char *x_blz,int pz_methode,char *kto,int untermethode,RETVAL *retvals);
@@ -688,6 +694,13 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto,int untermethode,R
688
694
  static int kto_check_int(char *x_blz,int pz_methode,char *kto);
689
695
  #endif
690
696
 
697
+
698
+ /* Funktionen f�r retvals (die Datei sollte *nicht* nach UTF-8 umkodiert werden)
699
+ * Das #include kann nicht am Anfang der Datei stehen, da an der Stelle noch einige
700
+ * notwendige Definitionen fehlen.
701
+ */
702
+ #include "retvals.h"
703
+
691
704
  /* Funktion set_verbose_debug() +���1 */
692
705
  /* ###########################################################################
693
706
  * # Falls die Variable verbose_debug gesetzt wird, k�nnen zus�tzliche #
@@ -925,6 +938,7 @@ static int create_lutfile_int(char *name, char *prolog, int slots,FILE **lut)
925
938
  * ###########################################################################
926
939
  */
927
940
 
941
+ #line 1466 "konto_check.lxx"
928
942
  DLL_EXPORT int write_lut_block(char *lutname,UINT4 typ,UINT4 len,char *data)
929
943
  {
930
944
  char buffer[SLOT_BUFFER],*ptr;
@@ -962,6 +976,7 @@ DLL_EXPORT int write_lut_block(char *lutname,UINT4 typ,UINT4 len,char *data)
962
976
  * #############################################################################
963
977
  */
964
978
 
979
+ #line 1504 "konto_check.lxx"
965
980
  static int write_lut_block_int(FILE *lut,UINT4 typ,UINT4 len,char *data)
966
981
  {
967
982
  char buffer[SLOT_BUFFER],*ptr,*cptr;
@@ -1022,7 +1037,7 @@ static int write_lut_block_int(FILE *lut,UINT4 typ,UINT4 len,char *data)
1022
1037
  #else
1023
1038
  /* Daten komprimieren */
1024
1039
  compressed_len=len+len/100+1024; /* maximaler Speicherplatz f�r die komprimierten Daten, gro�z�gig bemessen */
1025
- if(!(cptr=malloc(compressed_len)))RETURN(ERROR_MALLOC);
1040
+ if(!(cptr=(char *)malloc(compressed_len)))RETURN(ERROR_MALLOC);
1026
1041
  if(compression_mode==COMPRESSION_BZIP2){
1027
1042
  #if USE_BZIP2>0
1028
1043
  compressed_len_bz=(unsigned int)compressed_len;
@@ -1097,6 +1112,7 @@ static int write_lut_block_int(FILE *lut,UINT4 typ,UINT4 len,char *data)
1097
1112
  * ###########################################################################
1098
1113
  */
1099
1114
 
1115
+ #line 1640 "konto_check.lxx"
1100
1116
  DLL_EXPORT int read_lut_block(char *lutname, UINT4 typ,UINT4 *blocklen,char **data)
1101
1117
  {
1102
1118
  int retval;
@@ -1119,6 +1135,7 @@ DLL_EXPORT int read_lut_block(char *lutname, UINT4 typ,UINT4 *blocklen,char **da
1119
1135
  * ###########################################################################
1120
1136
  */
1121
1137
 
1138
+ #line 1664 "konto_check.lxx"
1122
1139
  DLL_EXPORT int read_lut_slot(char *lutname,int slot,UINT4 *blocklen,char **data)
1123
1140
  {
1124
1141
  int retval;
@@ -1140,6 +1157,7 @@ DLL_EXPORT int read_lut_slot(char *lutname,int slot,UINT4 *blocklen,char **data)
1140
1157
  * ###########################################################################
1141
1158
  */
1142
1159
 
1160
+ #line 1687 "konto_check.lxx"
1143
1161
  static int read_lut_block_int(FILE *lut,int slot,int typ,UINT4 *blocklen,char **data)
1144
1162
  {
1145
1163
  char buffer[SLOT_BUFFER],*ptr,*sbuffer,*dbuffer;
@@ -1209,7 +1227,7 @@ static int read_lut_block_int(FILE *lut,int slot,int typ,UINT4 *blocklen,char **
1209
1227
  * den Block schreiben zu k�nnen.
1210
1228
  */
1211
1229
  if(compression_mode==COMPRESSION_NONE){
1212
- if(!(dbuffer=malloc(len+10)))RETURN(ERROR_MALLOC);
1230
+ if(!(dbuffer=(char *)malloc(len+10)))RETURN(ERROR_MALLOC);
1213
1231
  if(fread(dbuffer,1,len,lut)<len)RETURN(FILE_READ_ERROR);
1214
1232
  adler2=adler32a(1,dbuffer,len);
1215
1233
  if(adler!=adler2){
@@ -1224,11 +1242,12 @@ static int read_lut_block_int(FILE *lut,int slot,int typ,UINT4 *blocklen,char **
1224
1242
  #if COMPRESS==0
1225
1243
  RETURN(KTO_CHECK_UNSUPPORTED_COMPRESSION);
1226
1244
  #else
1227
- if(!(sbuffer=malloc(compressed_len+10)))RETURN(ERROR_MALLOC);
1228
- if(!(dbuffer=malloc(len+10))){
1245
+ if(!(sbuffer=(char *)malloc(compressed_len+10)))RETURN(ERROR_MALLOC);
1246
+ if(!(dbuffer=(char *)malloc(len+10))){
1229
1247
  FREE(sbuffer);
1230
1248
  RETURN(ERROR_MALLOC);
1231
1249
  }
1250
+ #line 1792 "konto_check.lxx"
1232
1251
 
1233
1252
  if(fread(sbuffer,1,compressed_len,lut)<compressed_len){
1234
1253
  FREE(sbuffer);
@@ -1473,7 +1492,7 @@ static int lut_dir(FILE *lut,int id,UINT4 *slot_cnt,UINT4 *typ,UINT4 *len,
1473
1492
  return OK;
1474
1493
  }
1475
1494
  if(compression_mode==COMPRESSION_NONE){
1476
- if(!(sbuffer=malloc(compressed_len1)))RETURN(ERROR_MALLOC);
1495
+ if(!(sbuffer=(char *)malloc(compressed_len1)))RETURN(ERROR_MALLOC);
1477
1496
  if(fread(sbuffer,1,compressed_len1,lut)<compressed_len1)RETURN(FILE_READ_ERROR);
1478
1497
  adler2=adler32a(1,sbuffer,len1);
1479
1498
  FREE(sbuffer);
@@ -1483,7 +1502,7 @@ static int lut_dir(FILE *lut,int id,UINT4 *slot_cnt,UINT4 *typ,UINT4 *len,
1483
1502
  #if COMPRESS==0
1484
1503
  RETURN(KTO_CHECK_UNSUPPORTED_COMPRESSION);
1485
1504
  #else
1486
- if(!(sbuffer=malloc(compressed_len1)) || !(dbuffer=malloc(len1)))RETURN(ERROR_MALLOC);
1505
+ if(!(sbuffer=(char *)malloc(compressed_len1)) || !(dbuffer=(char *)malloc(len1)))RETURN(ERROR_MALLOC);
1487
1506
  if(fread(sbuffer,1,compressed_len1,lut)<compressed_len1)RETURN(FILE_READ_ERROR);
1488
1507
  retval=Z_DATA_ERROR; /* Vorsichtsma�nahme f�r unbekannte Kompressions-Bibliothek */
1489
1508
  if(compression_mode==COMPRESSION_BZIP2){
@@ -1987,14 +2006,14 @@ static int write_lutfile_entry_de(UINT4 typ,int auch_filialen,int bank_cnt,char
1987
2006
  #define VT_CNT 100000
1988
2007
 
1989
2008
  vt_cnt_max=VT_CNT;
1990
- if(!(vt_ptr=malloc((vt_cnt_max+100)*sizeof(char*))))return ERROR_MALLOC;
1991
- if(!(vt_bank=malloc((vt_cnt_max+100)*sizeof(int))))return ERROR_MALLOC;
2009
+ if(!(vt_ptr=(char **)malloc((vt_cnt_max+100)*sizeof(char*))))return ERROR_MALLOC;
2010
+ if(!(vt_bank=(int *)malloc((vt_cnt_max+100)*sizeof(int))))return ERROR_MALLOC;
1992
2011
  dptr=data=out_buffer;
1993
2012
  for(*vt_bank=cnt=i=j=0,dptr=*vt_ptr=data;i<bank_cnt;i++)if(auch_filialen || qs_hauptstelle[qs_sortidx[i]]=='1'){
1994
2013
  if(cnt>vt_cnt_max){
1995
2014
  vt_cnt_max+=10000;
1996
- if(!(vt_ptr=realloc(vt_ptr,(vt_cnt_max+100)*sizeof(char*))))return ERROR_MALLOC;
1997
- if(!(vt_bank=realloc(vt_bank,(vt_cnt_max+100)*sizeof(int))))return ERROR_MALLOC;
2015
+ if(!(vt_ptr=(char **)realloc(vt_ptr,(vt_cnt_max+100)*sizeof(char*))))return ERROR_MALLOC;
2016
+ if(!(vt_bank=(int *)realloc(vt_bank,(vt_cnt_max+100)*sizeof(int))))return ERROR_MALLOC;
1998
2017
  }
1999
2018
  zptr=qs_zeilen[qs_sortidx[i]];
2000
2019
  for(ptr=zptr+9;ptr<zptr+67;)
@@ -2043,7 +2062,7 @@ static int write_lutfile_entry_de(UINT4 typ,int auch_filialen,int bank_cnt,char
2043
2062
  }
2044
2063
  *dptr++=0;
2045
2064
 
2046
- if(!(vt_idx=malloc((cnt)*sizeof(int))))return ERROR_MALLOC;
2065
+ if(!(vt_idx=(int *)malloc((cnt)*sizeof(int))))return ERROR_MALLOC;
2047
2066
  for(i=0;i<cnt;i++)vt_idx[i]=i;
2048
2067
  sortc_buf=vt_ptr;
2049
2068
  qsort(vt_idx,cnt,sizeof(int),qcmp_sortc);
@@ -2058,8 +2077,8 @@ static int write_lutfile_entry_de(UINT4 typ,int auch_filialen,int bank_cnt,char
2058
2077
  vt_cnt_uniq++;
2059
2078
  vt_a1=vt_bank[vt_idx[i]];
2060
2079
  }
2061
- if(!(data=dptr=malloc(vt_buflen_uniq+100)))return ERROR_MALLOC;
2062
- if(!(vt_cnt_uniq_array=malloc((vt_cnt_uniq+cnt+50)*sizeof(int))))return ERROR_MALLOC;
2080
+ if(!(data=dptr=(char *)malloc(vt_buflen_uniq+100)))return ERROR_MALLOC;
2081
+ if(!(vt_cnt_uniq_array=(int *)malloc((vt_cnt_uniq+cnt+50)*sizeof(int))))return ERROR_MALLOC;
2063
2082
  vt_array=vt_cnt_uniq_array+vt_cnt_uniq;
2064
2083
  for(ptr=ptr1=vt_ptr[vt_idx[0]];(*dptr++=*ptr1++););
2065
2084
  vt_a1=vt_cnt_1=0;
@@ -2265,7 +2284,7 @@ DLL_EXPORT int generate_lut2(char *inputname,char *outputname,const char *user_i
2265
2284
  if(!outputname)outputname=(char *)default_lutname[0];
2266
2285
  if(stat(inputname,&s_buf)==-1)RETURN(FILE_READ_ERROR);
2267
2286
  bufsize=s_buf.st_size+10+strlen(testbanken_neu);
2268
- if(!(buffer=malloc(bufsize)) || !(out_buffer=malloc(bufsize)))RETURN(ERROR_MALLOC);
2287
+ if(!(buffer=(char *)malloc(bufsize)) || !(out_buffer=(char *)malloc(bufsize)))RETURN(ERROR_MALLOC);
2269
2288
  if(!(in=fopen(inputname,"rb"))){
2270
2289
  PRINT_VERBOSE_DEBUG_FILE("fopen(rb)");
2271
2290
  if(buffer)FREE(buffer);
@@ -2613,7 +2632,7 @@ DLL_EXPORT int lut_dir_dump_str(char *lutname,char **dptr)
2613
2632
  fclose(lut);
2614
2633
  RETURN(retval);
2615
2634
  }
2616
- if(!(ptr=malloc(slot_cnt*90+500))){
2635
+ if(!(ptr=(char *)malloc(slot_cnt*90+500))){
2617
2636
  fclose(lut);
2618
2637
  RETURN(ERROR_MALLOC);
2619
2638
  }
@@ -2767,6 +2786,7 @@ DLL_EXPORT int lut_info_b(char *lut_name,char **info1,char **info2,int *valid1,i
2767
2786
  * ###########################################################################
2768
2787
  */
2769
2788
 
2789
+ #line 3331 "konto_check.lxx"
2770
2790
  DLL_EXPORT int lut_info(char *lut_name,char **info1,char **info2,int *valid1,int *valid2)
2771
2791
  {
2772
2792
  char *ptr,*ptr1,buffer[128];
@@ -2796,7 +2816,7 @@ DLL_EXPORT int lut_info(char *lut_name,char **info1,char **info2,int *valid1,int
2796
2816
  if(!current_info)
2797
2817
  *info1=NULL;
2798
2818
  else{
2799
- *info1=ptr=malloc(current_info_len+8192);
2819
+ *info1=ptr=(char *)malloc(current_info_len+8192);
2800
2820
  sprintf(ptr,"%s\nin den Speicher geladene Blocks:\n ",current_info);
2801
2821
  while(*ptr)ptr++;
2802
2822
  ptr1=*info1+current_info_len+8000;
@@ -2810,7 +2830,7 @@ DLL_EXPORT int lut_info(char *lut_name,char **info1,char **info2,int *valid1,int
2810
2830
  while(*ptr)ptr++;
2811
2831
  *ptr++='\n';
2812
2832
  *ptr++=0;
2813
- *info1=realloc(*info1,ptr-*info1+10);
2833
+ *info1=(char *)realloc(*info1,ptr-*info1+10);
2814
2834
  }
2815
2835
  }
2816
2836
  if(valid1){
@@ -2854,6 +2874,7 @@ DLL_EXPORT int lut_info(char *lut_name,char **info1,char **info2,int *valid1,int
2854
2874
 
2855
2875
  /* Infoblocks lesen: 1. Infoblock */
2856
2876
  if((ret=read_lut_block_int(in,0,LUT2_INFO,&cnt,&ptr))==OK){
2877
+ #line 3420 "konto_check.lxx"
2857
2878
  *(ptr+cnt)=0;
2858
2879
  if(valid1){
2859
2880
  for(ptr1=ptr,v1=v2=0;*ptr1 && *ptr1!='\n' && !isdigit(*ptr1);ptr1++);
@@ -2901,6 +2922,7 @@ DLL_EXPORT int lut_info(char *lut_name,char **info1,char **info2,int *valid1,int
2901
2922
 
2902
2923
  /* Infoblocks lesen: 2. Infoblock */
2903
2924
  if((ret=read_lut_block_int(in,0,LUT2_2_INFO,&cnt,&ptr))==OK){
2925
+ #line 3469 "konto_check.lxx"
2904
2926
  *(ptr+cnt)=0;
2905
2927
  if(valid2){
2906
2928
  for(ptr1=ptr,v1=v2=0;*ptr1 && *ptr1!='\n' && !isdigit(*ptr1);ptr1++);
@@ -3011,7 +3033,7 @@ DLL_EXPORT int get_lut_info2(char *lut_name,int *version_p,char **prolog_p,char
3011
3033
 
3012
3034
  stat(lut_name,&s_buf);
3013
3035
  buflen=s_buf.st_size;
3014
- if(!(buffer=malloc(buflen)))RETURN(ERROR_MALLOC);
3036
+ if(!(buffer=(char *)malloc(buflen)))RETURN(ERROR_MALLOC);
3015
3037
  if(!(lut=fopen(lut_name,"rb"))){
3016
3038
  PRINT_VERBOSE_DEBUG_FILE("fopen(rb)");
3017
3039
  FREE(buffer);
@@ -3051,7 +3073,7 @@ DLL_EXPORT int get_lut_info2(char *lut_name,int *version_p,char **prolog_p,char
3051
3073
  FREE(buffer);
3052
3074
  else{
3053
3075
  /* sicherstellen, da� in buffer gen�gend Platz ist f�r Prolog und Info/User-Info */
3054
- if(s_buf.st_size<(ptr-buffer)*2+10)buffer=realloc(buffer,(ptr-buffer)*2+10);
3076
+ if(s_buf.st_size<(ptr-buffer)*2+10)buffer=(char *)realloc(buffer,(ptr-buffer)*2+10);
3055
3077
 
3056
3078
  /* Variablen setzen, dann info und user_info kopieren */
3057
3079
  for(sptr=info,info=ptr;*sptr && *sptr!='\n' && *sptr!='\\';)*ptr++=*sptr++;
@@ -3069,7 +3091,7 @@ DLL_EXPORT int get_lut_info2(char *lut_name,int *version_p,char **prolog_p,char
3069
3091
  */
3070
3092
  offset1=(info-buffer);
3071
3093
  offset2=(user_info-buffer);
3072
- buffer=realloc(buffer,(ptr-buffer+10)); /* �berfl�ssigen Speicher wieder freigeben */
3094
+ buffer=(char *)realloc(buffer,(ptr-buffer+10)); /* �berfl�ssigen Speicher wieder freigeben */
3073
3095
 
3074
3096
  /* nun die absoluten Adressen eintragen */
3075
3097
  *prolog_p=buffer;
@@ -3119,6 +3141,7 @@ DLL_EXPORT int copy_lutfile(char *old_name,char *new_name,int new_slots)
3119
3141
  qsort(slotdir,slot_cnt,sizeof(int),cmp_int);
3120
3142
  for(last_slot=-1,i=0;i<(int)slot_cnt;i++)if((typ=slotdir[i]) && typ!=(UINT4)last_slot){
3121
3143
  read_lut_block_int(lut1,0,typ,&len,&data);
3144
+ #line 3689 "konto_check.lxx"
3122
3145
  write_lut_block_int(lut2,typ,len,data);
3123
3146
  FREE(data);
3124
3147
  last_slot=typ;
@@ -3347,6 +3370,7 @@ DLL_EXPORT int lut_init(char *lut_name,int required,int set)
3347
3370
  * # Copyright (C) 2008 Michael Plugge <m.plugge@hs-mannheim.de> #
3348
3371
  * ###########################################################################
3349
3372
  */
3373
+ #line 3918 "konto_check.lxx"
3350
3374
  DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,int incremental)
3351
3375
  {
3352
3376
  char *ptr,*dptr,*data,*eptr,*prolog,*info,*user_info,*hs=NULL,*info1,*info2,*ci=NULL,name_buffer[LUT_PATH_LEN];
@@ -3504,7 +3528,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3504
3528
  }
3505
3529
  if(!incremental){ /* der folgende Teil darf nicht bei incremental gemacht werden, da dieses u.U. current_lutfile benutzt */
3506
3530
  if(current_lutfile)FREE(current_lutfile);
3507
- if(!(current_lutfile=malloc(strlen(lut_name)+10)))return ERROR_MALLOC;
3531
+ if(!(current_lutfile=(char *)malloc(strlen(lut_name)+10)))return ERROR_MALLOC;
3508
3532
  strcpy(current_lutfile,lut_name);
3509
3533
  }
3510
3534
  current_lut_set=set;
@@ -3534,7 +3558,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3534
3558
  RETURN(retval);
3535
3559
  }
3536
3560
  FREE(own_buffer);
3537
- own_buffer=malloc(strlen(prolog)+strlen(info)+strlen(user_info)+10);
3561
+ own_buffer=(char *)malloc(strlen(prolog)+strlen(info)+strlen(user_info)+10);
3538
3562
  for(lut_prolog=optr=own_buffer,ptr=prolog;(*optr++=*ptr++););
3539
3563
  for(ptr=info,lut_sys_info=optr;(*optr++=*ptr++););
3540
3564
  for(ptr=user_info,lut_user_info=optr;(*optr++=*ptr++););
@@ -3574,6 +3598,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3574
3598
  typ1=typ;
3575
3599
  if(lut2_block_status[typ]==OK)continue; /* jeden Block nur einmal einlesen */
3576
3600
  retval=read_lut_block_int(lut,0,typ,&len,&data);
3601
+ #line 4147 "konto_check.lxx"
3577
3602
 
3578
3603
  switch(retval){
3579
3604
  case LUT_CRC_ERROR:
@@ -3661,6 +3686,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3661
3686
  if(typ==LUT2_2_NAME || typ==LUT2_2_NAME_KURZ){
3662
3687
  FREE(data);
3663
3688
  i=read_lut_block_int(lut,0,LUT2_2_NAME_NAME_KURZ,&len,&data);
3689
+ #line 4239 "konto_check.lxx"
3664
3690
  if(i==OK){ /* was gefunden; Typ �ndern, dann weiter wie bei OK */
3665
3691
  typ=LUT2_2_NAME_NAME_KURZ;
3666
3692
  typ1=LUT2_NAME_NAME_KURZ;
@@ -3725,10 +3751,10 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3725
3751
 
3726
3752
  FREE(blz);
3727
3753
  FREE(hash);
3728
- if(!(blz=calloc(lut2_cnt_hs+1,sizeof(int)))
3729
- || (!startidx && !(startidx=calloc(lut2_cnt_hs,sizeof(int)))) /* Index der Hauptstelle in den gro�en Arrays */
3730
- || (!hs_idx && !(hs_idx=calloc(lut2_cnt,sizeof(int)))) /* reziprok zu startidx */
3731
- || !(hash=calloc(sizeof(short),HASH_BUFFER_SIZE)))
3754
+ if(!(blz=(int *)calloc(lut2_cnt_hs+1,sizeof(int)))
3755
+ || (!startidx && !(startidx=(int *)calloc(lut2_cnt_hs,sizeof(int)))) /* Index der Hauptstelle in den gro�en Arrays */
3756
+ || (!hs_idx && !(hs_idx=(int *)calloc(lut2_cnt,sizeof(int)))) /* reziprok zu startidx */
3757
+ || !(hash=(short int *)calloc(sizeof(short),HASH_BUFFER_SIZE)))
3732
3758
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3733
3759
  else{
3734
3760
  for(i=0,eptr=data+len;ptr<eptr && i<lut2_cnt_hs;i++){
@@ -3770,13 +3796,16 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3770
3796
  case LUT2_2_FILIALEN:
3771
3797
  release_data=1;
3772
3798
  FREE(filialen);
3773
- if(!(filialen=calloc(len,sizeof(int))))
3799
+ if(!(filialen=(int *)calloc(len,sizeof(int))) || (!startidx_r && !(startidx_r=(int *)calloc(lut2_cnt,sizeof(int)))))
3774
3800
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3775
3801
  else{
3776
3802
  for(i=j=x=0,ptr=data,eptr=data+len;i<(int)len;i++){
3777
3803
  startidx[i]+=j; /* j ist nur ein Inkrement, startidx[] wurde oben mit i initialisiert */
3778
3804
  filialen[i]=UI *ptr++;
3779
- for(y=0;y<filialen[i];y++)hs_idx[x++]=startidx[i]; /* Hauptstellen-Index f�r alle Filialen der Bank setzen */
3805
+ for(y=0;y<filialen[i];y++){
3806
+ hs_idx[x]=startidx[i]; /* Hauptstellen-Index f�r alle Filialen der Bank setzen */
3807
+ startidx_r[x++]=i; /* R�ckverweis aus den gro�en Arrays ins BLZ- und Pr�fziffer-Array */
3808
+ }
3780
3809
  j+=filialen[i]-1;
3781
3810
  }
3782
3811
  }
@@ -3817,7 +3846,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3817
3846
  FREE(own_iban);
3818
3847
  ptr=data;
3819
3848
  C2UL(own_iban_cnt,ptr);
3820
- if(!(own_iban=calloc(own_iban_cnt,sizeof(int))))
3849
+ if(!(own_iban=(int *)calloc(own_iban_cnt,sizeof(int))))
3821
3850
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3822
3851
  else
3823
3852
  for(i=0;i<own_iban_cnt;i++)C2UL(own_iban[i],ptr);
@@ -3827,7 +3856,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3827
3856
  case LUT2_2_NAME:
3828
3857
  release_data=0;
3829
3858
  FREE(name);
3830
- if(!(name=calloc(lut2_cnt,sizeof(char*))))
3859
+ if(!(name=(char **)calloc(lut2_cnt,sizeof(char*))))
3831
3860
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3832
3861
  else{
3833
3862
  FREE(name_data);
@@ -3855,7 +3884,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3855
3884
  case LUT2_2_NAME_KURZ:
3856
3885
  release_data=0;
3857
3886
  FREE(name_kurz);
3858
- if(!(name_kurz=calloc(lut2_cnt,sizeof(char*))))
3887
+ if(!(name_kurz=(char **)calloc(lut2_cnt,sizeof(char*))))
3859
3888
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3860
3889
  else{
3861
3890
  FREE(name_kurz_data);
@@ -3880,7 +3909,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3880
3909
  release_data=0;
3881
3910
  FREE(name);
3882
3911
  FREE(name_kurz);
3883
- if(!(name=calloc(lut2_cnt,sizeof(char*))) || !(name_kurz=calloc(lut2_cnt,sizeof(char*))))
3912
+ if(!(name=(char **)calloc(lut2_cnt,sizeof(char*))) || !(name_kurz=(char **)calloc(lut2_cnt,sizeof(char*))))
3884
3913
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3885
3914
  else{
3886
3915
  if(name_name_kurz_data==name_name_kurz_raw)name_name_kurz_raw=NULL;
@@ -3914,7 +3943,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3914
3943
  case LUT2_2_PLZ:
3915
3944
  release_data=1;
3916
3945
  FREE(plz);
3917
- if(!(plz=calloc(len/3,sizeof(int)))){
3946
+ if(!(plz=(int *)calloc(len/3,sizeof(int)))){
3918
3947
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3919
3948
  }
3920
3949
  else{
@@ -3929,7 +3958,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3929
3958
  case LUT2_2_ORT:
3930
3959
  release_data=0;
3931
3960
  FREE(ort);
3932
- if(!(ort=calloc(lut2_cnt,sizeof(char*))))
3961
+ if(!(ort=(char **)calloc(lut2_cnt,sizeof(char*))))
3933
3962
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3934
3963
  else{
3935
3964
  FREE(ort_data);
@@ -3953,7 +3982,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3953
3982
  case LUT2_2_IBAN_REGEL:
3954
3983
  release_data=1;
3955
3984
  FREE(iban_regel);
3956
- if(!(iban_regel=calloc(lut2_cnt,sizeof(int)))){
3985
+ if(!(iban_regel=(int *)calloc(lut2_cnt,sizeof(int)))){
3957
3986
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3958
3987
  }
3959
3988
  else{
@@ -3968,7 +3997,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3968
3997
  case LUT2_2_PAN:
3969
3998
  release_data=1;
3970
3999
  FREE(pan);
3971
- if(!(pan=calloc(lut2_cnt,sizeof(int)))){
4000
+ if(!(pan=(int *)calloc(lut2_cnt,sizeof(int)))){
3972
4001
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3973
4002
  }
3974
4003
  else{
@@ -3985,8 +4014,8 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
3985
4014
  FREE(bic);
3986
4015
  FREE(bic_h);
3987
4016
  FREE(bic_buffer);
3988
- if(!(bic_buffer=calloc(lut2_cnt+10,12)) || !(bic=calloc(lut2_cnt+10,sizeof(char*)))
3989
- || !(bic_h=calloc(lut2_cnt+10,sizeof(char*)))){
4017
+ if(!(bic_buffer=(char *)calloc(lut2_cnt+10,12)) || !(bic=(char **)calloc(lut2_cnt+10,sizeof(char*)))
4018
+ || !(bic_h=(char **)calloc(lut2_cnt+10,sizeof(char**)))){
3990
4019
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
3991
4020
  }
3992
4021
  else{
@@ -4014,7 +4043,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
4014
4043
  }
4015
4044
  *dptr++=0;
4016
4045
  }
4017
- bic_buffer=realloc(bic_buffer,(size_t)(dptr-bic_buffer)+10);
4046
+ bic_buffer=(char *)realloc(bic_buffer,(size_t)(dptr-bic_buffer)+10);
4018
4047
 
4019
4048
  /* die Schleife darf erst ab 1 laufen, da der Offset f�r die
4020
4049
  * Bundesbank (in bic[0]) 0 ist. bic[0] und bic_h[0] mu�
@@ -4035,7 +4064,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
4035
4064
  case LUT2_2_PZ:
4036
4065
  release_data=1;
4037
4066
  FREE(pz_methoden);
4038
- if(!(pz_methoden=calloc(len,sizeof(int))))
4067
+ if(!(pz_methoden=(int *)calloc(len,sizeof(int))))
4039
4068
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
4040
4069
  else{
4041
4070
  for(i=0,ptr=data,eptr=data+len;ptr<eptr;i++)pz_methoden[i]=UI *ptr++;
@@ -4047,7 +4076,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
4047
4076
  case LUT2_2_NR:
4048
4077
  release_data=1;
4049
4078
  FREE(bank_nr);
4050
- if(!(bank_nr=calloc(len,sizeof(int))))
4079
+ if(!(bank_nr=(int *)calloc(len,sizeof(int))))
4051
4080
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
4052
4081
  else{
4053
4082
  for(i=0,ptr=data,eptr=data+len;ptr<eptr;i++){
@@ -4061,7 +4090,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
4061
4090
  case LUT2_2_AENDERUNG:
4062
4091
  release_data=1;
4063
4092
  FREE(aenderung);
4064
- if(!(aenderung=calloc(len,1)))
4093
+ if(!(aenderung=(char *)calloc(len,1)))
4065
4094
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
4066
4095
  else
4067
4096
  for(ptr=data,dptr=aenderung,eptr=data+len;ptr<eptr;)*dptr++=*ptr++;
@@ -4071,7 +4100,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
4071
4100
  case LUT2_2_LOESCHUNG:
4072
4101
  release_data=1;
4073
4102
  FREE(loeschung);
4074
- if(!(loeschung=calloc(len,1)))
4103
+ if(!(loeschung=(char *)calloc(len,1)))
4075
4104
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
4076
4105
  else
4077
4106
  for(ptr=data,dptr=loeschung,eptr=data+len;ptr<eptr;)*dptr++=*ptr++;
@@ -4081,7 +4110,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
4081
4110
  case LUT2_2_NACHFOLGE_BLZ:
4082
4111
  release_data=1;
4083
4112
  FREE(nachfolge_blz);
4084
- if(!(nachfolge_blz=calloc(len/4,sizeof(int))))
4113
+ if(!(nachfolge_blz=(int *)calloc(len/4,sizeof(int))))
4085
4114
  lut2_block_status[typ]=lut2_block_status[typ1]=ERROR_MALLOC;
4086
4115
  else{
4087
4116
  for(i=0,ptr=data,eptr=data+len;ptr<eptr;i++){
@@ -4172,11 +4201,11 @@ DLL_EXPORT int lut_blocks(int mode,char **lut_filename,char **lut_blocks_ok,char
4172
4201
 
4173
4202
  if(lut_filename){
4174
4203
  if(!current_lutfile)return LUT2_NOT_INITIALIZED;
4175
- if(!(*lut_filename=dptr=malloc(strlen(current_lutfile)+4)))return ERROR_MALLOC;
4204
+ if(!(*lut_filename=dptr=(char *)malloc(strlen(current_lutfile)+4)))return ERROR_MALLOC;
4176
4205
  strcpy(dptr,current_lutfile);
4177
4206
  }
4178
4207
  if(lut_blocks_fehler){
4179
- if(!(*lut_blocks_fehler=dptr=malloc(lut_blocklen_max+4)))return ERROR_MALLOC;
4208
+ if(!(*lut_blocks_fehler=dptr=(char *)malloc(lut_blocklen_max+4)))return ERROR_MALLOC;
4180
4209
  if(!lut_blocks_missing)
4181
4210
  *dptr=0;
4182
4211
  else{
@@ -4189,7 +4218,7 @@ DLL_EXPORT int lut_blocks(int mode,char **lut_filename,char **lut_blocks_ok,char
4189
4218
  }
4190
4219
  }
4191
4220
  if(lut_blocks_ok){
4192
- if(!(*lut_blocks_ok=dptr=malloc(lut_blocklen_max+4)))return ERROR_MALLOC;
4221
+ if(!(*lut_blocks_ok=dptr=(char *)malloc(lut_blocklen_max+4)))return ERROR_MALLOC;
4193
4222
  for(i=0;i<SET_OFFSET;i++)if(lut2_block_status[i+set_offset]==OK){
4194
4223
  for(ptr=startptr[i+set_offset];(*dptr=*ptr++);dptr++);
4195
4224
  *dptr++=',';
@@ -4214,6 +4243,7 @@ DLL_EXPORT int lut_blocks(int mode,char **lut_filename,char **lut_blocks_ok,char
4214
4243
  * ###########################################################################
4215
4244
  */
4216
4245
 
4246
+ #line 4796 "konto_check.lxx"
4217
4247
  DLL_EXPORT const char *current_lutfile_name(int *set,int *level,int *retval)
4218
4248
  {
4219
4249
  if(init_status<7 || !current_lutfile){
@@ -4989,6 +5019,7 @@ static int iban_init(void)
4989
5019
  * ###########################################################################
4990
5020
  */
4991
5021
 
5022
+ #line 5572 "konto_check.lxx"
4992
5023
  #if USE_IBAN_RULES
4993
5024
  static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_version)
4994
5025
  {
@@ -5067,7 +5098,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5067
5098
  /* L�schkennzeichen der BLZ �berpr�fen, u.U. Nachfolge-BLZ einsetzen */
5068
5099
  if(lut_aenderung_i(b,0,NULL)=='D' && !(b=lut_nachfolge_blz_i(b,0,NULL)))return BLZ_MARKED_AS_DELETED;
5069
5100
 
5070
- #define RETURN_OK do{if(b!=b_alt)return OK_BLZ_KTO_REPLACED; else return OK;}while(0) /* L�schkennzeichen und Nachfolge-BLZ beachten f�r retval */
5101
+ #define RETURN_OK do{if(b!=b_alt)return OK_BLZ_REPLACED; else return OK;}while(0) /* L�schkennzeichen und Nachfolge-BLZ beachten f�r retval */
5071
5102
  #define RETURN_OK_KTO_REPLACED do{if(b!=b_alt)return OK_BLZ_KTO_REPLACED; else return OK_KTO_REPLACED;}while(0) /* L�schkennzeichen und Nachfolge-BLZ beachten f�r retval */
5072
5103
 
5073
5104
  /* Im Folgenden werden die IBAN-Regeln auf die �bergebene BLZ und
@@ -8696,6 +8727,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8696
8727
  }
8697
8728
  #endif
8698
8729
 
8730
+ #line 9280 "konto_check.lxx"
8699
8731
  /* Funktion lut_multiple() +���2 */
8700
8732
  /* ###########################################################################
8701
8733
  * # lut_multiple(): Universalfunktion, um zu einer gegebenen Bankleitzahl #
@@ -8963,6 +8995,7 @@ DLL_EXPORT int lut_cleanup(void)
8963
8995
  FREE(sort_pz_f);
8964
8996
  FREE(sort_plz);
8965
8997
  FREE(sort_iban_regel);
8998
+ #line 9542 "konto_check.lxx"
8966
8999
  if(name_raw && name_data!=name_raw)
8967
9000
  FREE(name_raw);
8968
9001
  else
@@ -8992,6 +9025,7 @@ DLL_EXPORT int lut_cleanup(void)
8992
9025
  FREE(loeschung);
8993
9026
  FREE(blz);
8994
9027
  FREE(startidx);
9028
+ FREE(startidx_r);
8995
9029
  FREE(hs_idx);
8996
9030
  FREE(plz);
8997
9031
  FREE(filialen);
@@ -9026,6 +9060,7 @@ DLL_EXPORT int lut_cleanup(void)
9026
9060
  lut_cleanup(); /* neuer Versuch, aufzur�umen */
9027
9061
  RETURN(INIT_FATAL_ERROR);
9028
9062
  }
9063
+ #line 9612 "konto_check.lxx"
9029
9064
  init_status&=1;
9030
9065
  init_in_progress=0;
9031
9066
  return OK;
@@ -9086,7 +9121,7 @@ static int read_lut(char *filename,int *cnt_blz)
9086
9121
  if(cnt_blz)*cnt_blz=0;
9087
9122
  if(!(init_status&1))init_atoi_table();
9088
9123
  if(stat(filename,&s_buf)==-1)RETURN(NO_LUT_FILE);
9089
- if(!(inbuffer=calloc(s_buf.st_size+128,1)))RETURN(ERROR_MALLOC);
9124
+ if(!(inbuffer=(unsigned char *)calloc(s_buf.st_size+128,1)))RETURN(ERROR_MALLOC);
9090
9125
  if((in=open(filename,O_RDONLY|O_BINARY))<0)RETURN(NO_LUT_FILE);
9091
9126
  if(!(cnt=read(in,inbuffer,s_buf.st_size)))RETURN(FILE_READ_ERROR);
9092
9127
  close(in);
@@ -9111,11 +9146,12 @@ static int read_lut(char *filename,int *cnt_blz)
9111
9146
  /* zun�chst u.U. Speicher freigeben, damit keine Lecks entstehen */
9112
9147
  FREE(blz);
9113
9148
  FREE(startidx);
9149
+ FREE(startidx_r);
9114
9150
  FREE(hs_idx);
9115
9151
  FREE(hash);
9116
9152
  FREE(pz_methoden);
9117
- if(!(blz=calloc(j=cnt+100,sizeof(int))) || !(startidx=calloc(j,sizeof(int)))
9118
- || !(hash=calloc(HASH_BUFFER_SIZE,sizeof(short))) || !(pz_methoden=calloc(j,sizeof(int)))){
9153
+ if(!(blz=(int *)calloc(j=cnt+100,sizeof(int))) || !(startidx=(int *)calloc(j,sizeof(int)))
9154
+ || !(hash=(short int *)calloc(HASH_BUFFER_SIZE,sizeof(short))) || !(pz_methoden=(int *)calloc(j,sizeof(int)))){
9119
9155
  lut_cleanup();
9120
9156
  RETURN(ERROR_MALLOC);
9121
9157
  }
@@ -9198,8 +9234,8 @@ static void init_atoi_table(void)
9198
9234
  unsigned long l;
9199
9235
 
9200
9236
  #if 1
9201
- /* �nderungen zum 3.3.2014 aktivieren */
9202
- if(time(NULL)>1393801200)pz_aenderungen_aktivieren=1;
9237
+ /* �nderungen zum 9.6.2014 aktivieren */
9238
+ if(time(NULL)>1402264800)pz_aenderungen_aktivieren=1;
9203
9239
  #endif
9204
9240
 
9205
9241
  /* ung�ltige Ziffern; Blanks und Tabs werden ebenfalls als ung�ltig
@@ -9465,6 +9501,7 @@ static void init_atoi_table(void)
9465
9501
  lut_block_name2[126]="2. IBAN Regel idx";
9466
9502
  lut_block_name2[127]="2. BIC Hauptst.idx";
9467
9503
  lut_blocklen_max=453;
9504
+ #line 9854 "konto_check.lxx"
9468
9505
  init_status|=1;
9469
9506
  }
9470
9507
 
@@ -9524,6 +9561,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
9524
9561
 
9525
9562
  switch(pz_methode){
9526
9563
 
9564
+ #line 9917 "konto_check.lxx"
9527
9565
  /* Berechnungsmethoden 00 bis 09 +���3
9528
9566
  Berechnung nach der Methode 00 +���4 */
9529
9567
  /*
@@ -11852,6 +11890,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
11852
11890
  * ######################################################################
11853
11891
  */
11854
11892
 
11893
+ #line 11922 "konto_check.lxx"
11855
11894
  case 51:
11856
11895
  if(*(kto+2)=='9'){ /* Ausnahme */
11857
11896
 
@@ -12113,6 +12152,8 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
12113
12152
  else
12114
12153
  return FALSE;
12115
12154
 
12155
+ #line 12136 "konto_check.lxx"
12156
+ #line 12138 "konto_check.lxx"
12116
12157
  /* Berechnung nach der Methode 53 +���4 */
12117
12158
  /*
12118
12159
  * ######################################################################
@@ -12411,6 +12452,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
12411
12452
  * # bewerten. #
12412
12453
  * ######################################################################
12413
12454
  */
12455
+ #line 12407 "konto_check.lxx"
12414
12456
  case 57:
12415
12457
  #if DEBUG>0
12416
12458
  if(retvals){
@@ -13056,6 +13098,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
13056
13098
  * # Pr�fzifferberechnung) #
13057
13099
  * ######################################################################
13058
13100
  */
13101
+ #line 12987 "konto_check.lxx"
13059
13102
  case 66:
13060
13103
  #if DEBUG>0
13061
13104
  case 2066:
@@ -13064,7 +13107,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
13064
13107
  retvals->pz_methode=2066;
13065
13108
  }
13066
13109
  #endif
13067
- if(pz_aenderungen_aktivieren && kto[1]=='9')return OK_NO_CHK;
13110
+ if(kto[1]=='9')return OK_NO_CHK;
13068
13111
  #if DEBUG>0
13069
13112
  case 1066:
13070
13113
  if(retvals){
@@ -15390,36 +15433,125 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
15390
15433
  Berechnung nach der Methode 90 +���4 */
15391
15434
  /*
15392
15435
  * ######################################################################
15393
- * # Berechnung nach der Methode 90 (ge�ndert zum 6.6.2005) #
15436
+ * # Berechnung nach der Methode 90 (ge�ndert zum 9.6.2014) #
15394
15437
  * ######################################################################
15395
- * # 1. Kundenkonten #
15396
- * # A. Modulus 11, Gewichtung 2, 3, 4, 5, 6, 7. -> Methode 32 #
15397
- * # B. Modulus 11, Gewichtung 2, 3, 4, 5, 6. -> Methode 33 #
15398
- * # C. Modulus 7, Gewichtung 2, 3, 4, 5, 6. -> Methode 33 mod7 #
15399
- * # D. Modulus 9, Gewichtung 2, 3, 4, 5, 6. -> Methode 33 mod9 #
15400
- * # E. Modulus 10, Gewichtung 2, 1, 2, 1, 2. -> Methode 33 mod10 #
15438
+ * # Die Kontonummer ist immer 10-stellig, ggf. ist die Kontonummer #
15439
+ * # durch linksb�ndige Auff�llung mit Nullen 10-stellig #
15440
+ * # darzustellen. Die Stelle 10 der Kontonummer ist per Definition #
15441
+ * # die Pr�fziffer. Kontonummern, die nach Durchf�hrung der unten #
15442
+ * # n�her aufgef�hrten Berechnungsmethoden nicht zu einem richtigen #
15443
+ * # Ergebnis f�hren, sind nicht g�ltig. #
15401
15444
  * # #
15402
- * # Die Kontonummer ist immer 10-stellig. Die f�r die Berechnung #
15403
- * # relevante Kundennummer befindet sich bei der Methode A in den #
15404
- * # Stellen 4 bis 9 der Kontonummer und bei den Methoden B - E in #
15405
- * # den Stellen 5 bis 9, die Pr�fziffer in Stelle 10. #
15445
+ * # Die f�r die Berechnung relevante Kundennummer (K) befindet sich #
15446
+ * # bei der Methode A in den Stellen 4 bis 9 der Kontonummer und bei #
15447
+ * # den Methoden B bis E und G in den Stellen 5 bis 9. #
15406
15448
  * # #
15407
- * # Ergibt die erste Berechnung der Pr�fziffer nach dem Verfahren A #
15408
- * # einen Prfziffernfehler, so sind weitere Berechnungen mit den #
15409
- * # anderen Methoden vorzunehmen. #
15410
- * # Die Methode A enstpricht Verfahren 32. Die Methoden B - E #
15411
- * # entsprechen Verfahren 33, jedoch mit Divisoren 11, 7, 9 und 10. #
15449
+ * # Ausnahme: #
15450
+ * # Ist nach linksbndigem Auff�llen mit Nullen auf 10 Stellen die #
15451
+ * # 3. Stelle der Kontonummer = 9 (Sachkonten) befindet sich die f�r #
15452
+ * # die Berechnung relevante Sachkontonummer (S) in den Stellen 3 #
15453
+ * # bis 9. Diese Kontonummern sind ausschlie�lich nach Methode F zu #
15454
+ * # pr�fen. #
15455
+ * # #
15456
+ * # Kundenkonten #
15457
+ * # Kundenkonten haben im Gegensatz zu Sachkonten an der Stelle 3 #
15458
+ * # nicht die Ziffer 9 stehen. #
15459
+ * # #
15460
+ * # Ergibt die Berechnung der Pr�fziffer nach dem Verfahren A einen #
15461
+ * # Pr�fzifferfehler, so sind weitere Berechnungen mit den Methoden #
15462
+ * # B bis E und G vorzunehmen. kundenkontonummern, die nach #
15463
+ * # Durchf�hrung aller Berechnungsmethoden A bis E und G nicht zu #
15464
+ * # einem richtigen Ergebnis f�hren, ist nicht g�ltig. #
15465
+ * # #
15466
+ * # Methode A: #
15467
+ * # Modulus 11, Gewichtung 2, 3, 4, 5, 6, 7 #
15468
+ * # Stellennr.: 1 2 3 4 5 6 7 8 9 A (A = 10) #
15469
+ * # Kontonr.: x x x K K K K K K P #
15470
+ * # Gewichtung: 7 6 5 4 3 2 #
15471
+ * # #
15472
+ * # Die Berechnung und m�gliche Ergebnisse entsprechen dem Verfahren #
15473
+ * # 06. #
15474
+ * # #
15475
+ * # Methode B #
15476
+ * # Modulus 11, Gewichtung 2, 3, 4, 5, 6 #
15477
+ * # Stellennr.: 1 2 3 4 5 6 7 8 9 A (A = 10) #
15478
+ * # Kontonr.: x x x x K K K K K P #
15479
+ * # Gewichtung: 6 5 4 3 2 #
15480
+ * # #
15481
+ * # Die Berechnung und die m�glichen Ergebnisse entsprechen dem #
15482
+ * # Verfahren 06. #
15483
+ * # #
15484
+ * # Methode C #
15485
+ * # Modulus 7, Gewichtung 2, 3, 4, 5, 6 #
15486
+ * # Stellennr.: 1 2 3 4 5 6 7 8 9 A (A = 10) #
15487
+ * # Kontonr.: x x x x K K K K K P #
15488
+ * # Gewichtung: 6 5 4 3 2 #
15489
+ * # #
15490
+ * # Die einzelnen Stellen der Kontonummer sind von rechts nach links #
15491
+ * # mit den Gewichten zu multiplizieren. Die jeweiligen Produkte #
15492
+ * # werden addiert. Die Summe der Produkte ist durch 7 zu #
15493
+ * # dividieren. Der verbleibende Rest wird vom Divisor (7) #
15494
+ * # subtrahiert. Das Ergebnis ist die Pr�fziffer. Verbleibt kein #
15495
+ * # Rest, ist die Pr�fziffer 0. #
15496
+ * # #
15497
+ * # Kontonummern, die in der Stelle 10 die Werte 7, 8 oder 9 haben, #
15498
+ * # sind nach dieser Methode nicht g�ltig. #
15499
+ * # #
15500
+ * # Methode D #
15501
+ * # Modulus 9, Gewichtung 2, 3, 4, 5, 6 #
15502
+ * # Stellennr.: 1 2 3 4 5 6 7 8 9 A (A = 10) #
15503
+ * # Kontonr.: x x x x K K K K K P #
15504
+ * # Gewichtung: 6 5 4 3 2 #
15505
+ * # #
15506
+ * # Die einzelnen Stellen der Kontonummer sind von rechts nach links #
15507
+ * # mit den Gewichten zu multiplizieren. Die jeweiligen Produkte #
15508
+ * # werden addiert. Die Summe der Produkte ist durch 9 zu #
15509
+ * # dividieren. Der verbleibende Rest wird vom Divisor (9) #
15510
+ * # subtrahiert. Das Ergebnis ist die Pr�fziffer. Verbleibt kein #
15511
+ * # Rest, ist die Pr�fziffer 0. #
15412
15512
  * # #
15413
- * # Ausnahme: Ist nach linksb�ndigem Auff�llen mit Nullen auf 10 #
15414
- * # Stellen die 3. Stelle der Kontonummer = 9 (Sachkonten) befindet #
15415
- * # sich die f�r die Berechnung relevante Sachkontonummer (S) in #
15416
- * # den Stellen 3 bis 9. Diese Kontonummern sind ausschlie�lich #
15417
- * # nach Methode F zu pr�fen. #
15513
+ * # Kontonummern, die an der Stelle 10 den Wert 9 haben sind nach #
15514
+ * # dieser Methode nicht g�ltig. #
15418
15515
  * # #
15419
- * # 2. Sachkonten -> Methode 32 (modifiziert) #
15420
- * # F. Modulus 11, Gewichtung 2, 3, 4, 5, 6, 7, 8. #
15421
- * # Die 3. Stelle ist 9, die f�r die Berechnung relevanten Stellen #
15422
- * # befinden sich in den Stellen 3 bis 9. #
15516
+ * # Methode E #
15517
+ * # Modulus 10, Gewichtung 2, 1, 2, 1, 2 #
15518
+ * # Stellennr.: 1 2 3 4 5 6 7 8 9 A (A = 10) #
15519
+ * # Kontonr.: x x x x K K K K K P #
15520
+ * # Gewichtung: 2 1 2 1 2 #
15521
+ * # #
15522
+ * # Die einzelnen Stellen der Kontonummer sind von rechts nach links #
15523
+ * # mit den Gewichten zu multiplizieren. Die jeweiligen Produkte #
15524
+ * # werden addiert. Die Summe der Produkte ist durch 10 zu #
15525
+ * # dividieren. Der verbleibende Rest wird vom Divisor (10) #
15526
+ * # subtrahiert. Das Ergebnis ist die Pr�fziffer. Verbleibt kein #
15527
+ * # Rest, ist die Pr�fziffer 0. #
15528
+ * # #
15529
+ * # Methode G #
15530
+ * # Modulus 7, Gewichtung 2, 1, 2, 1, 2, 1 #
15531
+ * # Stellennr.: 1 2 3 4 5 6 7 8 9 A (A = 10) #
15532
+ * # Kontonr.: x x x K K K K K K P #
15533
+ * # Gewichtung: 1 2 1 2 1 2 #
15534
+ * # #
15535
+ * # Die einzelnen Stellen der Kontonummer sind von rechts nach links #
15536
+ * # mit den Gewichten zu multiplizieren. Die jeweiligen Produkte #
15537
+ * # werden addiert. Die Summe der Produkte ist durch 7 zu #
15538
+ * # dividieren. Der verbleibende Rest wird vom Divisor (7) #
15539
+ * # subtrahiert. Das Ergebnis ist die Pr�fziffer. Verbleibt kein #
15540
+ * # Rest, ist die Pr�fziffer 0. #
15541
+ * # #
15542
+ * # Sachkonten #
15543
+ * # Sachkonten haben im Gegensatz zu Kundenkonten an der Stelle 3 #
15544
+ * # die Ziffer 9 stehen. #
15545
+ * # #
15546
+ * # Methode F #
15547
+ * # Modulus 11, Gewichtung 2, 3, 4, 5, 6, 7, 8 #
15548
+ * # Stellennr.: 1 2 3 4 5 6 7 8 9 A (A = 10) #
15549
+ * # Kontonr.: x x S S S S S S S P #
15550
+ * # Gewichtung: 8 7 6 5 4 3 2 #
15551
+ * # #
15552
+ * # Die Berechnung und die m�glichen Ergebnisse entsprechen dem #
15553
+ * # Verfahren 06. Es ist jedoch die vorgenannte Gewichtung zu #
15554
+ * # beachten. #
15423
15555
  * ######################################################################
15424
15556
  */
15425
15557
 
@@ -15545,7 +15677,40 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
15545
15677
 
15546
15678
  MOD_10_40; /* pz%=10 */
15547
15679
  if(pz)pz=10-pz;
15548
- CHECK_PZ10;
15680
+ CHECK_PZX10;
15681
+
15682
+ /* Methode G */
15683
+ #if DEBUG>0
15684
+ case 7090:
15685
+ if(retvals){
15686
+ retvals->methode="90g";
15687
+ retvals->pz_methode=7090;
15688
+ }
15689
+ #endif
15690
+ if(pz_aenderungen_aktivieren){
15691
+ pz = (kto[3]-'0')
15692
+ + (kto[4]-'0') * 2
15693
+ + (kto[5]-'0')
15694
+ + (kto[6]-'0') * 2
15695
+ + (kto[7]-'0')
15696
+ + (kto[8]-'0') * 2;
15697
+
15698
+ MOD_7_56; /* pz%=7 */
15699
+ if(pz)pz=7-pz;
15700
+ CHECK_PZ10;
15701
+ }
15702
+ else{
15703
+ #if DEBUG>0
15704
+ if(!pz_aenderungen_aktivieren){ /* switch-code derzeit noch nicht g�ltig */
15705
+ if(untermethode==7)return UNDEFINED_SUBMETHOD;
15706
+ if(retvals){ /* Methode zur�cksetzen, nicht definiert */
15707
+ retvals->methode="90e";
15708
+ retvals->pz_methode=5090;
15709
+ }
15710
+ }
15711
+ #endif
15712
+ return FALSE;
15713
+ }
15549
15714
 
15550
15715
  /* Berechnung nach der Methode 91 +���4 */
15551
15716
  /*
@@ -19975,6 +20140,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
19975
20140
  return NOT_IMPLEMENTED;
19976
20141
  }
19977
20142
  }
20143
+ #line 18898 "konto_check.lxx"
19978
20144
 
19979
20145
  /*
19980
20146
  * ######################################################################
@@ -20215,6 +20381,7 @@ DLL_EXPORT int kto_check_pz(char *pz,char *kto,char *blz)
20215
20381
  * ###########################################################################
20216
20382
  */
20217
20383
 
20384
+ #line 19139 "konto_check.lxx"
20218
20385
  static int kto_check_blz_x(char *blz,char *kto,int *uk_cnt)
20219
20386
  {
20220
20387
  char *ptr,*dptr,xkto[32];
@@ -20551,6 +20718,7 @@ DLL_EXPORT int kto_check_blz_dbg(char *blz,char *kto,RETVAL *retvals)
20551
20718
  * # Copyright (C) 2007 Michael Plugge <m.plugge@hs-mannheim.de> #
20552
20719
  * ###########################################################################
20553
20720
  */
20721
+ #line 19476 "konto_check.lxx"
20554
20722
  DLL_EXPORT int kto_check_pz_dbg(char *pz,char *kto,char *blz,RETVAL *retvals)
20555
20723
  {
20556
20724
  int untermethode,pz_methode;
@@ -20735,969 +20903,6 @@ DLL_EXPORT int bic_check(char *search_bic,int *cnt)
20735
20903
  return retval;
20736
20904
  }
20737
20905
 
20738
- /* Funktion kto_check_retval2txt() +���1 */
20739
- /* ###########################################################################
20740
- * # Die Funktion kto_check_retval2txt() wandelt die numerischen R�ckgabe- #
20741
- * # werte in Klartext um. Die Funktion kto_check_retval2txt_short macht #
20742
- * # dasselbe, nur mit mehr symbolischen Klartexten (kurz). #
20743
- * # #
20744
- * # Copyright (C) 2007 Michael Plugge <m.plugge@hs-mannheim.de> #
20745
- * ###########################################################################
20746
- */
20747
-
20748
- DLL_EXPORT const char *kto_check_retval2txt(int retval)
20749
- {
20750
- if(!retval_enc)kto_check_encoding(DEFAULT_ENCODING);
20751
- return (*retval_enc)(retval);
20752
- }
20753
-
20754
- DLL_EXPORT const char *kto_check_retval2iso(int retval)
20755
- {
20756
- switch(retval){
20757
- case IBAN_ONLY_GERMAN: return "Es werden nur deutsche IBANs unterst�tzt";
20758
- case INVALID_PARAMETER_TYPE: return "Falscher Parametertyp f�r die Funktion";
20759
- case BIC_ONLY_GERMAN: return "Es werden nur deutsche BICs unterst�tzt";
20760
- case INVALID_BIC_LENGTH: return "Die L�nge des BIC mu� genau 8 oder 11 Zeichen sein";
20761
- case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "Die IBAN-Pr�fsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
20762
- case IBAN_CHKSUM_OK_KC_NOT_INITIALIZED: return "Die IBAN-Pr�fsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontopr�fung nicht m�glich)";
20763
- case IBAN_CHKSUM_OK_BLZ_INVALID: return "Die IBAN-Pr�fsumme stimmt, die BLZ ist allerdings ung�ltig";
20764
- case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "Die IBAN-Pr�fsumme stimmt, f�r die Bank gibt es allerdings eine (andere) Nachfolge-BLZ";
20765
- case LUT2_NOT_ALL_IBAN_BLOCKS_LOADED: return "es konnten nicht alle Datenblocks die f�r die IBAN-Berechnung notwendig sind geladen werden";
20766
- case LUT2_NOT_YET_VALID_PARTIAL_OK: return "Der Datensatz ist noch nicht g�ltig, au�erdem konnten nicht alle Blocks geladen werden";
20767
- case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "Der Datensatz ist nicht mehr g�ltig, au�erdem konnten nicht alle Blocks geladen werdeng";
20768
- case LUT2_BLOCKS_MISSING: return "ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden";
20769
- case FALSE_UNTERKONTO_ATTACHED: return "falsch, es wurde ein Unterkonto hinzugef�gt (IBAN-Regel)";
20770
- case BLZ_BLACKLISTED: return "Die BLZ findet sich in der Ausschlussliste f�r IBAN-Berechnungen";
20771
- case BLZ_MARKED_AS_DELETED: return "Die BLZ ist in der Bundesbank-Datei als gel�scht markiert und somit ung�ltig";
20772
- case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "Die IBAN-Pr�fsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)";
20773
- case IBAN_CHKSUM_OK_NO_IBAN_CALCULATION: return "Die IBAN-Pr�fsumme stimmt. Die Bank gibt IBANs nach nicht ver�ffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
20774
- case IBAN_CHKSUM_OK_RULE_IGNORED: return "Die IBAN-Pr�fsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)";
20775
- case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "Die IBAN-Pr�fsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)";
20776
- case IBAN_INVALID_RULE: return "Die BLZ passt nicht zur angegebenen IBAN-Regel";
20777
- case IBAN_AMBIGUOUS_KTO: return "Die Kontonummer ist nicht eindeutig (es gibt mehrere M�glichkeiten)";
20778
- case IBAN_RULE_NOT_IMPLEMENTED: return "Die IBAN-Regel ist noch nicht implementiert";
20779
- case IBAN_RULE_UNKNOWN: return "Die IBAN-Regel ist nicht bekannt";
20780
- case NO_IBAN_CALCULATION: return "F�r die Bankverbindung ist keine IBAN-Berechnung erlaubt";
20781
- case OLD_BLZ_OK_NEW_NOT: return "Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht";
20782
- case LUT2_IBAN_REGEL_NOT_INITIALIZED: return "Das Feld IBAN-Regel wurde nicht initialisiert";
20783
- case INVALID_IBAN_LENGTH: return "Die L�nge der IBAN f�r das angegebene L�nderk�rzel ist falsch";
20784
- case LUT2_NO_ACCOUNT_GIVEN: return "Keine Bankverbindung/IBAN angegeben";
20785
- case LUT2_VOLLTEXT_INVALID_CHAR: return "Ung�ltiges Zeichen ( ()+-/&.,\' ) f�r die Volltextsuche gefunden";
20786
- case LUT2_VOLLTEXT_SINGLE_WORD_ONLY: return "Die Volltextsuche sucht jeweils nur ein einzelnes Wort, benutzen Sie lut_suche_multiple() zur Suche nach mehreren Worten";
20787
- case LUT_SUCHE_INVALID_RSC: return "die angegebene Suchresource ist ung�ltig";
20788
- case LUT_SUCHE_INVALID_CMD: return "bei der Suche sind im Verkn�pfungsstring nur die Zeichen a-z sowie + und - erlaubt";
20789
- case LUT_SUCHE_INVALID_CNT: return "bei der Suche m�ssen zwischen 1 und 26 Suchmuster angegeben werden";
20790
- case LUT2_VOLLTEXT_NOT_INITIALIZED: return "Das Feld Volltext wurde nicht initialisiert";
20791
- case NO_OWN_IBAN_CALCULATION: return "das Institut erlaubt keine eigene IBAN-Berechnung";
20792
- case KTO_CHECK_UNSUPPORTED_COMPRESSION: return "die notwendige Kompressions-Bibliothek wurde beim Kompilieren nicht eingebunden";
20793
- case KTO_CHECK_INVALID_COMPRESSION_LIB: return "der angegebene Wert f�r die Default-Kompression ist ung�ltig";
20794
- case OK_UNTERKONTO_ATTACHED_OLD: return "(nicht mehr als Fehler, sondern positive Ausgabe - Dummy f�r den alten Wert)";
20795
- case KTO_CHECK_DEFAULT_BLOCK_INVALID: return "Ung�ltige Signatur im Default-Block";
20796
- case KTO_CHECK_DEFAULT_BLOCK_FULL: return "Die maximale Anzahl Eintr�ge f�r den Default-Block wurde erreicht";
20797
- case KTO_CHECK_NO_DEFAULT_BLOCK: return "Es wurde noch kein Default-Block angelegt";
20798
- case KTO_CHECK_KEY_NOT_FOUND: return "Der angegebene Schl�ssel wurde im Default-Block nicht gefunden";
20799
- case LUT2_NO_LONGER_VALID_BETTER: return "Beide Datens�tze sind nicht mehr g�ltig, dieser ist aber j�nger als der andere";
20800
- case DTA_SRC_KTO_DIFFERENT: return "Die Auftraggeber-Kontonummer des C-Datensatzes unterscheidet sich von der des A-Satzes";
20801
- case DTA_SRC_BLZ_DIFFERENT: return "Die Auftraggeber-Bankleitzahl des C-Datensatzes unterscheidet sich von der des A-Satzes";
20802
- case DTA_CR_LF_IN_FILE: return "Die DTA-Datei enth�lt (unzul�ssige) Zeilenvorsch�be";
20803
- case DTA_INVALID_C_EXTENSION: return "ung�ltiger Typ bei einem Erweiterungsblock eines C-Datensatzes";
20804
- case DTA_FOUND_SET_A_NOT_C: return "Es wurde ein C-Datensatz erwartet, jedoch ein E-Satz gefunden";
20805
- case DTA_FOUND_SET_E_NOT_C: return "Es wurde ein C-Datensatz erwartet, jedoch ein E-Satz gefunden";
20806
- case DTA_FOUND_SET_C_NOT_EXTENSION: return "Es wurde ein C-Datensatzerweiterung erwartet, jedoch ein C-Satz gefunden";
20807
- case DTA_FOUND_SET_E_NOT_EXTENSION: return "Es wurde ein C-Datensatzerweiterung erwartet, jedoch ein E-Satz gefunden";
20808
- case DTA_INVALID_EXTENSION_COUNT: return "Die Anzahl Erweiterungen pa�t nicht zur Blockl�nge";
20809
- case DTA_INVALID_NUM: return "Ung�ltige Zeichen in numerischem Feld";
20810
- case DTA_INVALID_CHARS: return "Ung�ltige Zeichen im Textfeld";
20811
- case DTA_CURRENCY_NOT_EURO: return "Die W�hrung des DTA-Datensatzes ist nicht Euro";
20812
- case DTA_EMPTY_AMOUNT: return "In einem DTA-Datensatz wurde kein Betrag angegeben";
20813
- case DTA_INVALID_TEXT_KEY: return "Ung�ltiger Textschl�ssel in der DTA-Datei";
20814
- case DTA_EMPTY_STRING: return "F�r ein (alphanumerisches) Feld wurde kein Wert angegeben";
20815
- case DTA_MARKER_A_NOT_FOUND: return "Die Startmarkierung des A-Datensatzes wurde nicht gefunden";
20816
- case DTA_MARKER_C_NOT_FOUND: return "Die Startmarkierung des C-Datensatzes wurde nicht gefunden";
20817
- case DTA_MARKER_E_NOT_FOUND: return "Die Startmarkierung des E-Datensatzes wurde nicht gefunden";
20818
- case DTA_INVALID_SET_C_LEN: return "Die Satzl�nge eines C-Datensatzes mu� zwischen 187 und 622 Byte betragen";
20819
- case DTA_INVALID_SET_LEN: return "Die Satzl�nge eines A- bzw. E-Satzes mu� 128 Byte betragen";
20820
- case DTA_WAERUNG_NOT_EURO: return "als W�hrung in der DTA-Datei ist nicht Euro eingetragen";
20821
- case DTA_INVALID_ISSUE_DATE: return "das Ausf�hrungsdatum ist zu fr�h oder zu sp�t (max. 15 Tage nach Dateierstellung)";
20822
- case DTA_INVALID_DATE: return "das Datum ist ung�ltig";
20823
- case DTA_FORMAT_ERROR: return "Formatfehler in der DTA-Datei";
20824
- case DTA_FILE_WITH_ERRORS: return "die DTA-Datei enth�lt Fehler";
20825
- case INVALID_SEARCH_RANGE: return "ung�ltiger Suchbereich angegeben (unten>oben)";
20826
- case KEY_NOT_FOUND: return "Die Suche lieferte kein Ergebnis";
20827
- case BAV_FALSE: return "BAV denkt, das Konto ist falsch (konto_check h�lt es f�r richtig)";
20828
- case LUT2_NO_USER_BLOCK: return "User-Blocks m�ssen einen Typ > 500 haben";
20829
- case INVALID_SET: return "f�r ein LUT-Set sind nur die Werte 0, 1 oder 2 m�glich";
20830
- case NO_GERMAN_BIC: return "Ein Konto kann kann nur f�r deutsche Banken gepr�ft werden";
20831
- case IPI_CHECK_INVALID_LENGTH: return "Der zu validierende strukturierete Verwendungszweck mu� genau 20 Zeichen enthalten";
20832
- case IPI_INVALID_CHARACTER: return "Im strukturierten Verwendungszweck d�rfen nur alphanumerische Zeichen vorkommen";
20833
- case IPI_INVALID_LENGTH: return "Die L�nge des IPI-Verwendungszwecks darf maximal 18 Byte sein";
20834
- case LUT1_FILE_USED: return "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen";
20835
- case MISSING_PARAMETER: return "F�r die aufgerufene Funktion fehlt ein notwendiger Parameter";
20836
- case IBAN2BIC_ONLY_GERMAN: return "Die Funktion iban2bic() arbeitet nur mit deutschen Bankleitzahlen";
20837
- case IBAN_OK_KTO_NOT: return "Die Pr�fziffer der IBAN stimmt, die der Kontonummer nicht";
20838
- case KTO_OK_IBAN_NOT: return "Die Pr�fziffer der Kontonummer stimmt, die der IBAN nicht";
20839
- case TOO_MANY_SLOTS: return "Es sind nur maximal 500 Slots pro LUT-Datei m�glich (Neukompilieren erforderlich)";
20840
- case INIT_FATAL_ERROR: return "Initialisierung fehlgeschlagen (init_wait geblockt)";
20841
- case INCREMENTAL_INIT_NEEDS_INFO: return "Ein inkrementelles Initialisieren ben�tigt einen Info-Block in der LUT-Datei";
20842
- case INCREMENTAL_INIT_FROM_DIFFERENT_FILE: return "Ein inkrementelles Initialisieren mit einer anderen LUT-Datei ist nicht m�glich";
20843
- case DEBUG_ONLY_FUNCTION: return "Die Funktion ist nur in der Debug-Version vorhanden";
20844
- case LUT2_INVALID: return "Kein Datensatz der LUT-Datei ist aktuell g�ltig";
20845
- case LUT2_NOT_YET_VALID: return "Der Datensatz ist noch nicht g�ltig";
20846
- case LUT2_NO_LONGER_VALID: return "Der Datensatz ist nicht mehr g�ltig";
20847
- case LUT2_GUELTIGKEIT_SWAPPED: return "Im G�ltigkeitsdatum sind Anfangs- und Enddatum vertauscht";
20848
- case LUT2_INVALID_GUELTIGKEIT: return "Das angegebene G�ltigkeitsdatum ist ung�ltig (Sollformat ist JJJJMMTT-JJJJMMTT)";
20849
- case LUT2_INDEX_OUT_OF_RANGE: return "Der Index f�r die Filiale ist ung�ltig";
20850
- case LUT2_INIT_IN_PROGRESS: return "Die Bibliothek wird gerade neu initialisiert";
20851
- case LUT2_BLZ_NOT_INITIALIZED: return "Das Feld BLZ wurde nicht initialisiert";
20852
- case LUT2_FILIALEN_NOT_INITIALIZED: return "Das Feld Filialen wurde nicht initialisiert";
20853
- case LUT2_NAME_NOT_INITIALIZED: return "Das Feld Bankname wurde nicht initialisiert";
20854
- case LUT2_PLZ_NOT_INITIALIZED: return "Das Feld PLZ wurde nicht initialisiert";
20855
- case LUT2_ORT_NOT_INITIALIZED: return "Das Feld Ort wurde nicht initialisiert";
20856
- case LUT2_NAME_KURZ_NOT_INITIALIZED: return "Das Feld Kurzname wurde nicht initialisiert";
20857
- case LUT2_PAN_NOT_INITIALIZED: return "Das Feld PAN wurde nicht initialisiert";
20858
- case LUT2_BIC_NOT_INITIALIZED: return "Das Feld BIC wurde nicht initialisiert";
20859
- case LUT2_PZ_NOT_INITIALIZED: return "Das Feld Pr�fziffer wurde nicht initialisiert";
20860
- case LUT2_NR_NOT_INITIALIZED: return "Das Feld NR wurde nicht initialisiert";
20861
- case LUT2_AENDERUNG_NOT_INITIALIZED: return "Das Feld �nderung wurde nicht initialisiert";
20862
- case LUT2_LOESCHUNG_NOT_INITIALIZED: return "Das Feld L�schung wurde nicht initialisiert";
20863
- case LUT2_NACHFOLGE_BLZ_NOT_INITIALIZED: return "Das Feld Nachfolge-BLZ wurde nicht initialisiert";
20864
- case LUT2_NOT_INITIALIZED: return "die Programmbibliothek wurde noch nicht initialisiert";
20865
- case LUT2_FILIALEN_MISSING: return "der Block mit der Filialenanzahl fehlt in der LUT-Datei";
20866
- case LUT2_PARTIAL_OK: return "es wurden nicht alle Blocks geladen";
20867
- case LUT2_Z_BUF_ERROR: return "Buffer error in den ZLIB Routinen";
20868
- case LUT2_Z_MEM_ERROR: return "Memory error in den ZLIB-Routinen";
20869
- case LUT2_Z_DATA_ERROR: return "Datenfehler im komprimierten LUT-Block";
20870
- case LUT2_BLOCK_NOT_IN_FILE: return "Der Block ist nicht in der LUT-Datei enthalten";
20871
- case LUT2_DECOMPRESS_ERROR: return "Fehler beim Dekomprimieren eines LUT-Blocks";
20872
- case LUT2_COMPRESS_ERROR: return "Fehler beim Komprimieren eines LUT-Blocks";
20873
- case LUT2_FILE_CORRUPTED: return "Die LUT-Datei ist korrumpiert";
20874
- case LUT2_NO_SLOT_FREE: return "Im Inhaltsverzeichnis der LUT-Datei ist kein Slot mehr frei";
20875
- case UNDEFINED_SUBMETHOD: return "Die (Unter)Methode ist nicht definiert";
20876
- case EXCLUDED_AT_COMPILETIME: return "Der ben�tigte Programmteil wurde beim Kompilieren deaktiviert";
20877
- case INVALID_LUT_VERSION: return "Die Versionsnummer f�r die LUT-Datei ist ung�ltig";
20878
- case INVALID_PARAMETER_STELLE1: return "ung�ltiger Pr�fparameter (erste zu pr�fende Stelle)";
20879
- case INVALID_PARAMETER_COUNT: return "ung�ltiger Pr�fparameter (Anzahl zu pr�fender Stellen)";
20880
- case INVALID_PARAMETER_PRUEFZIFFER: return "ung�ltiger Pr�fparameter (Position der Pr�fziffer)";
20881
- case INVALID_PARAMETER_WICHTUNG: return "ung�ltiger Pr�fparameter (Wichtung)";
20882
- case INVALID_PARAMETER_METHODE: return "ung�ltiger Pr�fparameter (Rechenmethode)";
20883
- case LIBRARY_INIT_ERROR: return "Problem beim Initialisieren der globalen Variablen";
20884
- case LUT_CRC_ERROR: return "Pr�fsummenfehler in der blz.lut Datei";
20885
- case FALSE_GELOESCHT: return "falsch (die BLZ wurde au�erdem gel�scht)";
20886
- case OK_NO_CHK_GELOESCHT: return "ok, ohne Pr�fung (die BLZ wurde allerdings gel�scht)";
20887
- case OK_GELOESCHT: return "ok (die BLZ wurde allerdings gel�scht)";
20888
- case BLZ_GELOESCHT: return "die Bankleitzahl wurde gel�scht";
20889
- case INVALID_BLZ_FILE: return "Fehler in der blz.txt Datei (falsche Zeilenl�nge)";
20890
- case LIBRARY_IS_NOT_THREAD_SAFE: return "undefinierte Funktion, die library wurde mit THREAD_SAFE=0 kompiliert";
20891
- case FATAL_ERROR: return "schwerer Fehler im Konto_check-Modul";
20892
- case INVALID_KTO_LENGTH: return "ein Konto mu� zwischen 1 und 10 Stellen haben";
20893
- case FILE_WRITE_ERROR: return "kann Datei nicht schreiben";
20894
- case FILE_READ_ERROR: return "kann Datei nicht lesen";
20895
- case ERROR_MALLOC: return "kann keinen Speicher allokieren";
20896
- case NO_BLZ_FILE: return "die blz.txt Datei wurde nicht gefunden";
20897
- case INVALID_LUT_FILE: return "die blz.lut Datei ist inkosistent/ung�ltig";
20898
- case NO_LUT_FILE: return "die blz.lut Datei wurde nicht gefunden";
20899
- case INVALID_BLZ_LENGTH: return "die Bankleitzahl ist nicht achtstellig";
20900
- case INVALID_BLZ: return "die Bankleitzahl ist ung�ltig";
20901
- case INVALID_KTO: return "das Konto ist ung�ltig";
20902
- case NOT_IMPLEMENTED: return "die Methode wurde noch nicht implementiert";
20903
- case NOT_DEFINED: return "die Methode ist nicht definiert";
20904
- case FALSE: return "falsch";
20905
- case OK: return "ok";
20906
- case EE: if(eep)return (char *)eep; else return "";
20907
- case OK_NO_CHK: return "ok, ohne Pr�fung";
20908
- case OK_TEST_BLZ_USED: return "ok, f�r den Test wurde eine Test-BLZ verwendet";
20909
- case LUT2_VALID: return "Der Datensatz ist aktuell g�ltig";
20910
- case LUT2_NO_VALID_DATE: return "Der Datensatz enth�lt kein G�ltigkeitsdatum";
20911
- case LUT1_SET_LOADED: return "Die Datei ist im alten LUT-Format (1.0/1.1)";
20912
- case LUT1_FILE_GENERATED: return "ok, es wurde allerdings eine LUT-Datei im alten Format (1.0/1.1) generiert";
20913
- case DTA_FILE_WITH_WARNINGS: return "In der DTAUS-Datei wurden kleinere Fehler gefunden";
20914
- case LUT_V2_FILE_GENERATED: return "ok, es wurde allerdings eine LUT-Datei im Format 2.0 generiert (Compilerswitch)";
20915
- case KTO_CHECK_VALUE_REPLACED: return "ok, der Wert f�r den Schl�ssel wurde �berschrieben";
20916
- case OK_UNTERKONTO_POSSIBLE: return "wahrscheinlich ok, die Kontonummer kann allerdings (nicht angegebene) Unterkonten enthalten";
20917
- case OK_UNTERKONTO_GIVEN: return "wahrscheinlich ok, die Kontonummer enth�lt eine Unterkontonummer";
20918
- case OK_SLOT_CNT_MIN_USED: return "ok, die Anzahl Slots wurde auf SLOT_CNT_MIN (60) hochgesetzt";
20919
- case SOME_KEYS_NOT_FOUND: return "ok, ein(ige) Schl�ssel wurden nicht gefunden";
20920
- case LUT2_KTO_NOT_CHECKED: return "Die Bankverbindung wurde nicht getestet";
20921
- case LUT2_OK_WITHOUT_IBAN_RULES: return "Es wurden fast alle Blocks (au�er den IBAN-Regeln) geladen";
20922
- case OK_NACHFOLGE_BLZ_USED: return "ok, f�r die BLZ wurde allerdings die Nachfolge-BLZ eingesetzt";
20923
- case OK_KTO_REPLACED: return "ok, die Kontonummer wurde allerdings ersetzt";
20924
- case OK_BLZ_REPLACED: return "ok, die Bankleitzahl wurde allerdings ersetzt";
20925
- case OK_BLZ_KTO_REPLACED: return "ok, die Bankleitzahl und Kontonummer wurden allerdings ersetzt";
20926
- case OK_IBAN_WITHOUT_KC_TEST: return "ok, die Bankverbindung ist (ohne Test) als richtig anzusehen";
20927
- case OK_INVALID_FOR_IBAN: return "ok, f�r die die IBAN ist (durch eine Regel) allerdings ein anderer BIC definiert";
20928
- case OK_HYPO_REQUIRES_KTO: return "ok, f�r die BIC-Bestimmung der ehemaligen Hypo-Bank f�r IBAN wird i.A. zus�tzlich die Kontonummer ben�tigt";
20929
- case OK_KTO_REPLACED_NO_PZ: return "ok, die Kontonummer wurde ersetzt, die neue Kontonummer hat keine Pr�fziffer";
20930
- case OK_UNTERKONTO_ATTACHED: return "ok, es wurde ein (weggelassenes) Unterkonto angef�gt";
20931
- case OK_SHORT_BIC_USED: return "ok, f�r den BIC wurde die Zweigstellennummer allerdings durch XXX ersetzt";
20932
- default: return "ung�ltiger R�ckgabewert";
20933
- }
20934
- }
20935
-
20936
- /* Funktion kto_check_retval2dos() +���1 */
20937
- /* ###########################################################################
20938
- * # Die Funktion kto_check_retval2dos() wandelt die numerischen R�ckgabe- #
20939
- * # werte in Klartext mit den Umlauten in DOS-Kodierung (CP850) um. #
20940
- * # #
20941
- * # Copyright (C) 2007 Michael Plugge <m.plugge@hs-mannheim.de> #
20942
- * ###########################################################################
20943
- */
20944
-
20945
- DLL_EXPORT const char *kto_check_retval2dos(int retval)
20946
- {
20947
- switch(retval){
20948
- case IBAN_ONLY_GERMAN: return "Es werden nur deutsche IBANs unterst�tzt";
20949
- case INVALID_PARAMETER_TYPE: return "Falscher Parametertyp f�r die Funktion";
20950
- case BIC_ONLY_GERMAN: return "Es werden nur deutsche BICs unterst�tzt";
20951
- case INVALID_BIC_LENGTH: return "Die L� nge des BIC mu� genau 8 oder 11 Zeichen sein";
20952
- case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "Die IBAN-Pr�fsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
20953
- case IBAN_CHKSUM_OK_KC_NOT_INITIALIZED: return "Die IBAN-Pr�fsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontopr�fung nicht m�glich)";
20954
- case IBAN_CHKSUM_OK_BLZ_INVALID: return "Die IBAN-Pr�fsumme stimmt, die BLZ ist allerdings ung�ltig";
20955
- case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "Die IBAN-Pr�fsumme stimmt, f�r die Bank gibt es allerdings eine (andere) Nachfolge-BLZ";
20956
- case LUT2_NOT_ALL_IBAN_BLOCKS_LOADED: return "es konnten nicht alle Datenblocks die f�r die IBAN-Berechnung notwendig sind geladen werden";
20957
- case LUT2_NOT_YET_VALID_PARTIAL_OK: return "Der Datensatz ist noch nicht g�ltig, au�erdem konnten nicht alle Blocks geladen werden";
20958
- case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "Der Datensatz ist nicht mehr g�ltig, au�erdem konnten nicht alle Blocks geladen werdeng";
20959
- case LUT2_BLOCKS_MISSING: return "ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden";
20960
- case FALSE_UNTERKONTO_ATTACHED: return "falsch, es wurde ein Unterkonto hinzugef�gt (IBAN-Regel)";
20961
- case BLZ_BLACKLISTED: return "Die BLZ findet sich in der Ausschlussliste f�r IBAN-Berechnungen";
20962
- case BLZ_MARKED_AS_DELETED: return "Die BLZ ist in der Bundesbank-Datei als gel�scht markiert und somit ung�ltig";
20963
- case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "Die IBAN-Pr�fsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)";
20964
- case IBAN_CHKSUM_OK_NO_IBAN_CALCULATION: return "Die IBAN-Pr�fsumme stimmt. Die Bank gibt IBANs nach nicht ver�ffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
20965
- case IBAN_CHKSUM_OK_RULE_IGNORED: return "Die IBAN-Pr�fsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)";
20966
- case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "Die IBAN-Pr�fsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)";
20967
- case IBAN_INVALID_RULE: return "Die BLZ passt nicht zur angegebenen IBAN-Regel";
20968
- case IBAN_AMBIGUOUS_KTO: return "Die Kontonummer ist nicht eindeutig (es gibt mehrere M�glichkeiten)";
20969
- case IBAN_RULE_NOT_IMPLEMENTED: return "Die IBAN-Regel ist noch nicht implementiert";
20970
- case IBAN_RULE_UNKNOWN: return "Die IBAN-Regel ist nicht bekannt";
20971
- case NO_IBAN_CALCULATION: return "F�r die Bankverbindung ist keine IBAN-Berechnung erlaubt";
20972
- case OLD_BLZ_OK_NEW_NOT: return "Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht";
20973
- case LUT2_IBAN_REGEL_NOT_INITIALIZED: return "Das Feld IBAN-Regel wurde nicht initialisiert";
20974
- case INVALID_IBAN_LENGTH: return "Die L� nge der IBAN f�r das angegebene L� nderk�rzel ist falsch";
20975
- case LUT2_NO_ACCOUNT_GIVEN: return "Keine Bankverbindung/IBAN angegeben";
20976
- case LUT2_VOLLTEXT_INVALID_CHAR: return "Ung�ltiges Zeichen ( ()+-/&.,\' ) f�r die Volltextsuche gefunden";
20977
- case LUT2_VOLLTEXT_SINGLE_WORD_ONLY: return "Die Volltextsuche sucht jeweils nur ein einzelnes Wort, benutzen Sie lut_suche_multiple() zur Suche nach mehreren Worten";
20978
- case LUT_SUCHE_INVALID_RSC: return "die angegebene Suchresource ist ung�ltig";
20979
- case LUT_SUCHE_INVALID_CMD: return "bei der Suche sind im Verkn�pfungsstring nur die Zeichen a-z sowie + und - erlaubt";
20980
- case LUT_SUCHE_INVALID_CNT: return "bei der Suche m�ssen zwischen 1 und 26 Suchmuster angegeben werden";
20981
- case LUT2_VOLLTEXT_NOT_INITIALIZED: return "Das Feld Volltext wurde nicht initialisiert";
20982
- case NO_OWN_IBAN_CALCULATION: return "das Institut erlaubt keine eigene IBAN-Berechnung";
20983
- case KTO_CHECK_UNSUPPORTED_COMPRESSION: return "die notwendige Kompressions-Bibliothek wurde beim Kompilieren nicht eingebunden";
20984
- case KTO_CHECK_INVALID_COMPRESSION_LIB: return "der angegebene Wert f�r die Default-Kompression ist ung�ltig";
20985
- case OK_UNTERKONTO_ATTACHED_OLD: return "(nicht mehr als Fehler, sondern positive Ausgabe - Dummy f�r den alten Wert)";
20986
- case KTO_CHECK_DEFAULT_BLOCK_INVALID: return "Ung�ltige Signatur im Default-Block";
20987
- case KTO_CHECK_DEFAULT_BLOCK_FULL: return "Die maximale Anzahl Eintr� ge f�r den Default-Block wurde erreicht";
20988
- case KTO_CHECK_NO_DEFAULT_BLOCK: return "Es wurde noch kein Default-Block angelegt";
20989
- case KTO_CHECK_KEY_NOT_FOUND: return "Der angegebene Schl�ssel wurde im Default-Block nicht gefunden";
20990
- case LUT2_NO_LONGER_VALID_BETTER: return "Beide Datens� tze sind nicht mehr g�ltig, dieser ist aber j�nger als der andere";
20991
- case DTA_SRC_KTO_DIFFERENT: return "Die Auftraggeber-Kontonummer des C-Datensatzes unterscheidet sich von der des A-Satzes";
20992
- case DTA_SRC_BLZ_DIFFERENT: return "Die Auftraggeber-Bankleitzahl des C-Datensatzes unterscheidet sich von der des A-Satzes";
20993
- case DTA_CR_LF_IN_FILE: return "Die DTA-Datei enth� lt (unzul� ssige) Zeilenvorsch�be";
20994
- case DTA_INVALID_C_EXTENSION: return "ung�ltiger Typ bei einem Erweiterungsblock eines C-Datensatzes";
20995
- case DTA_FOUND_SET_A_NOT_C: return "Es wurde ein C-Datensatz erwartet, jedoch ein E-Satz gefunden";
20996
- case DTA_FOUND_SET_E_NOT_C: return "Es wurde ein C-Datensatz erwartet, jedoch ein E-Satz gefunden";
20997
- case DTA_FOUND_SET_C_NOT_EXTENSION: return "Es wurde ein C-Datensatzerweiterung erwartet, jedoch ein C-Satz gefunden";
20998
- case DTA_FOUND_SET_E_NOT_EXTENSION: return "Es wurde ein C-Datensatzerweiterung erwartet, jedoch ein E-Satz gefunden";
20999
- case DTA_INVALID_EXTENSION_COUNT: return "Die Anzahl Erweiterungen pa�t nicht zur Blockl� nge";
21000
- case DTA_INVALID_NUM: return "Ung�ltige Zeichen in numerischem Feld";
21001
- case DTA_INVALID_CHARS: return "Ung�ltige Zeichen im Textfeld";
21002
- case DTA_CURRENCY_NOT_EURO: return "Die W� hrung des DTA-Datensatzes ist nicht Euro";
21003
- case DTA_EMPTY_AMOUNT: return "In einem DTA-Datensatz wurde kein Betrag angegeben";
21004
- case DTA_INVALID_TEXT_KEY: return "Ung�ltiger Textschl�ssel in der DTA-Datei";
21005
- case DTA_EMPTY_STRING: return "F�r ein (alphanumerisches) Feld wurde kein Wert angegeben";
21006
- case DTA_MARKER_A_NOT_FOUND: return "Die Startmarkierung des A-Datensatzes wurde nicht gefunden";
21007
- case DTA_MARKER_C_NOT_FOUND: return "Die Startmarkierung des C-Datensatzes wurde nicht gefunden";
21008
- case DTA_MARKER_E_NOT_FOUND: return "Die Startmarkierung des E-Datensatzes wurde nicht gefunden";
21009
- case DTA_INVALID_SET_C_LEN: return "Die Satzl� nge eines C-Datensatzes mu� zwischen 187 und 622 Byte betragen";
21010
- case DTA_INVALID_SET_LEN: return "Die Satzl� nge eines A- bzw. E-Satzes mu� 128 Byte betragen";
21011
- case DTA_WAERUNG_NOT_EURO: return "als W� hrung in der DTA-Datei ist nicht Euro eingetragen";
21012
- case DTA_INVALID_ISSUE_DATE: return "das Ausf�hrungsdatum ist zu fr�h oder zu sp� t (max. 15 Tage nach Dateierstellung)";
21013
- case DTA_INVALID_DATE: return "das Datum ist ung�ltig";
21014
- case DTA_FORMAT_ERROR: return "Formatfehler in der DTA-Datei";
21015
- case DTA_FILE_WITH_ERRORS: return "die DTA-Datei enth� lt Fehler";
21016
- case INVALID_SEARCH_RANGE: return "ung�ltiger Suchbereich angegeben (unten>oben)";
21017
- case KEY_NOT_FOUND: return "Die Suche lieferte kein Ergebnis";
21018
- case BAV_FALSE: return "BAV denkt, das Konto ist falsch (konto_check h� lt es f�r richtig)";
21019
- case LUT2_NO_USER_BLOCK: return "User-Blocks m�ssen einen Typ > 500 haben";
21020
- case INVALID_SET: return "f�r ein LUT-Set sind nur die Werte 0, 1 oder 2 m�glich";
21021
- case NO_GERMAN_BIC: return "Ein Konto kann kann nur f�r deutsche Banken gepr�ft werden";
21022
- case IPI_CHECK_INVALID_LENGTH: return "Der zu validierende strukturierete Verwendungszweck mu� genau 20 Zeichen enthalten";
21023
- case IPI_INVALID_CHARACTER: return "Im strukturierten Verwendungszweck d�rfen nur alphanumerische Zeichen vorkommen";
21024
- case IPI_INVALID_LENGTH: return "Die L� nge des IPI-Verwendungszwecks darf maximal 18 Byte sein";
21025
- case LUT1_FILE_USED: return "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen";
21026
- case MISSING_PARAMETER: return "F�r die aufgerufene Funktion fehlt ein notwendiger Parameter";
21027
- case IBAN2BIC_ONLY_GERMAN: return "Die Funktion iban2bic() arbeitet nur mit deutschen Bankleitzahlen";
21028
- case IBAN_OK_KTO_NOT: return "Die Pr�fziffer der IBAN stimmt, die der Kontonummer nicht";
21029
- case KTO_OK_IBAN_NOT: return "Die Pr�fziffer der Kontonummer stimmt, die der IBAN nicht";
21030
- case TOO_MANY_SLOTS: return "Es sind nur maximal 500 Slots pro LUT-Datei m�glich (Neukompilieren erforderlich)";
21031
- case INIT_FATAL_ERROR: return "Initialisierung fehlgeschlagen (init_wait geblockt)";
21032
- case INCREMENTAL_INIT_NEEDS_INFO: return "Ein inkrementelles Initialisieren ben�tigt einen Info-Block in der LUT-Datei";
21033
- case INCREMENTAL_INIT_FROM_DIFFERENT_FILE: return "Ein inkrementelles Initialisieren mit einer anderen LUT-Datei ist nicht m�glich";
21034
- case DEBUG_ONLY_FUNCTION: return "Die Funktion ist nur in der Debug-Version vorhanden";
21035
- case LUT2_INVALID: return "Kein Datensatz der LUT-Datei ist aktuell g�ltig";
21036
- case LUT2_NOT_YET_VALID: return "Der Datensatz ist noch nicht g�ltig";
21037
- case LUT2_NO_LONGER_VALID: return "Der Datensatz ist nicht mehr g�ltig";
21038
- case LUT2_GUELTIGKEIT_SWAPPED: return "Im G�ltigkeitsdatum sind Anfangs- und Enddatum vertauscht";
21039
- case LUT2_INVALID_GUELTIGKEIT: return "Das angegebene G�ltigkeitsdatum ist ung�ltig (Sollformat ist JJJJMMTT-JJJJMMTT)";
21040
- case LUT2_INDEX_OUT_OF_RANGE: return "Der Index f�r die Filiale ist ung�ltig";
21041
- case LUT2_INIT_IN_PROGRESS: return "Die Bibliothek wird gerade neu initialisiert";
21042
- case LUT2_BLZ_NOT_INITIALIZED: return "Das Feld BLZ wurde nicht initialisiert";
21043
- case LUT2_FILIALEN_NOT_INITIALIZED: return "Das Feld Filialen wurde nicht initialisiert";
21044
- case LUT2_NAME_NOT_INITIALIZED: return "Das Feld Bankname wurde nicht initialisiert";
21045
- case LUT2_PLZ_NOT_INITIALIZED: return "Das Feld PLZ wurde nicht initialisiert";
21046
- case LUT2_ORT_NOT_INITIALIZED: return "Das Feld Ort wurde nicht initialisiert";
21047
- case LUT2_NAME_KURZ_NOT_INITIALIZED: return "Das Feld Kurzname wurde nicht initialisiert";
21048
- case LUT2_PAN_NOT_INITIALIZED: return "Das Feld PAN wurde nicht initialisiert";
21049
- case LUT2_BIC_NOT_INITIALIZED: return "Das Feld BIC wurde nicht initialisiert";
21050
- case LUT2_PZ_NOT_INITIALIZED: return "Das Feld Pr�fziffer wurde nicht initialisiert";
21051
- case LUT2_NR_NOT_INITIALIZED: return "Das Feld NR wurde nicht initialisiert";
21052
- case LUT2_AENDERUNG_NOT_INITIALIZED: return "Das Feld �nderung wurde nicht initialisiert";
21053
- case LUT2_LOESCHUNG_NOT_INITIALIZED: return "Das Feld L�schung wurde nicht initialisiert";
21054
- case LUT2_NACHFOLGE_BLZ_NOT_INITIALIZED: return "Das Feld Nachfolge-BLZ wurde nicht initialisiert";
21055
- case LUT2_NOT_INITIALIZED: return "die Programmbibliothek wurde noch nicht initialisiert";
21056
- case LUT2_FILIALEN_MISSING: return "der Block mit der Filialenanzahl fehlt in der LUT-Datei";
21057
- case LUT2_PARTIAL_OK: return "es wurden nicht alle Blocks geladen";
21058
- case LUT2_Z_BUF_ERROR: return "Buffer error in den ZLIB Routinen";
21059
- case LUT2_Z_MEM_ERROR: return "Memory error in den ZLIB-Routinen";
21060
- case LUT2_Z_DATA_ERROR: return "Datenfehler im komprimierten LUT-Block";
21061
- case LUT2_BLOCK_NOT_IN_FILE: return "Der Block ist nicht in der LUT-Datei enthalten";
21062
- case LUT2_DECOMPRESS_ERROR: return "Fehler beim Dekomprimieren eines LUT-Blocks";
21063
- case LUT2_COMPRESS_ERROR: return "Fehler beim Komprimieren eines LUT-Blocks";
21064
- case LUT2_FILE_CORRUPTED: return "Die LUT-Datei ist korrumpiert";
21065
- case LUT2_NO_SLOT_FREE: return "Im Inhaltsverzeichnis der LUT-Datei ist kein Slot mehr frei";
21066
- case UNDEFINED_SUBMETHOD: return "Die (Unter)Methode ist nicht definiert";
21067
- case EXCLUDED_AT_COMPILETIME: return "Der ben�tigte Programmteil wurde beim Kompilieren deaktiviert";
21068
- case INVALID_LUT_VERSION: return "Die Versionsnummer f�r die LUT-Datei ist ung�ltig";
21069
- case INVALID_PARAMETER_STELLE1: return "ung�ltiger Pr�fparameter (erste zu pr�fende Stelle)";
21070
- case INVALID_PARAMETER_COUNT: return "ung�ltiger Pr�fparameter (Anzahl zu pr�fender Stellen)";
21071
- case INVALID_PARAMETER_PRUEFZIFFER: return "ung�ltiger Pr�fparameter (Position der Pr�fziffer)";
21072
- case INVALID_PARAMETER_WICHTUNG: return "ung�ltiger Pr�fparameter (Wichtung)";
21073
- case INVALID_PARAMETER_METHODE: return "ung�ltiger Pr�fparameter (Rechenmethode)";
21074
- case LIBRARY_INIT_ERROR: return "Problem beim Initialisieren der globalen Variablen";
21075
- case LUT_CRC_ERROR: return "Pr�fsummenfehler in der blz.lut Datei";
21076
- case FALSE_GELOESCHT: return "falsch (die BLZ wurde au�erdem gel�scht)";
21077
- case OK_NO_CHK_GELOESCHT: return "ok, ohne Pr�fung (die BLZ wurde allerdings gel�scht)";
21078
- case OK_GELOESCHT: return "ok (die BLZ wurde allerdings gel�scht)";
21079
- case BLZ_GELOESCHT: return "die Bankleitzahl wurde gel�scht";
21080
- case INVALID_BLZ_FILE: return "Fehler in der blz.txt Datei (falsche Zeilenl� nge)";
21081
- case LIBRARY_IS_NOT_THREAD_SAFE: return "undefinierte Funktion, die library wurde mit THREAD_SAFE=0 kompiliert";
21082
- case FATAL_ERROR: return "schwerer Fehler im Konto_check-Modul";
21083
- case INVALID_KTO_LENGTH: return "ein Konto mu� zwischen 1 und 10 Stellen haben";
21084
- case FILE_WRITE_ERROR: return "kann Datei nicht schreiben";
21085
- case FILE_READ_ERROR: return "kann Datei nicht lesen";
21086
- case ERROR_MALLOC: return "kann keinen Speicher allokieren";
21087
- case NO_BLZ_FILE: return "die blz.txt Datei wurde nicht gefunden";
21088
- case INVALID_LUT_FILE: return "die blz.lut Datei ist inkosistent/ung�ltig";
21089
- case NO_LUT_FILE: return "die blz.lut Datei wurde nicht gefunden";
21090
- case INVALID_BLZ_LENGTH: return "die Bankleitzahl ist nicht achtstellig";
21091
- case INVALID_BLZ: return "die Bankleitzahl ist ung�ltig";
21092
- case INVALID_KTO: return "das Konto ist ung�ltig";
21093
- case NOT_IMPLEMENTED: return "die Methode wurde noch nicht implementiert";
21094
- case NOT_DEFINED: return "die Methode ist nicht definiert";
21095
- case FALSE: return "falsch";
21096
- case OK: return "ok";
21097
- case EE: if(eep)return (char *)eep; else return "";
21098
- case OK_NO_CHK: return "ok, ohne Pr�fung";
21099
- case OK_TEST_BLZ_USED: return "ok, f�r den Test wurde eine Test-BLZ verwendet";
21100
- case LUT2_VALID: return "Der Datensatz ist aktuell g�ltig";
21101
- case LUT2_NO_VALID_DATE: return "Der Datensatz enth� lt kein G�ltigkeitsdatum";
21102
- case LUT1_SET_LOADED: return "Die Datei ist im alten LUT-Format (1.0/1.1)";
21103
- case LUT1_FILE_GENERATED: return "ok, es wurde allerdings eine LUT-Datei im alten Format (1.0/1.1) generiert";
21104
- case DTA_FILE_WITH_WARNINGS: return "In der DTAUS-Datei wurden kleinere Fehler gefunden";
21105
- case LUT_V2_FILE_GENERATED: return "ok, es wurde allerdings eine LUT-Datei im Format 2.0 generiert (Compilerswitch)";
21106
- case KTO_CHECK_VALUE_REPLACED: return "ok, der Wert f�r den Schl�ssel wurde �berschrieben";
21107
- case OK_UNTERKONTO_POSSIBLE: return "wahrscheinlich ok, die Kontonummer kann allerdings (nicht angegebene) Unterkonten enthalten";
21108
- case OK_UNTERKONTO_GIVEN: return "wahrscheinlich ok, die Kontonummer enth� lt eine Unterkontonummer";
21109
- case OK_SLOT_CNT_MIN_USED: return "ok, die Anzahl Slots wurde auf SLOT_CNT_MIN (60) hochgesetzt";
21110
- case SOME_KEYS_NOT_FOUND: return "ok, ein(ige) Schl�ssel wurden nicht gefunden";
21111
- case LUT2_KTO_NOT_CHECKED: return "Die Bankverbindung wurde nicht getestet";
21112
- case LUT2_OK_WITHOUT_IBAN_RULES: return "Es wurden fast alle Blocks (au�er den IBAN-Regeln) geladen";
21113
- case OK_NACHFOLGE_BLZ_USED: return "ok, f�r die BLZ wurde allerdings die Nachfolge-BLZ eingesetzt";
21114
- case OK_KTO_REPLACED: return "ok, die Kontonummer wurde allerdings ersetzt";
21115
- case OK_BLZ_REPLACED: return "ok, die Bankleitzahl wurde allerdings ersetzt";
21116
- case OK_BLZ_KTO_REPLACED: return "ok, die Bankleitzahl und Kontonummer wurden allerdings ersetzt";
21117
- case OK_IBAN_WITHOUT_KC_TEST: return "ok, die Bankverbindung ist (ohne Test) als richtig anzusehen";
21118
- case OK_INVALID_FOR_IBAN: return "ok, f�r die die IBAN ist (durch eine Regel) allerdings ein anderer BIC definiert";
21119
- case OK_HYPO_REQUIRES_KTO: return "ok, f�r die BIC-Bestimmung der ehemaligen Hypo-Bank f�r IBAN wird i.A. zus� tzlich die Kontonummer ben�tigt";
21120
- case OK_KTO_REPLACED_NO_PZ: return "ok, die Kontonummer wurde ersetzt, die neue Kontonummer hat keine Pr�fziffer";
21121
- case OK_UNTERKONTO_ATTACHED: return "ok, es wurde ein (weggelassenes) Unterkonto angef�gt";
21122
- case OK_SHORT_BIC_USED: return "ok, f�r den BIC wurde die Zweigstellennummer allerdings durch XXX ersetzt";
21123
- default: return "ung�ltiger R�ckgabewert";
21124
- }
21125
- }
21126
-
21127
- /* Funktion kto_check_retval2html() +���1 */
21128
- /* ###########################################################################
21129
- * # Die Funktion kto_check_retval2html() wandelt die numerischen R�ckgabe- #
21130
- * # werte in Klartext mit den Umlauten in HTML-Kodierung um. #
21131
- * # #
21132
- * # Copyright (C) 2007 Michael Plugge <m.plugge@hs-mannheim.de> #
21133
- * ###########################################################################
21134
- */
21135
-
21136
- DLL_EXPORT const char *kto_check_retval2html(int retval)
21137
- {
21138
- switch(retval){
21139
- case IBAN_ONLY_GERMAN: return "Es werden nur deutsche IBANs unterst&uuml;tzt";
21140
- case INVALID_PARAMETER_TYPE: return "Falscher Parametertyp f&uuml;r die Funktion";
21141
- case BIC_ONLY_GERMAN: return "Es werden nur deutsche BICs unterst&uuml;tzt";
21142
- case INVALID_BIC_LENGTH: return "Die L&auml;nge des BIC mu&szlig; genau 8 oder 11 Zeichen sein";
21143
- case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "Die IBAN-Pr&uuml;fsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
21144
- case IBAN_CHKSUM_OK_KC_NOT_INITIALIZED: return "Die IBAN-Pr&uuml;fsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontopr&uuml;fung nicht m&ouml;glich)";
21145
- case IBAN_CHKSUM_OK_BLZ_INVALID: return "Die IBAN-Pr&uuml;fsumme stimmt, die BLZ ist allerdings ung&uuml;ltig";
21146
- case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "Die IBAN-Pr&uuml;fsumme stimmt, f&uuml;r die Bank gibt es allerdings eine (andere) Nachfolge-BLZ";
21147
- case LUT2_NOT_ALL_IBAN_BLOCKS_LOADED: return "es konnten nicht alle Datenblocks die f&uuml;r die IBAN-Berechnung notwendig sind geladen werden";
21148
- case LUT2_NOT_YET_VALID_PARTIAL_OK: return "Der Datensatz ist noch nicht g&uuml;ltig, au&szlig;erdem konnten nicht alle Blocks geladen werden";
21149
- case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "Der Datensatz ist nicht mehr g&uuml;ltig, au&szlig;erdem konnten nicht alle Blocks geladen werdeng";
21150
- case LUT2_BLOCKS_MISSING: return "ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden";
21151
- case FALSE_UNTERKONTO_ATTACHED: return "falsch, es wurde ein Unterkonto hinzugef&uuml;gt (IBAN-Regel)";
21152
- case BLZ_BLACKLISTED: return "Die BLZ findet sich in der Ausschlussliste f&uuml;r IBAN-Berechnungen";
21153
- case BLZ_MARKED_AS_DELETED: return "Die BLZ ist in der Bundesbank-Datei als gel&ouml;scht markiert und somit ung&uuml;ltig";
21154
- case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "Die IBAN-Pr&uuml;fsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)";
21155
- case IBAN_CHKSUM_OK_NO_IBAN_CALCULATION: return "Die IBAN-Pr&uuml;fsumme stimmt. Die Bank gibt IBANs nach nicht ver&ouml;ffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
21156
- case IBAN_CHKSUM_OK_RULE_IGNORED: return "Die IBAN-Pr&uuml;fsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)";
21157
- case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "Die IBAN-Pr&uuml;fsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)";
21158
- case IBAN_INVALID_RULE: return "Die BLZ passt nicht zur angegebenen IBAN-Regel";
21159
- case IBAN_AMBIGUOUS_KTO: return "Die Kontonummer ist nicht eindeutig (es gibt mehrere M&ouml;glichkeiten)";
21160
- case IBAN_RULE_NOT_IMPLEMENTED: return "Die IBAN-Regel ist noch nicht implementiert";
21161
- case IBAN_RULE_UNKNOWN: return "Die IBAN-Regel ist nicht bekannt";
21162
- case NO_IBAN_CALCULATION: return "F&uuml;r die Bankverbindung ist keine IBAN-Berechnung erlaubt";
21163
- case OLD_BLZ_OK_NEW_NOT: return "Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht";
21164
- case LUT2_IBAN_REGEL_NOT_INITIALIZED: return "Das Feld IBAN-Regel wurde nicht initialisiert";
21165
- case INVALID_IBAN_LENGTH: return "Die L&auml;nge der IBAN f&uuml;r das angegebene L&auml;nderk&uuml;rzel ist falsch";
21166
- case LUT2_NO_ACCOUNT_GIVEN: return "Keine Bankverbindung/IBAN angegeben";
21167
- case LUT2_VOLLTEXT_INVALID_CHAR: return "Ung&uuml;ltiges Zeichen ( ()+-/&amp;.,\' ) f&uuml;r die Volltextsuche gefunden";
21168
- case LUT2_VOLLTEXT_SINGLE_WORD_ONLY: return "Die Volltextsuche sucht jeweils nur ein einzelnes Wort, benutzen Sie lut_suche_multiple() zur Suche nach mehreren Worten";
21169
- case LUT_SUCHE_INVALID_RSC: return "die angegebene Suchresource ist ung&uuml;ltig";
21170
- case LUT_SUCHE_INVALID_CMD: return "bei der Suche sind im Verkn&uuml;pfungsstring nur die Zeichen a-z sowie + und - erlaubt";
21171
- case LUT_SUCHE_INVALID_CNT: return "bei der Suche m&uuml;ssen zwischen 1 und 26 Suchmuster angegeben werden";
21172
- case LUT2_VOLLTEXT_NOT_INITIALIZED: return "Das Feld Volltext wurde nicht initialisiert";
21173
- case NO_OWN_IBAN_CALCULATION: return "das Institut erlaubt keine eigene IBAN-Berechnung";
21174
- case KTO_CHECK_UNSUPPORTED_COMPRESSION: return "die notwendige Kompressions-Bibliothek wurde beim Kompilieren nicht eingebunden";
21175
- case KTO_CHECK_INVALID_COMPRESSION_LIB: return "der angegebene Wert f&uuml;r die Default-Kompression ist ung&uuml;ltig";
21176
- case OK_UNTERKONTO_ATTACHED_OLD: return "(nicht mehr als Fehler, sondern positive Ausgabe - Dummy f&uuml;r den alten Wert)";
21177
- case KTO_CHECK_DEFAULT_BLOCK_INVALID: return "Ung&uuml;ltige Signatur im Default-Block";
21178
- case KTO_CHECK_DEFAULT_BLOCK_FULL: return "Die maximale Anzahl Eintr&auml;ge f&uuml;r den Default-Block wurde erreicht";
21179
- case KTO_CHECK_NO_DEFAULT_BLOCK: return "Es wurde noch kein Default-Block angelegt";
21180
- case KTO_CHECK_KEY_NOT_FOUND: return "Der angegebene Schl&uuml;ssel wurde im Default-Block nicht gefunden";
21181
- case LUT2_NO_LONGER_VALID_BETTER: return "Beide Datens&auml;tze sind nicht mehr g&uuml;ltig, dieser ist aber j&uuml;nger als der andere";
21182
- case DTA_SRC_KTO_DIFFERENT: return "Die Auftraggeber-Kontonummer des C-Datensatzes unterscheidet sich von der des A-Satzes";
21183
- case DTA_SRC_BLZ_DIFFERENT: return "Die Auftraggeber-Bankleitzahl des C-Datensatzes unterscheidet sich von der des A-Satzes";
21184
- case DTA_CR_LF_IN_FILE: return "Die DTA-Datei enth&auml;lt (unzul&auml;ssige) Zeilenvorsch&uuml;be";
21185
- case DTA_INVALID_C_EXTENSION: return "ung&uuml;ltiger Typ bei einem Erweiterungsblock eines C-Datensatzes";
21186
- case DTA_FOUND_SET_A_NOT_C: return "Es wurde ein C-Datensatz erwartet, jedoch ein E-Satz gefunden";
21187
- case DTA_FOUND_SET_E_NOT_C: return "Es wurde ein C-Datensatz erwartet, jedoch ein E-Satz gefunden";
21188
- case DTA_FOUND_SET_C_NOT_EXTENSION: return "Es wurde ein C-Datensatzerweiterung erwartet, jedoch ein C-Satz gefunden";
21189
- case DTA_FOUND_SET_E_NOT_EXTENSION: return "Es wurde ein C-Datensatzerweiterung erwartet, jedoch ein E-Satz gefunden";
21190
- case DTA_INVALID_EXTENSION_COUNT: return "Die Anzahl Erweiterungen pa&szlig;t nicht zur Blockl&auml;nge";
21191
- case DTA_INVALID_NUM: return "Ung&uuml;ltige Zeichen in numerischem Feld";
21192
- case DTA_INVALID_CHARS: return "Ung&uuml;ltige Zeichen im Textfeld";
21193
- case DTA_CURRENCY_NOT_EURO: return "Die W&auml;hrung des DTA-Datensatzes ist nicht Euro";
21194
- case DTA_EMPTY_AMOUNT: return "In einem DTA-Datensatz wurde kein Betrag angegeben";
21195
- case DTA_INVALID_TEXT_KEY: return "Ung&uuml;ltiger Textschl&uuml;ssel in der DTA-Datei";
21196
- case DTA_EMPTY_STRING: return "F&uuml;r ein (alphanumerisches) Feld wurde kein Wert angegeben";
21197
- case DTA_MARKER_A_NOT_FOUND: return "Die Startmarkierung des A-Datensatzes wurde nicht gefunden";
21198
- case DTA_MARKER_C_NOT_FOUND: return "Die Startmarkierung des C-Datensatzes wurde nicht gefunden";
21199
- case DTA_MARKER_E_NOT_FOUND: return "Die Startmarkierung des E-Datensatzes wurde nicht gefunden";
21200
- case DTA_INVALID_SET_C_LEN: return "Die Satzl&auml;nge eines C-Datensatzes mu&szlig; zwischen 187 und 622 Byte betragen";
21201
- case DTA_INVALID_SET_LEN: return "Die Satzl&auml;nge eines A- bzw. E-Satzes mu&szlig; 128 Byte betragen";
21202
- case DTA_WAERUNG_NOT_EURO: return "als W&auml;hrung in der DTA-Datei ist nicht Euro eingetragen";
21203
- case DTA_INVALID_ISSUE_DATE: return "das Ausf&uuml;hrungsdatum ist zu fr&uuml;h oder zu sp&auml;t (max. 15 Tage nach Dateierstellung)";
21204
- case DTA_INVALID_DATE: return "das Datum ist ung&uuml;ltig";
21205
- case DTA_FORMAT_ERROR: return "Formatfehler in der DTA-Datei";
21206
- case DTA_FILE_WITH_ERRORS: return "die DTA-Datei enth&auml;lt Fehler";
21207
- case INVALID_SEARCH_RANGE: return "ung&uuml;ltiger Suchbereich angegeben (unten&gt;oben)";
21208
- case KEY_NOT_FOUND: return "Die Suche lieferte kein Ergebnis";
21209
- case BAV_FALSE: return "BAV denkt, das Konto ist falsch (konto_check h&auml;lt es f&uuml;r richtig)";
21210
- case LUT2_NO_USER_BLOCK: return "User-Blocks m&uuml;ssen einen Typ &gt; 500 haben";
21211
- case INVALID_SET: return "f&uuml;r ein LUT-Set sind nur die Werte 0, 1 oder 2 m&ouml;glich";
21212
- case NO_GERMAN_BIC: return "Ein Konto kann kann nur f&uuml;r deutsche Banken gepr&uuml;ft werden";
21213
- case IPI_CHECK_INVALID_LENGTH: return "Der zu validierende strukturierete Verwendungszweck mu&szlig; genau 20 Zeichen enthalten";
21214
- case IPI_INVALID_CHARACTER: return "Im strukturierten Verwendungszweck d&uuml;rfen nur alphanumerische Zeichen vorkommen";
21215
- case IPI_INVALID_LENGTH: return "Die L&auml;nge des IPI-Verwendungszwecks darf maximal 18 Byte sein";
21216
- case LUT1_FILE_USED: return "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen";
21217
- case MISSING_PARAMETER: return "F&uuml;r die aufgerufene Funktion fehlt ein notwendiger Parameter";
21218
- case IBAN2BIC_ONLY_GERMAN: return "Die Funktion iban2bic() arbeitet nur mit deutschen Bankleitzahlen";
21219
- case IBAN_OK_KTO_NOT: return "Die Pr&uuml;fziffer der IBAN stimmt, die der Kontonummer nicht";
21220
- case KTO_OK_IBAN_NOT: return "Die Pr&uuml;fziffer der Kontonummer stimmt, die der IBAN nicht";
21221
- case TOO_MANY_SLOTS: return "Es sind nur maximal 500 Slots pro LUT-Datei m&ouml;glich (Neukompilieren erforderlich)";
21222
- case INIT_FATAL_ERROR: return "Initialisierung fehlgeschlagen (init_wait geblockt)";
21223
- case INCREMENTAL_INIT_NEEDS_INFO: return "Ein inkrementelles Initialisieren ben&ouml;tigt einen Info-Block in der LUT-Datei";
21224
- case INCREMENTAL_INIT_FROM_DIFFERENT_FILE: return "Ein inkrementelles Initialisieren mit einer anderen LUT-Datei ist nicht m&ouml;glich";
21225
- case DEBUG_ONLY_FUNCTION: return "Die Funktion ist nur in der Debug-Version vorhanden";
21226
- case LUT2_INVALID: return "Kein Datensatz der LUT-Datei ist aktuell g&uuml;ltig";
21227
- case LUT2_NOT_YET_VALID: return "Der Datensatz ist noch nicht g&uuml;ltig";
21228
- case LUT2_NO_LONGER_VALID: return "Der Datensatz ist nicht mehr g&uuml;ltig";
21229
- case LUT2_GUELTIGKEIT_SWAPPED: return "Im G&uuml;ltigkeitsdatum sind Anfangs- und Enddatum vertauscht";
21230
- case LUT2_INVALID_GUELTIGKEIT: return "Das angegebene G&uuml;ltigkeitsdatum ist ung&uuml;ltig (Sollformat ist JJJJMMTT-JJJJMMTT)";
21231
- case LUT2_INDEX_OUT_OF_RANGE: return "Der Index f&uuml;r die Filiale ist ung&uuml;ltig";
21232
- case LUT2_INIT_IN_PROGRESS: return "Die Bibliothek wird gerade neu initialisiert";
21233
- case LUT2_BLZ_NOT_INITIALIZED: return "Das Feld BLZ wurde nicht initialisiert";
21234
- case LUT2_FILIALEN_NOT_INITIALIZED: return "Das Feld Filialen wurde nicht initialisiert";
21235
- case LUT2_NAME_NOT_INITIALIZED: return "Das Feld Bankname wurde nicht initialisiert";
21236
- case LUT2_PLZ_NOT_INITIALIZED: return "Das Feld PLZ wurde nicht initialisiert";
21237
- case LUT2_ORT_NOT_INITIALIZED: return "Das Feld Ort wurde nicht initialisiert";
21238
- case LUT2_NAME_KURZ_NOT_INITIALIZED: return "Das Feld Kurzname wurde nicht initialisiert";
21239
- case LUT2_PAN_NOT_INITIALIZED: return "Das Feld PAN wurde nicht initialisiert";
21240
- case LUT2_BIC_NOT_INITIALIZED: return "Das Feld BIC wurde nicht initialisiert";
21241
- case LUT2_PZ_NOT_INITIALIZED: return "Das Feld Pr&uuml;fziffer wurde nicht initialisiert";
21242
- case LUT2_NR_NOT_INITIALIZED: return "Das Feld NR wurde nicht initialisiert";
21243
- case LUT2_AENDERUNG_NOT_INITIALIZED: return "Das Feld &Auml;nderung wurde nicht initialisiert";
21244
- case LUT2_LOESCHUNG_NOT_INITIALIZED: return "Das Feld L&ouml;schung wurde nicht initialisiert";
21245
- case LUT2_NACHFOLGE_BLZ_NOT_INITIALIZED: return "Das Feld Nachfolge-BLZ wurde nicht initialisiert";
21246
- case LUT2_NOT_INITIALIZED: return "die Programmbibliothek wurde noch nicht initialisiert";
21247
- case LUT2_FILIALEN_MISSING: return "der Block mit der Filialenanzahl fehlt in der LUT-Datei";
21248
- case LUT2_PARTIAL_OK: return "es wurden nicht alle Blocks geladen";
21249
- case LUT2_Z_BUF_ERROR: return "Buffer error in den ZLIB Routinen";
21250
- case LUT2_Z_MEM_ERROR: return "Memory error in den ZLIB-Routinen";
21251
- case LUT2_Z_DATA_ERROR: return "Datenfehler im komprimierten LUT-Block";
21252
- case LUT2_BLOCK_NOT_IN_FILE: return "Der Block ist nicht in der LUT-Datei enthalten";
21253
- case LUT2_DECOMPRESS_ERROR: return "Fehler beim Dekomprimieren eines LUT-Blocks";
21254
- case LUT2_COMPRESS_ERROR: return "Fehler beim Komprimieren eines LUT-Blocks";
21255
- case LUT2_FILE_CORRUPTED: return "Die LUT-Datei ist korrumpiert";
21256
- case LUT2_NO_SLOT_FREE: return "Im Inhaltsverzeichnis der LUT-Datei ist kein Slot mehr frei";
21257
- case UNDEFINED_SUBMETHOD: return "Die (Unter)Methode ist nicht definiert";
21258
- case EXCLUDED_AT_COMPILETIME: return "Der ben&ouml;tigte Programmteil wurde beim Kompilieren deaktiviert";
21259
- case INVALID_LUT_VERSION: return "Die Versionsnummer f&uuml;r die LUT-Datei ist ung&uuml;ltig";
21260
- case INVALID_PARAMETER_STELLE1: return "ung&uuml;ltiger Pr&uuml;fparameter (erste zu pr&uuml;fende Stelle)";
21261
- case INVALID_PARAMETER_COUNT: return "ung&uuml;ltiger Pr&uuml;fparameter (Anzahl zu pr&uuml;fender Stellen)";
21262
- case INVALID_PARAMETER_PRUEFZIFFER: return "ung&uuml;ltiger Pr&uuml;fparameter (Position der Pr&uuml;fziffer)";
21263
- case INVALID_PARAMETER_WICHTUNG: return "ung&uuml;ltiger Pr&uuml;fparameter (Wichtung)";
21264
- case INVALID_PARAMETER_METHODE: return "ung&uuml;ltiger Pr&uuml;fparameter (Rechenmethode)";
21265
- case LIBRARY_INIT_ERROR: return "Problem beim Initialisieren der globalen Variablen";
21266
- case LUT_CRC_ERROR: return "Pr&uuml;fsummenfehler in der blz.lut Datei";
21267
- case FALSE_GELOESCHT: return "falsch (die BLZ wurde au&szlig;erdem gel&ouml;scht)";
21268
- case OK_NO_CHK_GELOESCHT: return "ok, ohne Pr&uuml;fung (die BLZ wurde allerdings gel&ouml;scht)";
21269
- case OK_GELOESCHT: return "ok (die BLZ wurde allerdings gel&ouml;scht)";
21270
- case BLZ_GELOESCHT: return "die Bankleitzahl wurde gel&ouml;scht";
21271
- case INVALID_BLZ_FILE: return "Fehler in der blz.txt Datei (falsche Zeilenl&auml;nge)";
21272
- case LIBRARY_IS_NOT_THREAD_SAFE: return "undefinierte Funktion, die library wurde mit THREAD_SAFE=0 kompiliert";
21273
- case FATAL_ERROR: return "schwerer Fehler im Konto_check-Modul";
21274
- case INVALID_KTO_LENGTH: return "ein Konto mu&szlig; zwischen 1 und 10 Stellen haben";
21275
- case FILE_WRITE_ERROR: return "kann Datei nicht schreiben";
21276
- case FILE_READ_ERROR: return "kann Datei nicht lesen";
21277
- case ERROR_MALLOC: return "kann keinen Speicher allokieren";
21278
- case NO_BLZ_FILE: return "die blz.txt Datei wurde nicht gefunden";
21279
- case INVALID_LUT_FILE: return "die blz.lut Datei ist inkosistent/ung&uuml;ltig";
21280
- case NO_LUT_FILE: return "die blz.lut Datei wurde nicht gefunden";
21281
- case INVALID_BLZ_LENGTH: return "die Bankleitzahl ist nicht achtstellig";
21282
- case INVALID_BLZ: return "die Bankleitzahl ist ung&uuml;ltig";
21283
- case INVALID_KTO: return "das Konto ist ung&uuml;ltig";
21284
- case NOT_IMPLEMENTED: return "die Methode wurde noch nicht implementiert";
21285
- case NOT_DEFINED: return "die Methode ist nicht definiert";
21286
- case FALSE: return "falsch";
21287
- case OK: return "ok";
21288
- case EE: if(eeh)return (char *)eeh; else return "";
21289
- case OK_NO_CHK: return "ok, ohne Pr&uuml;fung";
21290
- case OK_TEST_BLZ_USED: return "ok, f&uuml;r den Test wurde eine Test-BLZ verwendet";
21291
- case LUT2_VALID: return "Der Datensatz ist aktuell g&uuml;ltig";
21292
- case LUT2_NO_VALID_DATE: return "Der Datensatz enth&auml;lt kein G&uuml;ltigkeitsdatum";
21293
- case LUT1_SET_LOADED: return "Die Datei ist im alten LUT-Format (1.0/1.1)";
21294
- case LUT1_FILE_GENERATED: return "ok, es wurde allerdings eine LUT-Datei im alten Format (1.0/1.1) generiert";
21295
- case DTA_FILE_WITH_WARNINGS: return "In der DTAUS-Datei wurden kleinere Fehler gefunden";
21296
- case LUT_V2_FILE_GENERATED: return "ok, es wurde allerdings eine LUT-Datei im Format 2.0 generiert (Compilerswitch)";
21297
- case KTO_CHECK_VALUE_REPLACED: return "ok, der Wert f&uuml;r den Schl&uuml;ssel wurde &uuml;berschrieben";
21298
- case OK_UNTERKONTO_POSSIBLE: return "wahrscheinlich ok, die Kontonummer kann allerdings (nicht angegebene) Unterkonten enthalten";
21299
- case OK_UNTERKONTO_GIVEN: return "wahrscheinlich ok, die Kontonummer enth&auml;lt eine Unterkontonummer";
21300
- case OK_SLOT_CNT_MIN_USED: return "ok, die Anzahl Slots wurde auf SLOT_CNT_MIN (60) hochgesetzt";
21301
- case SOME_KEYS_NOT_FOUND: return "ok, ein(ige) Schl&uuml;ssel wurden nicht gefunden";
21302
- case LUT2_KTO_NOT_CHECKED: return "Die Bankverbindung wurde nicht getestet";
21303
- case LUT2_OK_WITHOUT_IBAN_RULES: return "Es wurden fast alle Blocks (au&szlig;er den IBAN-Regeln) geladen";
21304
- case OK_NACHFOLGE_BLZ_USED: return "ok, f&uuml;r die BLZ wurde allerdings die Nachfolge-BLZ eingesetzt";
21305
- case OK_KTO_REPLACED: return "ok, die Kontonummer wurde allerdings ersetzt";
21306
- case OK_BLZ_REPLACED: return "ok, die Bankleitzahl wurde allerdings ersetzt";
21307
- case OK_BLZ_KTO_REPLACED: return "ok, die Bankleitzahl und Kontonummer wurden allerdings ersetzt";
21308
- case OK_IBAN_WITHOUT_KC_TEST: return "ok, die Bankverbindung ist (ohne Test) als richtig anzusehen";
21309
- case OK_INVALID_FOR_IBAN: return "ok, f&uuml;r die die IBAN ist (durch eine Regel) allerdings ein anderer BIC definiert";
21310
- case OK_HYPO_REQUIRES_KTO: return "ok, f&uuml;r die BIC-Bestimmung der ehemaligen Hypo-Bank f&uuml;r IBAN wird i.A. zus&auml;tzlich die Kontonummer ben&ouml;tigt";
21311
- case OK_KTO_REPLACED_NO_PZ: return "ok, die Kontonummer wurde ersetzt, die neue Kontonummer hat keine Pr&uuml;fziffer";
21312
- case OK_UNTERKONTO_ATTACHED: return "ok, es wurde ein (weggelassenes) Unterkonto angef&uuml;gt";
21313
- case OK_SHORT_BIC_USED: return "ok, f&uuml;r den BIC wurde die Zweigstellennummer allerdings durch XXX ersetzt";
21314
- default: return "ung&uuml;ltiger R&uuml;ckgabewert";
21315
- }
21316
- }
21317
-
21318
- /* Funktion kto_check_retval2utf8() +���1 */
21319
- /* ###########################################################################
21320
- * # Die Funktion kto_check_retval2utf8() wandelt die numerischen R�ckgabe- #
21321
- * # werte in Klartext mit den Umlauten in UTF-8-Kodierung um. #
21322
- * # #
21323
- * # Copyright (C) 2007 Michael Plugge <m.plugge@hs-mannheim.de> #
21324
- * ###########################################################################
21325
- */
21326
-
21327
- DLL_EXPORT const char *kto_check_retval2utf8(int retval)
21328
- {
21329
- switch(retval){
21330
- case IBAN_ONLY_GERMAN: return "Es werden nur deutsche IBANs unterstützt";
21331
- case INVALID_PARAMETER_TYPE: return "Falscher Parametertyp für die Funktion";
21332
- case BIC_ONLY_GERMAN: return "Es werden nur deutsche BICs unterstützt";
21333
- case INVALID_BIC_LENGTH: return "Die Länge des BIC muß genau 8 oder 11 Zeichen sein";
21334
- case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "Die IBAN-Prüfsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
21335
- case IBAN_CHKSUM_OK_KC_NOT_INITIALIZED: return "Die IBAN-Prüfsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontoprüfung nicht möglich)";
21336
- case IBAN_CHKSUM_OK_BLZ_INVALID: return "Die IBAN-Prüfsumme stimmt, die BLZ ist allerdings ungültig";
21337
- case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "Die IBAN-Prüfsumme stimmt, für die Bank gibt es allerdings eine (andere) Nachfolge-BLZ";
21338
- case LUT2_NOT_ALL_IBAN_BLOCKS_LOADED: return "es konnten nicht alle Datenblocks die für die IBAN-Berechnung notwendig sind geladen werden";
21339
- case LUT2_NOT_YET_VALID_PARTIAL_OK: return "Der Datensatz ist noch nicht gültig, außerdem konnten nicht alle Blocks geladen werden";
21340
- case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "Der Datensatz ist nicht mehr gültig, außerdem konnten nicht alle Blocks geladen werdeng";
21341
- case LUT2_BLOCKS_MISSING: return "ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden";
21342
- case FALSE_UNTERKONTO_ATTACHED: return "falsch, es wurde ein Unterkonto hinzugefügt (IBAN-Regel)";
21343
- case BLZ_BLACKLISTED: return "Die BLZ findet sich in der Ausschlussliste für IBAN-Berechnungen";
21344
- case BLZ_MARKED_AS_DELETED: return "Die BLZ ist in der Bundesbank-Datei als gelöscht markiert und somit ungültig";
21345
- case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "Die IBAN-Prüfsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)";
21346
- case IBAN_CHKSUM_OK_NO_IBAN_CALCULATION: return "Die IBAN-Prüfsumme stimmt. Die Bank gibt IBANs nach nicht veröffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
21347
- case IBAN_CHKSUM_OK_RULE_IGNORED: return "Die IBAN-Prüfsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)";
21348
- case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "Die IBAN-Prüfsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)";
21349
- case IBAN_INVALID_RULE: return "Die BLZ passt nicht zur angegebenen IBAN-Regel";
21350
- case IBAN_AMBIGUOUS_KTO: return "Die Kontonummer ist nicht eindeutig (es gibt mehrere Möglichkeiten)";
21351
- case IBAN_RULE_NOT_IMPLEMENTED: return "Die IBAN-Regel ist noch nicht implementiert";
21352
- case IBAN_RULE_UNKNOWN: return "Die IBAN-Regel ist nicht bekannt";
21353
- case NO_IBAN_CALCULATION: return "Für die Bankverbindung ist keine IBAN-Berechnung erlaubt";
21354
- case OLD_BLZ_OK_NEW_NOT: return "Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht";
21355
- case LUT2_IBAN_REGEL_NOT_INITIALIZED: return "Das Feld IBAN-Regel wurde nicht initialisiert";
21356
- case INVALID_IBAN_LENGTH: return "Die Länge der IBAN für das angegebene Länderkürzel ist falsch";
21357
- case LUT2_NO_ACCOUNT_GIVEN: return "Keine Bankverbindung/IBAN angegeben";
21358
- case LUT2_VOLLTEXT_INVALID_CHAR: return "Ungültiges Zeichen ( ()+-/&.,\' ) für die Volltextsuche gefunden";
21359
- case LUT2_VOLLTEXT_SINGLE_WORD_ONLY: return "Die Volltextsuche sucht jeweils nur ein einzelnes Wort, benutzen Sie lut_suche_multiple() zur Suche nach mehreren Worten";
21360
- case LUT_SUCHE_INVALID_RSC: return "die angegebene Suchresource ist ungültig";
21361
- case LUT_SUCHE_INVALID_CMD: return "bei der Suche sind im Verknüpfungsstring nur die Zeichen a-z sowie + und - erlaubt";
21362
- case LUT_SUCHE_INVALID_CNT: return "bei der Suche müssen zwischen 1 und 26 Suchmuster angegeben werden";
21363
- case LUT2_VOLLTEXT_NOT_INITIALIZED: return "Das Feld Volltext wurde nicht initialisiert";
21364
- case NO_OWN_IBAN_CALCULATION: return "das Institut erlaubt keine eigene IBAN-Berechnung";
21365
- case KTO_CHECK_UNSUPPORTED_COMPRESSION: return "die notwendige Kompressions-Bibliothek wurde beim Kompilieren nicht eingebunden";
21366
- case KTO_CHECK_INVALID_COMPRESSION_LIB: return "der angegebene Wert für die Default-Kompression ist ungültig";
21367
- case OK_UNTERKONTO_ATTACHED_OLD: return "(nicht mehr als Fehler, sondern positive Ausgabe - Dummy für den alten Wert)";
21368
- case KTO_CHECK_DEFAULT_BLOCK_INVALID: return "Ungültige Signatur im Default-Block";
21369
- case KTO_CHECK_DEFAULT_BLOCK_FULL: return "Die maximale Anzahl Einträge für den Default-Block wurde erreicht";
21370
- case KTO_CHECK_NO_DEFAULT_BLOCK: return "Es wurde noch kein Default-Block angelegt";
21371
- case KTO_CHECK_KEY_NOT_FOUND: return "Der angegebene Schlüssel wurde im Default-Block nicht gefunden";
21372
- case LUT2_NO_LONGER_VALID_BETTER: return "Beide Datensätze sind nicht mehr gültig, dieser ist aber jünger als der andere";
21373
- case DTA_SRC_KTO_DIFFERENT: return "Die Auftraggeber-Kontonummer des C-Datensatzes unterscheidet sich von der des A-Satzes";
21374
- case DTA_SRC_BLZ_DIFFERENT: return "Die Auftraggeber-Bankleitzahl des C-Datensatzes unterscheidet sich von der des A-Satzes";
21375
- case DTA_CR_LF_IN_FILE: return "Die DTA-Datei enthält (unzulässige) Zeilenvorschübe";
21376
- case DTA_INVALID_C_EXTENSION: return "ungültiger Typ bei einem Erweiterungsblock eines C-Datensatzes";
21377
- case DTA_FOUND_SET_A_NOT_C: return "Es wurde ein C-Datensatz erwartet, jedoch ein E-Satz gefunden";
21378
- case DTA_FOUND_SET_E_NOT_C: return "Es wurde ein C-Datensatz erwartet, jedoch ein E-Satz gefunden";
21379
- case DTA_FOUND_SET_C_NOT_EXTENSION: return "Es wurde ein C-Datensatzerweiterung erwartet, jedoch ein C-Satz gefunden";
21380
- case DTA_FOUND_SET_E_NOT_EXTENSION: return "Es wurde ein C-Datensatzerweiterung erwartet, jedoch ein E-Satz gefunden";
21381
- case DTA_INVALID_EXTENSION_COUNT: return "Die Anzahl Erweiterungen paßt nicht zur Blocklänge";
21382
- case DTA_INVALID_NUM: return "Ungültige Zeichen in numerischem Feld";
21383
- case DTA_INVALID_CHARS: return "Ungültige Zeichen im Textfeld";
21384
- case DTA_CURRENCY_NOT_EURO: return "Die Währung des DTA-Datensatzes ist nicht Euro";
21385
- case DTA_EMPTY_AMOUNT: return "In einem DTA-Datensatz wurde kein Betrag angegeben";
21386
- case DTA_INVALID_TEXT_KEY: return "Ungültiger Textschlüssel in der DTA-Datei";
21387
- case DTA_EMPTY_STRING: return "Für ein (alphanumerisches) Feld wurde kein Wert angegeben";
21388
- case DTA_MARKER_A_NOT_FOUND: return "Die Startmarkierung des A-Datensatzes wurde nicht gefunden";
21389
- case DTA_MARKER_C_NOT_FOUND: return "Die Startmarkierung des C-Datensatzes wurde nicht gefunden";
21390
- case DTA_MARKER_E_NOT_FOUND: return "Die Startmarkierung des E-Datensatzes wurde nicht gefunden";
21391
- case DTA_INVALID_SET_C_LEN: return "Die Satzlänge eines C-Datensatzes muß zwischen 187 und 622 Byte betragen";
21392
- case DTA_INVALID_SET_LEN: return "Die Satzlänge eines A- bzw. E-Satzes muß 128 Byte betragen";
21393
- case DTA_WAERUNG_NOT_EURO: return "als Währung in der DTA-Datei ist nicht Euro eingetragen";
21394
- case DTA_INVALID_ISSUE_DATE: return "das Ausführungsdatum ist zu früh oder zu spät (max. 15 Tage nach Dateierstellung)";
21395
- case DTA_INVALID_DATE: return "das Datum ist ungültig";
21396
- case DTA_FORMAT_ERROR: return "Formatfehler in der DTA-Datei";
21397
- case DTA_FILE_WITH_ERRORS: return "die DTA-Datei enthält Fehler";
21398
- case INVALID_SEARCH_RANGE: return "ungültiger Suchbereich angegeben (unten>oben)";
21399
- case KEY_NOT_FOUND: return "Die Suche lieferte kein Ergebnis";
21400
- case BAV_FALSE: return "BAV denkt, das Konto ist falsch (konto_check hält es für richtig)";
21401
- case LUT2_NO_USER_BLOCK: return "User-Blocks müssen einen Typ > 500 haben";
21402
- case INVALID_SET: return "für ein LUT-Set sind nur die Werte 0, 1 oder 2 möglich";
21403
- case NO_GERMAN_BIC: return "Ein Konto kann kann nur für deutsche Banken geprüft werden";
21404
- case IPI_CHECK_INVALID_LENGTH: return "Der zu validierende strukturierete Verwendungszweck muß genau 20 Zeichen enthalten";
21405
- case IPI_INVALID_CHARACTER: return "Im strukturierten Verwendungszweck dürfen nur alphanumerische Zeichen vorkommen";
21406
- case IPI_INVALID_LENGTH: return "Die Länge des IPI-Verwendungszwecks darf maximal 18 Byte sein";
21407
- case LUT1_FILE_USED: return "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen";
21408
- case MISSING_PARAMETER: return "Für die aufgerufene Funktion fehlt ein notwendiger Parameter";
21409
- case IBAN2BIC_ONLY_GERMAN: return "Die Funktion iban2bic() arbeitet nur mit deutschen Bankleitzahlen";
21410
- case IBAN_OK_KTO_NOT: return "Die Prüfziffer der IBAN stimmt, die der Kontonummer nicht";
21411
- case KTO_OK_IBAN_NOT: return "Die Prüfziffer der Kontonummer stimmt, die der IBAN nicht";
21412
- case TOO_MANY_SLOTS: return "Es sind nur maximal 500 Slots pro LUT-Datei möglich (Neukompilieren erforderlich)";
21413
- case INIT_FATAL_ERROR: return "Initialisierung fehlgeschlagen (init_wait geblockt)";
21414
- case INCREMENTAL_INIT_NEEDS_INFO: return "Ein inkrementelles Initialisieren benötigt einen Info-Block in der LUT-Datei";
21415
- case INCREMENTAL_INIT_FROM_DIFFERENT_FILE: return "Ein inkrementelles Initialisieren mit einer anderen LUT-Datei ist nicht möglich";
21416
- case DEBUG_ONLY_FUNCTION: return "Die Funktion ist nur in der Debug-Version vorhanden";
21417
- case LUT2_INVALID: return "Kein Datensatz der LUT-Datei ist aktuell gültig";
21418
- case LUT2_NOT_YET_VALID: return "Der Datensatz ist noch nicht gültig";
21419
- case LUT2_NO_LONGER_VALID: return "Der Datensatz ist nicht mehr gültig";
21420
- case LUT2_GUELTIGKEIT_SWAPPED: return "Im Gültigkeitsdatum sind Anfangs- und Enddatum vertauscht";
21421
- case LUT2_INVALID_GUELTIGKEIT: return "Das angegebene Gültigkeitsdatum ist ungültig (Sollformat ist JJJJMMTT-JJJJMMTT)";
21422
- case LUT2_INDEX_OUT_OF_RANGE: return "Der Index für die Filiale ist ungültig";
21423
- case LUT2_INIT_IN_PROGRESS: return "Die Bibliothek wird gerade neu initialisiert";
21424
- case LUT2_BLZ_NOT_INITIALIZED: return "Das Feld BLZ wurde nicht initialisiert";
21425
- case LUT2_FILIALEN_NOT_INITIALIZED: return "Das Feld Filialen wurde nicht initialisiert";
21426
- case LUT2_NAME_NOT_INITIALIZED: return "Das Feld Bankname wurde nicht initialisiert";
21427
- case LUT2_PLZ_NOT_INITIALIZED: return "Das Feld PLZ wurde nicht initialisiert";
21428
- case LUT2_ORT_NOT_INITIALIZED: return "Das Feld Ort wurde nicht initialisiert";
21429
- case LUT2_NAME_KURZ_NOT_INITIALIZED: return "Das Feld Kurzname wurde nicht initialisiert";
21430
- case LUT2_PAN_NOT_INITIALIZED: return "Das Feld PAN wurde nicht initialisiert";
21431
- case LUT2_BIC_NOT_INITIALIZED: return "Das Feld BIC wurde nicht initialisiert";
21432
- case LUT2_PZ_NOT_INITIALIZED: return "Das Feld Prüfziffer wurde nicht initialisiert";
21433
- case LUT2_NR_NOT_INITIALIZED: return "Das Feld NR wurde nicht initialisiert";
21434
- case LUT2_AENDERUNG_NOT_INITIALIZED: return "Das Feld Änderung wurde nicht initialisiert";
21435
- case LUT2_LOESCHUNG_NOT_INITIALIZED: return "Das Feld Löschung wurde nicht initialisiert";
21436
- case LUT2_NACHFOLGE_BLZ_NOT_INITIALIZED: return "Das Feld Nachfolge-BLZ wurde nicht initialisiert";
21437
- case LUT2_NOT_INITIALIZED: return "die Programmbibliothek wurde noch nicht initialisiert";
21438
- case LUT2_FILIALEN_MISSING: return "der Block mit der Filialenanzahl fehlt in der LUT-Datei";
21439
- case LUT2_PARTIAL_OK: return "es wurden nicht alle Blocks geladen";
21440
- case LUT2_Z_BUF_ERROR: return "Buffer error in den ZLIB Routinen";
21441
- case LUT2_Z_MEM_ERROR: return "Memory error in den ZLIB-Routinen";
21442
- case LUT2_Z_DATA_ERROR: return "Datenfehler im komprimierten LUT-Block";
21443
- case LUT2_BLOCK_NOT_IN_FILE: return "Der Block ist nicht in der LUT-Datei enthalten";
21444
- case LUT2_DECOMPRESS_ERROR: return "Fehler beim Dekomprimieren eines LUT-Blocks";
21445
- case LUT2_COMPRESS_ERROR: return "Fehler beim Komprimieren eines LUT-Blocks";
21446
- case LUT2_FILE_CORRUPTED: return "Die LUT-Datei ist korrumpiert";
21447
- case LUT2_NO_SLOT_FREE: return "Im Inhaltsverzeichnis der LUT-Datei ist kein Slot mehr frei";
21448
- case UNDEFINED_SUBMETHOD: return "Die (Unter)Methode ist nicht definiert";
21449
- case EXCLUDED_AT_COMPILETIME: return "Der benötigte Programmteil wurde beim Kompilieren deaktiviert";
21450
- case INVALID_LUT_VERSION: return "Die Versionsnummer für die LUT-Datei ist ungültig";
21451
- case INVALID_PARAMETER_STELLE1: return "ungültiger Prüfparameter (erste zu prüfende Stelle)";
21452
- case INVALID_PARAMETER_COUNT: return "ungültiger Prüfparameter (Anzahl zu prüfender Stellen)";
21453
- case INVALID_PARAMETER_PRUEFZIFFER: return "ungültiger Prüfparameter (Position der Prüfziffer)";
21454
- case INVALID_PARAMETER_WICHTUNG: return "ungültiger Prüfparameter (Wichtung)";
21455
- case INVALID_PARAMETER_METHODE: return "ungültiger Prüfparameter (Rechenmethode)";
21456
- case LIBRARY_INIT_ERROR: return "Problem beim Initialisieren der globalen Variablen";
21457
- case LUT_CRC_ERROR: return "Prüfsummenfehler in der blz.lut Datei";
21458
- case FALSE_GELOESCHT: return "falsch (die BLZ wurde außerdem gelöscht)";
21459
- case OK_NO_CHK_GELOESCHT: return "ok, ohne Prüfung (die BLZ wurde allerdings gelöscht)";
21460
- case OK_GELOESCHT: return "ok (die BLZ wurde allerdings gelöscht)";
21461
- case BLZ_GELOESCHT: return "die Bankleitzahl wurde gelöscht";
21462
- case INVALID_BLZ_FILE: return "Fehler in der blz.txt Datei (falsche Zeilenlänge)";
21463
- case LIBRARY_IS_NOT_THREAD_SAFE: return "undefinierte Funktion, die library wurde mit THREAD_SAFE=0 kompiliert";
21464
- case FATAL_ERROR: return "schwerer Fehler im Konto_check-Modul";
21465
- case INVALID_KTO_LENGTH: return "ein Konto muß zwischen 1 und 10 Stellen haben";
21466
- case FILE_WRITE_ERROR: return "kann Datei nicht schreiben";
21467
- case FILE_READ_ERROR: return "kann Datei nicht lesen";
21468
- case ERROR_MALLOC: return "kann keinen Speicher allokieren";
21469
- case NO_BLZ_FILE: return "die blz.txt Datei wurde nicht gefunden";
21470
- case INVALID_LUT_FILE: return "die blz.lut Datei ist inkosistent/ungültig";
21471
- case NO_LUT_FILE: return "die blz.lut Datei wurde nicht gefunden";
21472
- case INVALID_BLZ_LENGTH: return "die Bankleitzahl ist nicht achtstellig";
21473
- case INVALID_BLZ: return "die Bankleitzahl ist ungültig";
21474
- case INVALID_KTO: return "das Konto ist ungültig";
21475
- case NOT_IMPLEMENTED: return "die Methode wurde noch nicht implementiert";
21476
- case NOT_DEFINED: return "die Methode ist nicht definiert";
21477
- case FALSE: return "falsch";
21478
- case OK: return "ok";
21479
- case EE: if(eep)return (char *)eep; else return "";
21480
- case OK_NO_CHK: return "ok, ohne Prüfung";
21481
- case OK_TEST_BLZ_USED: return "ok, für den Test wurde eine Test-BLZ verwendet";
21482
- case LUT2_VALID: return "Der Datensatz ist aktuell gültig";
21483
- case LUT2_NO_VALID_DATE: return "Der Datensatz enthält kein Gültigkeitsdatum";
21484
- case LUT1_SET_LOADED: return "Die Datei ist im alten LUT-Format (1.0/1.1)";
21485
- case LUT1_FILE_GENERATED: return "ok, es wurde allerdings eine LUT-Datei im alten Format (1.0/1.1) generiert";
21486
- case DTA_FILE_WITH_WARNINGS: return "In der DTAUS-Datei wurden kleinere Fehler gefunden";
21487
- case LUT_V2_FILE_GENERATED: return "ok, es wurde allerdings eine LUT-Datei im Format 2.0 generiert (Compilerswitch)";
21488
- case KTO_CHECK_VALUE_REPLACED: return "ok, der Wert für den Schlüssel wurde überschrieben";
21489
- case OK_UNTERKONTO_POSSIBLE: return "wahrscheinlich ok, die Kontonummer kann allerdings (nicht angegebene) Unterkonten enthalten";
21490
- case OK_UNTERKONTO_GIVEN: return "wahrscheinlich ok, die Kontonummer enthält eine Unterkontonummer";
21491
- case OK_SLOT_CNT_MIN_USED: return "ok, die Anzahl Slots wurde auf SLOT_CNT_MIN (60) hochgesetzt";
21492
- case SOME_KEYS_NOT_FOUND: return "ok, ein(ige) Schlüssel wurden nicht gefunden";
21493
- case LUT2_KTO_NOT_CHECKED: return "Die Bankverbindung wurde nicht getestet";
21494
- case LUT2_OK_WITHOUT_IBAN_RULES: return "Es wurden fast alle Blocks (außer den IBAN-Regeln) geladen";
21495
- case OK_NACHFOLGE_BLZ_USED: return "ok, für die BLZ wurde allerdings die Nachfolge-BLZ eingesetzt";
21496
- case OK_KTO_REPLACED: return "ok, die Kontonummer wurde allerdings ersetzt";
21497
- case OK_BLZ_REPLACED: return "ok, die Bankleitzahl wurde allerdings ersetzt";
21498
- case OK_BLZ_KTO_REPLACED: return "ok, die Bankleitzahl und Kontonummer wurden allerdings ersetzt";
21499
- case OK_IBAN_WITHOUT_KC_TEST: return "ok, die Bankverbindung ist (ohne Test) als richtig anzusehen";
21500
- case OK_INVALID_FOR_IBAN: return "ok, für die die IBAN ist (durch eine Regel) allerdings ein anderer BIC definiert";
21501
- case OK_HYPO_REQUIRES_KTO: return "ok, für die BIC-Bestimmung der ehemaligen Hypo-Bank für IBAN wird i.A. zusätzlich die Kontonummer benötigt";
21502
- case OK_KTO_REPLACED_NO_PZ: return "ok, die Kontonummer wurde ersetzt, die neue Kontonummer hat keine Prüfziffer";
21503
- case OK_UNTERKONTO_ATTACHED: return "ok, es wurde ein (weggelassenes) Unterkonto angefügt";
21504
- case OK_SHORT_BIC_USED: return "ok, für den BIC wurde die Zweigstellennummer allerdings durch XXX ersetzt";
21505
- default: return "ungültiger Rückgabewert";
21506
- }
21507
- }
21508
-
21509
- /* Funktion kto_check_retval2txt_short() +���1 */
21510
- /* ###########################################################################
21511
- * # Die Funktion kto_check_retval2txt_short() wandelt die numerischen #
21512
- * # R�ckgabwerte in kurze Klartexte (symbolische Konstanten) um. #
21513
- * # #
21514
- * # Copyright (C) 2007 Michael Plugge <m.plugge@hs-mannheim.de> #
21515
- * ###########################################################################
21516
- */
21517
-
21518
- DLL_EXPORT const char *kto_check_retval2txt_short(int retval)
21519
- {
21520
- switch(retval){
21521
- case IBAN_ONLY_GERMAN: return "IBAN_ONLY_GERMAN";
21522
- case INVALID_PARAMETER_TYPE: return "INVALID_PARAMETER_TYPE";
21523
- case BIC_ONLY_GERMAN: return "BIC_ONLY_GERMAN";
21524
- case INVALID_BIC_LENGTH: return "INVALID_BIC_LENGTH";
21525
- case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "IBAN_CHKSUM_OK_RULE_IGNORED_BLZ";
21526
- case IBAN_CHKSUM_OK_KC_NOT_INITIALIZED: return "IBAN_CHKSUM_OK_KC_NOT_INITIALIZED";
21527
- case IBAN_CHKSUM_OK_BLZ_INVALID: return "IBAN_CHKSUM_OK_BLZ_INVALID";
21528
- case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED";
21529
- case LUT2_NOT_ALL_IBAN_BLOCKS_LOADED: return "LUT2_NOT_ALL_IBAN_BLOCKS_LOADED";
21530
- case LUT2_NOT_YET_VALID_PARTIAL_OK: return "LUT2_NOT_YET_VALID_PARTIAL_OK";
21531
- case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "LUT2_NO_LONGER_VALID_PARTIAL_OK";
21532
- case LUT2_BLOCKS_MISSING: return "LUT2_BLOCKS_MISSING";
21533
- case FALSE_UNTERKONTO_ATTACHED: return "FALSE_UNTERKONTO_ATTACHED";
21534
- case BLZ_BLACKLISTED: return "BLZ_BLACKLISTED";
21535
- case BLZ_MARKED_AS_DELETED: return "BLZ_MARKED_AS_DELETED";
21536
- case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "IBAN_CHKSUM_OK_SOMETHING_WRONG";
21537
- case IBAN_CHKSUM_OK_NO_IBAN_CALCULATION: return "IBAN_CHKSUM_OK_NO_IBAN_CALCULATION";
21538
- case IBAN_CHKSUM_OK_RULE_IGNORED: return "IBAN_CHKSUM_OK_RULE_IGNORED";
21539
- case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "IBAN_CHKSUM_OK_UNTERKTO_MISSING";
21540
- case IBAN_INVALID_RULE: return "IBAN_INVALID_RULE";
21541
- case IBAN_AMBIGUOUS_KTO: return "IBAN_AMBIGUOUS_KTO";
21542
- case IBAN_RULE_NOT_IMPLEMENTED: return "IBAN_RULE_NOT_IMPLEMENTED";
21543
- case IBAN_RULE_UNKNOWN: return "IBAN_RULE_UNKNOWN";
21544
- case NO_IBAN_CALCULATION: return "NO_IBAN_CALCULATION";
21545
- case OLD_BLZ_OK_NEW_NOT: return "OLD_BLZ_OK_NEW_NOT";
21546
- case LUT2_IBAN_REGEL_NOT_INITIALIZED: return "LUT2_IBAN_REGEL_NOT_INITIALIZED";
21547
- case INVALID_IBAN_LENGTH: return "INVALID_IBAN_LENGTH";
21548
- case LUT2_NO_ACCOUNT_GIVEN: return "LUT2_NO_ACCOUNT_GIVEN";
21549
- case LUT2_VOLLTEXT_INVALID_CHAR: return "LUT2_VOLLTEXT_INVALID_CHAR";
21550
- case LUT2_VOLLTEXT_SINGLE_WORD_ONLY: return "LUT2_VOLLTEXT_SINGLE_WORD_ONLY";
21551
- case LUT_SUCHE_INVALID_RSC: return "LUT_SUCHE_INVALID_RSC";
21552
- case LUT_SUCHE_INVALID_CMD: return "LUT_SUCHE_INVALID_CMD";
21553
- case LUT_SUCHE_INVALID_CNT: return "LUT_SUCHE_INVALID_CNT";
21554
- case LUT2_VOLLTEXT_NOT_INITIALIZED: return "LUT2_VOLLTEXT_NOT_INITIALIZED";
21555
- case NO_OWN_IBAN_CALCULATION: return "NO_OWN_IBAN_CALCULATION";
21556
- case KTO_CHECK_UNSUPPORTED_COMPRESSION: return "KTO_CHECK_UNSUPPORTED_COMPRESSION";
21557
- case KTO_CHECK_INVALID_COMPRESSION_LIB: return "KTO_CHECK_INVALID_COMPRESSION_LIB";
21558
- case OK_UNTERKONTO_ATTACHED_OLD: return "OK_UNTERKONTO_ATTACHED_OLD";
21559
- case KTO_CHECK_DEFAULT_BLOCK_INVALID: return "KTO_CHECK_DEFAULT_BLOCK_INVALID";
21560
- case KTO_CHECK_DEFAULT_BLOCK_FULL: return "KTO_CHECK_DEFAULT_BLOCK_FULL";
21561
- case KTO_CHECK_NO_DEFAULT_BLOCK: return "KTO_CHECK_NO_DEFAULT_BLOCK";
21562
- case KTO_CHECK_KEY_NOT_FOUND: return "KTO_CHECK_KEY_NOT_FOUND";
21563
- case LUT2_NO_LONGER_VALID_BETTER: return "LUT2_NO_LONGER_VALID_BETTER";
21564
- case DTA_SRC_KTO_DIFFERENT: return "DTA_SRC_KTO_DIFFERENT";
21565
- case DTA_SRC_BLZ_DIFFERENT: return "DTA_SRC_BLZ_DIFFERENT";
21566
- case DTA_CR_LF_IN_FILE: return "DTA_CR_LF_IN_FILE";
21567
- case DTA_INVALID_C_EXTENSION: return "DTA_INVALID_C_EXTENSION";
21568
- case DTA_FOUND_SET_A_NOT_C: return "DTA_FOUND_SET_A_NOT_C";
21569
- case DTA_FOUND_SET_E_NOT_C: return "DTA_FOUND_SET_E_NOT_C";
21570
- case DTA_FOUND_SET_C_NOT_EXTENSION: return "DTA_FOUND_SET_C_NOT_EXTENSION";
21571
- case DTA_FOUND_SET_E_NOT_EXTENSION: return "DTA_FOUND_SET_E_NOT_EXTENSION";
21572
- case DTA_INVALID_EXTENSION_COUNT: return "DTA_INVALID_EXTENSION_COUNT";
21573
- case DTA_INVALID_NUM: return "DTA_INVALID_NUM";
21574
- case DTA_INVALID_CHARS: return "DTA_INVALID_CHARS";
21575
- case DTA_CURRENCY_NOT_EURO: return "DTA_CURRENCY_NOT_EURO";
21576
- case DTA_EMPTY_AMOUNT: return "DTA_EMPTY_AMOUNT";
21577
- case DTA_INVALID_TEXT_KEY: return "DTA_INVALID_TEXT_KEY";
21578
- case DTA_EMPTY_STRING: return "DTA_EMPTY_STRING";
21579
- case DTA_MARKER_A_NOT_FOUND: return "DTA_MARKER_A_NOT_FOUND";
21580
- case DTA_MARKER_C_NOT_FOUND: return "DTA_MARKER_C_NOT_FOUND";
21581
- case DTA_MARKER_E_NOT_FOUND: return "DTA_MARKER_E_NOT_FOUND";
21582
- case DTA_INVALID_SET_C_LEN: return "DTA_INVALID_SET_C_LEN";
21583
- case DTA_INVALID_SET_LEN: return "DTA_INVALID_SET_LEN";
21584
- case DTA_WAERUNG_NOT_EURO: return "DTA_WAERUNG_NOT_EURO";
21585
- case DTA_INVALID_ISSUE_DATE: return "DTA_INVALID_ISSUE_DATE";
21586
- case DTA_INVALID_DATE: return "DTA_INVALID_DATE";
21587
- case DTA_FORMAT_ERROR: return "DTA_FORMAT_ERROR";
21588
- case DTA_FILE_WITH_ERRORS: return "DTA_FILE_WITH_ERRORS";
21589
- case INVALID_SEARCH_RANGE: return "INVALID_SEARCH_RANGE";
21590
- case KEY_NOT_FOUND: return "KEY_NOT_FOUND";
21591
- case BAV_FALSE: return "BAV_FALSE";
21592
- case LUT2_NO_USER_BLOCK: return "LUT2_NO_USER_BLOCK";
21593
- case INVALID_SET: return "INVALID_SET";
21594
- case NO_GERMAN_BIC: return "NO_GERMAN_BIC";
21595
- case IPI_CHECK_INVALID_LENGTH: return "IPI_CHECK_INVALID_LENGTH";
21596
- case IPI_INVALID_CHARACTER: return "IPI_INVALID_CHARACTER";
21597
- case IPI_INVALID_LENGTH: return "IPI_INVALID_LENGTH";
21598
- case LUT1_FILE_USED: return "LUT1_FILE_USED";
21599
- case MISSING_PARAMETER: return "MISSING_PARAMETER";
21600
- case IBAN2BIC_ONLY_GERMAN: return "IBAN2BIC_ONLY_GERMAN";
21601
- case IBAN_OK_KTO_NOT: return "IBAN_OK_KTO_NOT";
21602
- case KTO_OK_IBAN_NOT: return "KTO_OK_IBAN_NOT";
21603
- case TOO_MANY_SLOTS: return "TOO_MANY_SLOTS";
21604
- case INIT_FATAL_ERROR: return "INIT_FATAL_ERROR";
21605
- case INCREMENTAL_INIT_NEEDS_INFO: return "INCREMENTAL_INIT_NEEDS_INFO";
21606
- case INCREMENTAL_INIT_FROM_DIFFERENT_FILE: return "INCREMENTAL_INIT_FROM_DIFFERENT_FILE";
21607
- case DEBUG_ONLY_FUNCTION: return "DEBUG_ONLY_FUNCTION";
21608
- case LUT2_INVALID: return "LUT2_INVALID";
21609
- case LUT2_NOT_YET_VALID: return "LUT2_NOT_YET_VALID";
21610
- case LUT2_NO_LONGER_VALID: return "LUT2_NO_LONGER_VALID";
21611
- case LUT2_GUELTIGKEIT_SWAPPED: return "LUT2_GUELTIGKEIT_SWAPPED";
21612
- case LUT2_INVALID_GUELTIGKEIT: return "LUT2_INVALID_GUELTIGKEIT";
21613
- case LUT2_INDEX_OUT_OF_RANGE: return "LUT2_INDEX_OUT_OF_RANGE";
21614
- case LUT2_INIT_IN_PROGRESS: return "LUT2_INIT_IN_PROGRESS";
21615
- case LUT2_BLZ_NOT_INITIALIZED: return "LUT2_BLZ_NOT_INITIALIZED";
21616
- case LUT2_FILIALEN_NOT_INITIALIZED: return "LUT2_FILIALEN_NOT_INITIALIZED";
21617
- case LUT2_NAME_NOT_INITIALIZED: return "LUT2_NAME_NOT_INITIALIZED";
21618
- case LUT2_PLZ_NOT_INITIALIZED: return "LUT2_PLZ_NOT_INITIALIZED";
21619
- case LUT2_ORT_NOT_INITIALIZED: return "LUT2_ORT_NOT_INITIALIZED";
21620
- case LUT2_NAME_KURZ_NOT_INITIALIZED: return "LUT2_NAME_KURZ_NOT_INITIALIZED";
21621
- case LUT2_PAN_NOT_INITIALIZED: return "LUT2_PAN_NOT_INITIALIZED";
21622
- case LUT2_BIC_NOT_INITIALIZED: return "LUT2_BIC_NOT_INITIALIZED";
21623
- case LUT2_PZ_NOT_INITIALIZED: return "LUT2_PZ_NOT_INITIALIZED";
21624
- case LUT2_NR_NOT_INITIALIZED: return "LUT2_NR_NOT_INITIALIZED";
21625
- case LUT2_AENDERUNG_NOT_INITIALIZED: return "LUT2_AENDERUNG_NOT_INITIALIZED";
21626
- case LUT2_LOESCHUNG_NOT_INITIALIZED: return "LUT2_LOESCHUNG_NOT_INITIALIZED";
21627
- case LUT2_NACHFOLGE_BLZ_NOT_INITIALIZED: return "LUT2_NACHFOLGE_BLZ_NOT_INITIALIZED";
21628
- case LUT2_NOT_INITIALIZED: return "LUT2_NOT_INITIALIZED";
21629
- case LUT2_FILIALEN_MISSING: return "LUT2_FILIALEN_MISSING";
21630
- case LUT2_PARTIAL_OK: return "LUT2_PARTIAL_OK";
21631
- case LUT2_Z_BUF_ERROR: return "LUT2_Z_BUF_ERROR";
21632
- case LUT2_Z_MEM_ERROR: return "LUT2_Z_MEM_ERROR";
21633
- case LUT2_Z_DATA_ERROR: return "LUT2_Z_DATA_ERROR";
21634
- case LUT2_BLOCK_NOT_IN_FILE: return "LUT2_BLOCK_NOT_IN_FILE";
21635
- case LUT2_DECOMPRESS_ERROR: return "LUT2_DECOMPRESS_ERROR";
21636
- case LUT2_COMPRESS_ERROR: return "LUT2_COMPRESS_ERROR";
21637
- case LUT2_FILE_CORRUPTED: return "LUT2_FILE_CORRUPTED";
21638
- case LUT2_NO_SLOT_FREE: return "LUT2_NO_SLOT_FREE";
21639
- case UNDEFINED_SUBMETHOD: return "UNDEFINED_SUBMETHOD";
21640
- case EXCLUDED_AT_COMPILETIME: return "EXCLUDED_AT_COMPILETIME";
21641
- case INVALID_LUT_VERSION: return "INVALID_LUT_VERSION";
21642
- case INVALID_PARAMETER_STELLE1: return "INVALID_PARAMETER_STELLE1";
21643
- case INVALID_PARAMETER_COUNT: return "INVALID_PARAMETER_COUNT";
21644
- case INVALID_PARAMETER_PRUEFZIFFER: return "INVALID_PARAMETER_PRUEFZIFFER";
21645
- case INVALID_PARAMETER_WICHTUNG: return "INVALID_PARAMETER_WICHTUNG";
21646
- case INVALID_PARAMETER_METHODE: return "INVALID_PARAMETER_METHODE";
21647
- case LIBRARY_INIT_ERROR: return "LIBRARY_INIT_ERROR";
21648
- case LUT_CRC_ERROR: return "LUT_CRC_ERROR";
21649
- case FALSE_GELOESCHT: return "FALSE_GELOESCHT";
21650
- case OK_NO_CHK_GELOESCHT: return "OK_NO_CHK_GELOESCHT";
21651
- case OK_GELOESCHT: return "OK_GELOESCHT";
21652
- case BLZ_GELOESCHT: return "BLZ_GELOESCHT";
21653
- case INVALID_BLZ_FILE: return "INVALID_BLZ_FILE";
21654
- case LIBRARY_IS_NOT_THREAD_SAFE: return "LIBRARY_IS_NOT_THREAD_SAFE";
21655
- case FATAL_ERROR: return "FATAL_ERROR";
21656
- case INVALID_KTO_LENGTH: return "INVALID_KTO_LENGTH";
21657
- case FILE_WRITE_ERROR: return "FILE_WRITE_ERROR";
21658
- case FILE_READ_ERROR: return "FILE_READ_ERROR";
21659
- case ERROR_MALLOC: return "ERROR_MALLOC";
21660
- case NO_BLZ_FILE: return "NO_BLZ_FILE";
21661
- case INVALID_LUT_FILE: return "INVALID_LUT_FILE";
21662
- case NO_LUT_FILE: return "NO_LUT_FILE";
21663
- case INVALID_BLZ_LENGTH: return "INVALID_BLZ_LENGTH";
21664
- case INVALID_BLZ: return "INVALID_BLZ";
21665
- case INVALID_KTO: return "INVALID_KTO";
21666
- case NOT_IMPLEMENTED: return "NOT_IMPLEMENTED";
21667
- case NOT_DEFINED: return "NOT_DEFINED";
21668
- case FALSE: return "FALSE";
21669
- case OK: return "OK";
21670
- case EE: return "EE";
21671
- case OK_NO_CHK: return "OK_NO_CHK";
21672
- case OK_TEST_BLZ_USED: return "OK_TEST_BLZ_USED";
21673
- case LUT2_VALID: return "LUT2_VALID";
21674
- case LUT2_NO_VALID_DATE: return "LUT2_NO_VALID_DATE";
21675
- case LUT1_SET_LOADED: return "LUT1_SET_LOADED";
21676
- case LUT1_FILE_GENERATED: return "LUT1_FILE_GENERATED";
21677
- case DTA_FILE_WITH_WARNINGS: return "DTA_FILE_WITH_WARNINGS";
21678
- case LUT_V2_FILE_GENERATED: return "LUT_V2_FILE_GENERATED";
21679
- case KTO_CHECK_VALUE_REPLACED: return "KTO_CHECK_VALUE_REPLACED";
21680
- case OK_UNTERKONTO_POSSIBLE: return "OK_UNTERKONTO_POSSIBLE";
21681
- case OK_UNTERKONTO_GIVEN: return "OK_UNTERKONTO_GIVEN";
21682
- case OK_SLOT_CNT_MIN_USED: return "OK_SLOT_CNT_MIN_USED";
21683
- case SOME_KEYS_NOT_FOUND: return "SOME_KEYS_NOT_FOUND";
21684
- case LUT2_KTO_NOT_CHECKED: return "LUT2_KTO_NOT_CHECKED";
21685
- case LUT2_OK_WITHOUT_IBAN_RULES: return "LUT2_OK_WITHOUT_IBAN_RULES";
21686
- case OK_NACHFOLGE_BLZ_USED: return "OK_NACHFOLGE_BLZ_USED";
21687
- case OK_KTO_REPLACED: return "OK_KTO_REPLACED";
21688
- case OK_BLZ_REPLACED: return "OK_BLZ_REPLACED";
21689
- case OK_BLZ_KTO_REPLACED: return "OK_BLZ_KTO_REPLACED";
21690
- case OK_IBAN_WITHOUT_KC_TEST: return "OK_IBAN_WITHOUT_KC_TEST";
21691
- case OK_INVALID_FOR_IBAN: return "OK_INVALID_FOR_IBAN";
21692
- case OK_HYPO_REQUIRES_KTO: return "OK_HYPO_REQUIRES_KTO";
21693
- case OK_KTO_REPLACED_NO_PZ: return "OK_KTO_REPLACED_NO_PZ";
21694
- case OK_UNTERKONTO_ATTACHED: return "OK_UNTERKONTO_ATTACHED";
21695
- case OK_SHORT_BIC_USED: return "OK_SHORT_BIC_USED";
21696
- default: return "UNDEFINED_RETVAL";
21697
- }
21698
- }
21699
-
21700
-
21701
20906
  /* Funktion get_lut_info_b() +���1 */
21702
20907
  /*
21703
20908
  * ######################################################################
@@ -21749,6 +20954,7 @@ DLL_EXPORT int get_lut_info2_b(char *lutname,int *version,char **prolog_p,char *
21749
20954
  }
21750
20955
  else
21751
20956
  **user_info_p=0;
20957
+ #line 19697 "konto_check.lxx"
21752
20958
  FREE(prolog);
21753
20959
  return OK;
21754
20960
  }
@@ -21790,7 +20996,7 @@ DLL_EXPORT int get_lut_info(char **info,char *lut_name)
21790
20996
 
21791
20997
  if((retval=get_lut_info2(lut_name,NULL,&prolog,&ptr,NULL))!=OK)RETURN(retval);
21792
20998
  if(ptr){
21793
- *info=malloc(strlen(ptr)+1);
20999
+ *info=(char *)malloc(strlen(ptr)+1);
21794
21000
  strcpy(*info,ptr); /* Infozeile kopieren, damit prolog freigegeben werden kann */
21795
21001
  }
21796
21002
  else
@@ -21884,16 +21090,16 @@ DLL_EXPORT const char *get_kto_check_version_x(int mode)
21884
21090
  case 4: /* Datum der Pr�fziffermethode */
21885
21091
  #if 1
21886
21092
  if(pz_aenderungen_aktivieren)
21887
- return "03.03.2014";
21093
+ return "09.06.2014";
21888
21094
  else
21889
- return "09.12.2013 (Aenderungen vom 03.03.2014 enthalten aber noch nicht aktiviert)";
21095
+ return "09.12.2013 (Aenderungen vom 09.06.2014 enthalten aber noch nicht aktiviert)";
21890
21096
  #else
21891
- return "03.03.2014";
21097
+ return "09.06.2014";
21892
21098
  #endif
21893
21099
  case 5:
21894
21100
  return "03.03.2014";
21895
21101
  case 6:
21896
- return "3. M�rz 2014"; /* Klartext-Datum der Bibliotheksversion */
21102
+ return "2. Juni 2014"; /* Klartext-Datum der Bibliotheksversion */
21897
21103
  case 7:
21898
21104
  return "final"; /* Versions-Typ der Bibliotheksversion (development, beta, final) */
21899
21105
  }
@@ -22041,6 +21247,7 @@ DLL_EXPORT int dump_lutfile(char *outputname,UINT4 *required)
22041
21247
  default:
22042
21248
  break;
22043
21249
  }
21250
+ #line 19929 "konto_check.lxx"
22044
21251
  fputc('\n',out);
22045
21252
  while(--i)fputc('=',out);
22046
21253
  fputc('\n',out);
@@ -22134,6 +21341,8 @@ DLL_EXPORT int dump_lutfile(char *outputname,UINT4 *required)
22134
21341
  * # datei erwartet; bei einem set-Parameter von 0 eine Klartextdatei #
22135
21342
  * # (Bundesbankdatei). #
22136
21343
  * # #
21344
+ * # Update 2014: die IBAN-Regeln werden jetzt auch ausgegeben. #
21345
+ * # #
22137
21346
  * # Copyright (C) 2007,2009 Michael Plugge <m.plugge@hs-mannheim.de> #
22138
21347
  * ###########################################################################
22139
21348
  */
@@ -22142,7 +21351,7 @@ DLL_EXPORT int rebuild_blzfile(char *inputname,char *outputname,UINT4 set)
22142
21351
  {
22143
21352
  char pbuf[256],*b,pan_buf[8],nr_buf[8],tmpfile[16];
22144
21353
  char **p_name,**p_name_kurz,**p_ort,**p_bic,*p_aenderung,*p_loeschung;
22145
- int i,j,ret;
21354
+ int i,j,ret,regel;
22146
21355
  int cnt,*p_nachfolge_blz,id,p_pz,*p_nr,*p_plz,*p_pan;
22147
21356
  UINT4 lut_set[30];
22148
21357
  FILE *out;
@@ -22164,24 +21373,26 @@ DLL_EXPORT int rebuild_blzfile(char *inputname,char *outputname,UINT4 set)
22164
21373
  lut_set[i+3]=0;
22165
21374
  if(i==100000)return FATAL_ERROR; /* keine m�gliche Ausgabedatei gefunden */
22166
21375
  ret=generate_lut2(inputname,tmpfile,"Testdatei fuer LUT2",NULL,lut_set,20,3,0);
22167
- printf("generate_lut2: %s\n",kto_check_retval2txt_short(ret));
22168
- if(ret!=OK){
21376
+ if(ret<=0){
22169
21377
  unlink(tmpfile);
22170
21378
  RETURN(ret);
22171
21379
  }
22172
21380
  ret=kto_check_init_p(tmpfile,9,0,0);
22173
- printf("init(): %s\n",kto_check_retval2txt_short(ret));
22174
21381
  unlink(tmpfile);
22175
- if(ret!=OK)RETURN(ret);
21382
+ if(ret<=0)RETURN(ret);
22176
21383
  }
22177
21384
  else /* set-Parameter 1 oder 2: LUT-Datei als Eingabedatei */
22178
- if((ret=kto_check_init_p(inputname,9,set,0))!=OK)RETURN(ret);
21385
+ if(set<0) /* set darf nur 0, 1 oder 2 sein; 0 wurde schon behandelt */
21386
+ set=1;
21387
+ else if(set>2)
21388
+ set=2;
21389
+ if((ret=kto_check_init_p(inputname,9,set,0))<=0)RETURN(ret);
22179
21390
 
22180
21391
  if(!(out=fopen(outputname,"w"))){
22181
21392
  PRINT_VERBOSE_DEBUG_FILE("fopen");
22182
21393
  return FILE_WRITE_ERROR;
22183
21394
  }
22184
- for(i=0;i<lut2_cnt_hs;i++){
21395
+ for(i=regel=0;i<lut2_cnt_hs;i++){
22185
21396
  sprintf(b=pbuf,"%d",blz[i]);
22186
21397
  lut_multiple(pbuf,&cnt,NULL,&p_name,&p_name_kurz,&p_plz,&p_ort,&p_pan,&p_bic,
22187
21398
  &p_pz,&p_nr,&p_aenderung,&p_loeschung,&p_nachfolge_blz,&id,NULL,NULL);
@@ -22193,9 +21404,15 @@ DLL_EXPORT int rebuild_blzfile(char *inputname,char *outputname,UINT4 set)
22193
21404
  sprintf(nr_buf,"%06d",*p_nr);
22194
21405
  else
22195
21406
  *nr_buf=0;
22196
- fprintf(out,"%8s1%-58s%05d%-35s%-27s%5s%-11s%X%d%6s%c%c%08d\n",
21407
+ fprintf(out,"%8s1%-58s%05d%-35s%-27s%5s%-11s%X%d%6s%c%c%08d",
22197
21408
  pbuf,*p_name,*p_plz,*p_ort,*p_name_kurz,pan_buf,*p_bic,p_pz/10,p_pz%10,
22198
21409
  nr_buf,*p_aenderung,*p_loeschung,*p_nachfolge_blz);
21410
+ if(iban_regel){
21411
+ regel=lut_iban_regel(pbuf,0,NULL);
21412
+ fprintf(out,"%06d\n",regel);
21413
+ }
21414
+ else
21415
+ fputc('\n',out);
22199
21416
  for(j=1;j<cnt;j++){
22200
21417
  if(p_pan[j])
22201
21418
  sprintf(pan_buf,"%05d",p_pan[j]);
@@ -22205,9 +21422,13 @@ DLL_EXPORT int rebuild_blzfile(char *inputname,char *outputname,UINT4 set)
22205
21422
  sprintf(nr_buf,"%06d",p_nr[j]);
22206
21423
  else
22207
21424
  *nr_buf=0;
22208
- fprintf(out,"%8s2%-58s%05d%-35s%-27s%5s%-11s%X%d%6s%c%c%08d\n",
21425
+ fprintf(out,"%8s2%-58s%05d%-35s%-27s%5s%-11s%X%d%6s%c%c%08d",
22209
21426
  pbuf,p_name[j],p_plz[j],p_ort[j],p_name_kurz[j],pan_buf,p_bic[j],
22210
21427
  p_pz/10,p_pz%10,nr_buf,p_aenderung[j],p_loeschung[j],p_nachfolge_blz[j]);
21428
+ if(iban_regel)
21429
+ fprintf(out,"%06d\n",regel);
21430
+ else
21431
+ fputc('\n',out);
22211
21432
  }
22212
21433
  }
22213
21434
  return OK;
@@ -22407,6 +21628,7 @@ DLL_EXPORT const char *iban2bic(char *iban,int *retval,char *blz,char *kto)
22407
21628
  * ###########################################################################
22408
21629
  */
22409
21630
 
21631
+ #line 20310 "konto_check.lxx"
22410
21632
  DLL_EXPORT char *iban_gen(char *blz,char *kto,int *retval)
22411
21633
  {
22412
21634
  return iban_bic_gen(blz,kto,NULL,NULL,NULL,retval);
@@ -22417,6 +21639,9 @@ DLL_EXPORT char *iban_bic_gen1(char *blz,char *kto,const char **bicp,int *retval
22417
21639
  return iban_bic_gen(blz,kto,bicp,NULL,NULL,retval);
22418
21640
  }
22419
21641
 
21642
+
21643
+ #line 20371 "konto_check.lxx"
21644
+
22420
21645
  DLL_EXPORT char *iban_bic_gen(char *blz,char *kto,const char **bicp,char *blz2,char *kto2,int *retval)
22421
21646
  {
22422
21647
  char c,check[128],iban[128],kto_n[16],blz_n[12],*ptr,*dptr;
@@ -22654,7 +21879,7 @@ DLL_EXPORT char *iban_bic_gen(char *blz,char *kto,const char **bicp,char *blz2,c
22654
21879
  if(j>0 && !(j%4))*dptr++=' ';
22655
21880
  }
22656
21881
  *dptr=0;
22657
- ptr=malloc(64);
21882
+ ptr=(char *)malloc(64);
22658
21883
  strcpy(ptr,check);
22659
21884
  if(retval)*retval=ret_regel;
22660
21885
  return ptr;
@@ -23150,6 +22375,7 @@ DLL_EXPORT int ipi_check(char *zweck)
23150
22375
  * # Copyright (C) 2009,2011 Michael Plugge <m.plugge@hs-mannheim.de> #
23151
22376
  * ###########################################################################
23152
22377
  */
22378
+ #line 21106 "konto_check.lxx"
23153
22379
 
23154
22380
  /* Funktion volltext_zeichen() +���2 */
23155
22381
  /* Diese Funktion gibt f�r Zeichen die bei der Volltextsuche g�ltig sind
@@ -23523,236 +22749,236 @@ static int get_sortc(char **a,int enc)
23523
22749
  case 'Z': base='z'; break;
23524
22750
 
23525
22751
  /* DOS CP-850 und Kollisionen mit ISO-8859-1 */
23526
- case 0xa0: base='a'; accent=1; break; /* CP-850:a acute */
23527
- case 0x83: base='a'; accent=2; break; /* CP-850:a circ */
23528
- case 0x85: base='a'; accent=3; break; /* CP-850:a grave */
23529
- case 0xc6: base='a'; accent=4; break; /* CP-850:a tilde */
23530
- case 0x84: base='a'; accent=5; break; /* CP-850:a uml */
23531
- case 0xb5: base='a'; accent=1; break; /* CP-850:A acute */
23532
- case 0xb6: base='a'; accent=2; break; /* CP-850:A circ */
23533
- case 0xb7: base='a'; accent=3; break; /* CP-850:A grave */
23534
- case 0xc7: base='a'; accent=4; break; /* CP-850:A tilde */
23535
- case 0x8e: base='a'; accent=5; break; /* CP-850:A uml */
23536
- case 0x82: base='e'; accent=1; break; /* CP-850:e acute */
23537
- case 0x88: base='e'; accent=2; break; /* CP-850:e circ */
23538
- case 0x8a: base='e'; accent=3; break; /* CP-850:e grave */
23539
- case 0x89: base='e'; accent=5; break; /* CP-850:e uml */
23540
- case 0x90: base='e'; accent=1; break; /* CP-850:E acute */
22752
+ case 0xa0: base='a'; accent=1; break; /* CP-850: a acute */
22753
+ case 0x83: base='a'; accent=2; break; /* CP-850: a circ */
22754
+ case 0x85: base='a'; accent=3; break; /* CP-850: a grave */
22755
+ case 0xc6: base='a'; accent=4; break; /* CP-850: a tilde */
22756
+ case 0x84: base='a'; accent=5; break; /* CP-850: a uml */
22757
+ case 0xb5: base='a'; accent=1; break; /* CP-850: A acute */
22758
+ case 0xb6: base='a'; accent=2; break; /* CP-850: A circ */
22759
+ case 0xb7: base='a'; accent=3; break; /* CP-850: A grave */
22760
+ case 0xc7: base='a'; accent=4; break; /* CP-850: A tilde */
22761
+ case 0x8e: base='a'; accent=5; break; /* CP-850: A uml */
22762
+ case 0x82: base='e'; accent=1; break; /* CP-850: e acute */
22763
+ case 0x88: base='e'; accent=2; break; /* CP-850: e circ */
22764
+ case 0x8a: base='e'; accent=3; break; /* CP-850: e grave */
22765
+ case 0x89: base='e'; accent=5; break; /* CP-850: e uml */
22766
+ case 0x90: base='e'; accent=1; break; /* CP-850: E acute */
23541
22767
  case 0xd2:
23542
22768
  if(enc==4){
23543
- base='e'; accent=2; break; /* CP-850:E circ */
22769
+ base='e'; accent=2; break; /* CP-850: E circ */
23544
22770
  }
23545
22771
  else{
23546
- base='o'; accent=3; break; /* ISO-8859-1: O grave */
22772
+ base='o'; accent=3; break; /* ISO-8859-1: O grave */
23547
22773
  }
23548
22774
  case 0xd4:
23549
22775
  if(enc==4){
23550
- base='e'; accent=3; break; /* CP-850: E grave */
22776
+ base='e'; accent=3; break; /* CP-850: E grave */
23551
22777
  }
23552
22778
  else{
23553
- base='o'; accent=2; break; /* ISO-8859-1: O circ */
22779
+ base='o'; accent=2; break; /* ISO-8859-1: O circ */
23554
22780
  }
23555
22781
  case 0xd3:
23556
22782
  if(enc==4){
23557
- base='e'; accent=5; break; /* CP-850: E uml */
22783
+ base='e'; accent=5; break; /* CP-850: E uml */
23558
22784
  }
23559
22785
  else{
23560
- base='o'; accent=1; break; /* ISO-8859-1: O acute */
22786
+ base='o'; accent=1; break; /* ISO-8859-1: O acute */
23561
22787
  }
23562
- case 0xa1: base='i'; accent=1; break; /* CP-850: i acute */
23563
- case 0x8c: base='i'; accent=2; break; /* CP-850: i circ */
23564
- case 0x8d: base='i'; accent=3; break; /* CP-850: i grave */
23565
- case 0x8b: base='i'; accent=5; break; /* CP-850: i uml */
22788
+ case 0xa1: base='i'; accent=1; break; /* CP-850: i acute */
22789
+ case 0x8c: base='i'; accent=2; break; /* CP-850: i circ */
22790
+ case 0x8d: base='i'; accent=3; break; /* CP-850: i grave */
22791
+ case 0x8b: base='i'; accent=5; break; /* CP-850: i uml */
23566
22792
  case 0xd6:
23567
22793
  if(enc==4){
23568
- base='i'; accent=1; break; /* CP-850: I acute */
22794
+ base='i'; accent=1; break; /* CP-850: I acute */
23569
22795
  }
23570
22796
  else{
23571
- base='o'; accent=5; break; /* ISO-8859-1: O uml */
23572
- }
23573
- case 0xd7: base='i'; accent=2; break; /* CP-850: I circ */
23574
- case 0xde: base='i'; accent=3; break; /* CP-850: I grave */
23575
- case 0xd8: base='i'; accent=5; break; /* CP-850: I uml */
23576
- case 0xa4: base='n'; accent=4; break; /* CP-850: n tilde */
23577
- case 0xa5: base='n'; accent=4; break; /* CP-850: N tilde */
23578
- case 0xa2: base='o'; accent=1; break; /* CP-850: o acute */
23579
- case 0x93: base='o'; accent=2; break; /* CP-850: o circ */
23580
- case 0x95: base='o'; accent=3; break; /* CP-850: o grave */
22797
+ base='o'; accent=5; break; /* ISO-8859-1: O uml */
22798
+ }
22799
+ case 0xd7: base='i'; accent=2; break; /* CP-850: I circ */
22800
+ case 0xde: base='i'; accent=3; break; /* CP-850: I grave */
22801
+ case 0xd8: base='i'; accent=5; break; /* CP-850: I uml */
22802
+ case 0xa4: base='n'; accent=4; break; /* CP-850: n tilde */
22803
+ case 0xa5: base='n'; accent=4; break; /* CP-850: N tilde */
22804
+ case 0xa2: base='o'; accent=1; break; /* CP-850: o acute */
22805
+ case 0x93: base='o'; accent=2; break; /* CP-850: o circ */
22806
+ case 0x95: base='o'; accent=3; break; /* CP-850: o grave */
23581
22807
  case 0xe4:
23582
22808
  if(enc==4){
23583
- base='o'; accent=4; break; /* CP-850: o tilde */
22809
+ base='o'; accent=4; break; /* CP-850: o tilde */
23584
22810
  }
23585
22811
  else{
23586
- base='a'; accent=5; break; /* ISO-8859-1: a uml */
22812
+ base='a'; accent=5; break; /* ISO-8859-1: a uml */
23587
22813
  }
23588
- case 0x94: base='o'; accent=5; break; /* CP-850: � o uml */
22814
+ case 0x94: base='o'; accent=5; break; /* CP-850: � uml */
23589
22815
  case 0xe0:
23590
22816
  if(enc==4){
23591
- base='o'; accent=1; break; /* CP-850: O acute */
22817
+ base='o'; accent=1; break; /* CP-850: O acute */
23592
22818
  }
23593
22819
  else{
23594
- base='a'; accent=3; break; /* ISO-8859-1: a grave */
22820
+ base='a'; accent=3; break; /* ISO-8859-1: a grave */
23595
22821
  }
23596
22822
  case 0xe2:
23597
22823
  if(enc==4){
23598
- base='o'; accent=2; break; /* CP-850: O circ */
22824
+ base='o'; accent=2; break; /* CP-850: O circ */
23599
22825
  }
23600
22826
  else{
23601
- base='a'; accent=2; break; /* ISO-8859-1: a circ */
22827
+ base='a'; accent=2; break; /* ISO-8859-1: a circ */
23602
22828
  }
23603
22829
  case 0xe3:
23604
22830
  if(enc==4){
23605
- base='o'; accent=3; break; /* CP-850: O grave */
22831
+ base='o'; accent=3; break; /* CP-850: O grave */
23606
22832
  }
23607
22833
  else{
23608
- base='a'; accent=4; break; /* ISO-8859-1: a tilde */
23609
- }
23610
- case 0xe5: base='o'; accent=4; break; /* CP-850: O tilde */
23611
- case 0x99: base='o'; accent=5; break; /* CP-850: O uml */
23612
- case 0xa3: base='u'; accent=1; break; /* CP-850: u acute */
23613
- case 0x96: base='u'; accent=2; break; /* CP-850: u circ */
23614
- case 0x97: base='u'; accent=3; break; /* CP-850: u grave */
23615
- case 0x81: base='u'; accent=5; break; /* CP-850: u uml */
22834
+ base='a'; accent=4; break; /* ISO-8859-1: a tilde */
22835
+ }
22836
+ case 0xe5: base='o'; accent=4; break; /* CP-850: O tilde */
22837
+ case 0x99: base='o'; accent=5; break; /* CP-850: O uml */
22838
+ case 0xa3: base='u'; accent=1; break; /* CP-850: u acute */
22839
+ case 0x96: base='u'; accent=2; break; /* CP-850: u circ */
22840
+ case 0x97: base='u'; accent=3; break; /* CP-850: u grave */
22841
+ case 0x81: base='u'; accent=5; break; /* CP-850: u uml */
23616
22842
  case 0xe9:
23617
22843
  if(enc==4){
23618
- base='u'; accent=1; break; /* CP-850: U acute */
22844
+ base='u'; accent=1; break; /* CP-850: U acute */
23619
22845
  }
23620
22846
  else{
23621
- base='e'; accent=1; break; /* ISO-8859-1: e acute */
22847
+ base='e'; accent=1; break; /* ISO-8859-1: e acute */
23622
22848
  }
23623
22849
  case 0xea:
23624
22850
  if(enc==4){
23625
- base='u'; accent=2; break; /* CP-850: U circ */
22851
+ base='u'; accent=2; break; /* CP-850: U circ */
23626
22852
  }
23627
22853
  else{
23628
- base='e'; accent=2; break; /* ISO-8859-1: e circ */
22854
+ base='e'; accent=2; break; /* ISO-8859-1: e circ */
23629
22855
  }
23630
22856
  case 0xeb:
23631
22857
  if(enc==4){
23632
- base='u'; accent=3; break; /* CP-850: U grave */
22858
+ base='u'; accent=3; break; /* CP-850: U grave */
23633
22859
  }
23634
22860
  else{
23635
- base='e'; accent=5; break; /* ISO-8859-1: e uml */
22861
+ base='e'; accent=5; break; /* ISO-8859-1: e uml */
23636
22862
  }
23637
- case 0x9a: base='u'; accent=5; break; /* CP-850: U uml */
22863
+ case 0x9a: base='u'; accent=5; break; /* CP-850: U uml */
23638
22864
  case 0xec:
23639
22865
  if(enc==4){
23640
- base='y'; accent=1; break; /* CP-850: y acute */
22866
+ base='y'; accent=1; break; /* CP-850: y acute */
23641
22867
  }
23642
22868
  else{
23643
- base='i'; accent=3; break; /* ISO-8859-1: i grave */
22869
+ base='i'; accent=3; break; /* ISO-8859-1: i grave */
23644
22870
  }
23645
22871
  case 0xed:
23646
22872
  if(enc==4){
23647
- base='y'; accent=1; break; /* CP-850: Y acute */
22873
+ base='y'; accent=1; break; /* CP-850: Y acute */
23648
22874
  }
23649
22875
  else{
23650
- base='i'; accent=1; break; /* ISO-8859-1: i acute */
22876
+ base='i'; accent=1; break; /* ISO-8859-1: i acute */
23651
22877
  }
23652
- case 0x98: base='y'; accent=5; break; /* CP-850: y uml */
22878
+ case 0x98: base='y'; accent=5; break; /* CP-850: y uml */
23653
22879
  case 0xe1:
23654
22880
  if(enc==4){
23655
- base='s'; accent=1; break; /* CP-850: s szlig */
22881
+ base='s'; accent=1; break; /* CP-850: s szlig */
23656
22882
  }
23657
22883
  else{
23658
- base='a'; accent=1; break; /* ISO-8859-1: a acute */
22884
+ base='a'; accent=1; break; /* ISO-8859-1: a acute */
23659
22885
  }
23660
22886
 
23661
22887
 
23662
22888
  /* ISO-8859-1 */
23663
- case 0xc1: base='a'; accent=1; break; /* ISO-8859-1: A acute */
23664
- case 0xc2: base='a'; accent=2; break; /* ISO-8859-1: A circ */
23665
- case 0xc0: base='a'; accent=3; break; /* ISO-8859-1: A grave */
23666
- case 0xc4: base='a'; accent=5; break; /* ISO-8859-1: A uml */
23667
- case 0xe8: base='e'; accent=3; break; /* ISO-8859-1: e grave */
23668
- case 0xc9: base='e'; accent=1; break; /* ISO-8859-1: E acute */
23669
- case 0xca: base='e'; accent=2; break; /* ISO-8859-1: E circ */
23670
- case 0xc8: base='e'; accent=3; break; /* ISO-8859-1: E grave */
23671
- case 0xcb: base='e'; accent=5; break; /* ISO-8859-1: E uml */
23672
- case 0xee: base='i'; accent=2; break; /* ISO-8859-1: i circ */
23673
- case 0xef: base='i'; accent=5; break; /* ISO-8859-1: i uml */
23674
- case 0xcd: base='i'; accent=1; break; /* ISO-8859-1: I acute */
23675
- case 0xce: base='i'; accent=2; break; /* ISO-8859-1: I circ */
23676
- case 0xcc: base='i'; accent=3; break; /* ISO-8859-1: I grave */
23677
- case 0xcf: base='i'; accent=5; break; /* ISO-8859-1: I uml */
23678
- case 0xf1: base='n'; accent=4; break; /* ISO-8859-1: n tilde */
23679
- case 0xd1: base='n'; accent=4; break; /* ISO-8859-1: N tilde */
23680
- case 0xf3: base='o'; accent=1; break; /* ISO-8859-1: o acute */
23681
- case 0xf4: base='o'; accent=2; break; /* ISO-8859-1: o circ */
23682
- case 0xf2: base='o'; accent=3; break; /* ISO-8859-1: o grave */
23683
- case 0xf5: base='o'; accent=4; break; /* ISO-8859-1: o tilde */
23684
- case 0xf6: base='o'; accent=5; break; /* ISO-8859-1: o uml */
23685
- case 0xd5: base='o'; accent=4; break; /* ISO-8859-1: O tilde */
23686
- case 0xfa: base='u'; accent=1; break; /* ISO-8859-1: u acute */
23687
- case 0xfb: base='u'; accent=2; break; /* ISO-8859-1: u circ */
23688
- case 0xf9: base='u'; accent=3; break; /* ISO-8859-1: u grave */
23689
- case 0xfc: base='u'; accent=5; break; /* ISO-8859-1: u uml */
23690
- case 0xda: base='u'; accent=1; break; /* ISO-8859-1: U acute */
23691
- case 0xdb: base='u'; accent=2; break; /* ISO-8859-1: U circ */
23692
- case 0xd9: base='u'; accent=3; break; /* ISO-8859-1: U grave */
23693
- case 0xdc: base='u'; accent=5; break; /* ISO-8859-1: U uml */
23694
- case 0xfd: base='y'; accent=1; break; /* ISO-8859-1: Y acute */
23695
- case 0xdd: base='y'; accent=1; break; /* ISO-8859-1: Y acute */
23696
- case 0xff: base='y'; accent=5; break; /* ISO-8859-1: y uml */
23697
- case 0xdf: base='s'; accent=1; break; /* ISO-8859-1: s szlig */
22889
+ case 0xc1: base='a'; accent=1; break; /* ISO-8859-1: A acute */
22890
+ case 0xc2: base='a'; accent=2; break; /* ISO-8859-1: A circ */
22891
+ case 0xc0: base='a'; accent=3; break; /* ISO-8859-1: A grave */
22892
+ case 0xc4: base='a'; accent=5; break; /* ISO-8859-1: A uml */
22893
+ case 0xe8: base='e'; accent=3; break; /* ISO-8859-1: e grave */
22894
+ case 0xc9: base='e'; accent=1; break; /* ISO-8859-1: E acute */
22895
+ case 0xca: base='e'; accent=2; break; /* ISO-8859-1: E circ */
22896
+ case 0xc8: base='e'; accent=3; break; /* ISO-8859-1: E grave */
22897
+ case 0xcb: base='e'; accent=5; break; /* ISO-8859-1: E uml */
22898
+ case 0xee: base='i'; accent=2; break; /* ISO-8859-1: i circ */
22899
+ case 0xef: base='i'; accent=5; break; /* ISO-8859-1: i uml */
22900
+ case 0xcd: base='i'; accent=1; break; /* ISO-8859-1: I acute */
22901
+ case 0xce: base='i'; accent=2; break; /* ISO-8859-1: I circ */
22902
+ case 0xcc: base='i'; accent=3; break; /* ISO-8859-1: I grave */
22903
+ case 0xcf: base='i'; accent=5; break; /* ISO-8859-1: I uml */
22904
+ case 0xf1: base='n'; accent=4; break; /* ISO-8859-1: n tilde */
22905
+ case 0xd1: base='n'; accent=4; break; /* ISO-8859-1: N tilde */
22906
+ case 0xf3: base='o'; accent=1; break; /* ISO-8859-1: o acute */
22907
+ case 0xf4: base='o'; accent=2; break; /* ISO-8859-1: o circ */
22908
+ case 0xf2: base='o'; accent=3; break; /* ISO-8859-1: o grave */
22909
+ case 0xf5: base='o'; accent=4; break; /* ISO-8859-1: o tilde */
22910
+ case 0xf6: base='o'; accent=5; break; /* ISO-8859-1: o uml */
22911
+ case 0xd5: base='o'; accent=4; break; /* ISO-8859-1: O tilde */
22912
+ case 0xfa: base='u'; accent=1; break; /* ISO-8859-1: u acute */
22913
+ case 0xfb: base='u'; accent=2; break; /* ISO-8859-1: u circ */
22914
+ case 0xf9: base='u'; accent=3; break; /* ISO-8859-1: u grave */
22915
+ case 0xfc: base='u'; accent=5; break; /* ISO-8859-1: u uml */
22916
+ case 0xda: base='u'; accent=1; break; /* ISO-8859-1: U acute */
22917
+ case 0xdb: base='u'; accent=2; break; /* ISO-8859-1: U circ */
22918
+ case 0xd9: base='u'; accent=3; break; /* ISO-8859-1: U grave */
22919
+ case 0xdc: base='u'; accent=5; break; /* ISO-8859-1: U uml */
22920
+ case 0xfd: base='y'; accent=1; break; /* ISO-8859-1: Y acute */
22921
+ case 0xdd: base='y'; accent=1; break; /* ISO-8859-1: Y acute */
22922
+ case 0xff: base='y'; accent=5; break; /* ISO-8859-1: y uml */
22923
+ case 0xdf: base='s'; accent=1; break; /* ISO-8859-1: s szlig */
23698
22924
 
23699
22925
 
23700
22926
  case 0xc3: /* UTF-8 Zeichen */
23701
22927
  switch(*ptr){
23702
22928
 
23703
22929
  /* UTF8-Kodierung (immer mit Pr�fix 0xc3): */
23704
- case 0xa1: ptr++; base='a'; accent=1; break; /* UTF-8: á a acute */
23705
- case 0xa2: ptr++; base='a'; accent=2; break; /* UTF-8: â a circ */
23706
- case 0xa0: ptr++; base='a'; accent=3; break; /* UTF-8: à a grave */
23707
- case 0xa3: ptr++; base='a'; accent=4; break; /* UTF-8: ã a tilde */
23708
- case 0xa4: ptr++; base='a'; accent=5; break; /* UTF-8: ä a uml */
23709
- case 0X81: ptr++; base='a'; accent=1; break; /* UTF-8: Á A acute */
23710
- case 0X82: ptr++; base='a'; accent=2; break; /* UTF-8: Â A circ */
23711
- case 0X80: ptr++; base='a'; accent=3; break; /* UTF-8: À A grave */
23712
- case 0X83: ptr++; base='a'; accent=4; break; /* UTF-8: Ã A tilde */
23713
- case 0X84: ptr++; base='a'; accent=5; break; /* UTF-8: Ä A uml */
23714
- case 0xa9: ptr++; base='e'; accent=1; break; /* UTF-8: é e acute */
23715
- case 0xaa: ptr++; base='e'; accent=2; break; /* UTF-8: ê e circ */
23716
- case 0xa8: ptr++; base='e'; accent=3; break; /* UTF-8: è e grave */
23717
- case 0xab: ptr++; base='e'; accent=5; break; /* UTF-8: ë e uml */
23718
- case 0x89: ptr++; base='e'; accent=1; break; /* UTF-8: É E acute */
23719
- case 0x8a: ptr++; base='e'; accent=2; break; /* UTF-8: Ê E circ */
23720
- case 0x88: ptr++; base='e'; accent=3; break; /* UTF-8: È E grave */
23721
- case 0x8b: ptr++; base='e'; accent=5; break; /* UTF-8: Ë E uml */
23722
- case 0xad: ptr++; base='i'; accent=1; break; /* UTF-8: í i acute */
23723
- case 0xae: ptr++; base='i'; accent=2; break; /* UTF-8: î i circ */
23724
- case 0xac: ptr++; base='i'; accent=3; break; /* UTF-8: ì i grave */
23725
- case 0xaf: ptr++; base='i'; accent=5; break; /* UTF-8: ï i uml */
23726
- case 0x8d: ptr++; base='i'; accent=1; break; /* UTF-8: Í I acute */
23727
- case 0x8e: ptr++; base='i'; accent=2; break; /* UTF-8: Î I circ */
23728
- case 0x8c: ptr++; base='i'; accent=3; break; /* UTF-8: Ì I grave */
23729
- case 0x8f: ptr++; base='i'; accent=5; break; /* UTF-8: Ï I uml */
23730
- case 0xb1: ptr++; base='n'; accent=4; break; /* UTF-8: ñ n tilde */
23731
- case 0x91: ptr++; base='n'; accent=4; break; /* UTF-8: Ñ N tilde */
23732
- case 0xb3: ptr++; base='o'; accent=1; break; /* UTF-8: ó o acute */
23733
- case 0xb4: ptr++; base='o'; accent=2; break; /* UTF-8: ô o circ */
23734
- case 0xb2: ptr++; base='o'; accent=3; break; /* UTF-8: ò o grave */
23735
- case 0xb5: ptr++; base='o'; accent=4; break; /* UTF-8: õ o tilde */
23736
- case 0xb6: ptr++; base='o'; accent=5; break; /* UTF-8: ö o uml */
23737
- case 0x93: ptr++; base='o'; accent=1; break; /* UTF-8: Ó O acute */
23738
- case 0x94: ptr++; base='o'; accent=2; break; /* UTF-8: Ô O circ */
23739
- case 0x92: ptr++; base='o'; accent=3; break; /* UTF-8: Ò O grave */
23740
- case 0x95: ptr++; base='o'; accent=4; break; /* UTF-8: Õ O tilde */
23741
- case 0x96: ptr++; base='o'; accent=5; break; /* UTF-8: Ö O uml */
23742
- case 0xba: ptr++; base='u'; accent=1; break; /* UTF-8: ú u acute */
23743
- case 0xbb: ptr++; base='u'; accent=2; break; /* UTF-8: û u circ */
23744
- case 0xb9: ptr++; base='u'; accent=3; break; /* UTF-8: ù u grave */
23745
- case 0xbc: ptr++; base='u'; accent=5; break; /* UTF-8: ü u uml */
23746
- case 0x9a: ptr++; base='u'; accent=1; break; /* UTF-8: Ú U acute */
23747
- case 0x9b: ptr++; base='u'; accent=2; break; /* UTF-8: Û U circ */
23748
- case 0x99: ptr++; base='u'; accent=3; break; /* UTF-8: Ù U grave */
23749
- case 0x9c: ptr++; base='u'; accent=5; break; /* UTF-8: Ü U uml */
23750
- case 0xbd: ptr++; base='y'; accent=1; break; /* UTF-8: ý y acute */
23751
- case 0x9d: ptr++; base='y'; accent=1; break; /* UTF-8: Ý Y acute */
23752
- case 0xbf: ptr++; base='y'; accent=5; break; /* UTF-8: ÿ y uml */
23753
- case 0x9f: ptr++; base='s'; accent=1; break; /* UTF-8: ß szlig */
22930
+ case 0xa1: ptr++; base='a'; accent=1; break; /* UTF-8: a acute */
22931
+ case 0xa2: ptr++; base='a'; accent=2; break; /* UTF-8: a circ */
22932
+ case 0xa0: ptr++; base='a'; accent=3; break; /* UTF-8: a grave */
22933
+ case 0xa3: ptr++; base='a'; accent=4; break; /* UTF-8: a tilde */
22934
+ case 0xa4: ptr++; base='a'; accent=5; break; /* UTF-8: a uml */
22935
+ case 0X81: ptr++; base='a'; accent=1; break; /* UTF-8: A acute */
22936
+ case 0X82: ptr++; base='a'; accent=2; break; /* UTF-8: A circ */
22937
+ case 0X80: ptr++; base='a'; accent=3; break; /* UTF-8: A grave */
22938
+ case 0X83: ptr++; base='a'; accent=4; break; /* UTF-8: A tilde */
22939
+ case 0X84: ptr++; base='a'; accent=5; break; /* UTF-8: A uml */
22940
+ case 0xa9: ptr++; base='e'; accent=1; break; /* UTF-8: e acute */
22941
+ case 0xaa: ptr++; base='e'; accent=2; break; /* UTF-8: e circ */
22942
+ case 0xa8: ptr++; base='e'; accent=3; break; /* UTF-8: e grave */
22943
+ case 0xab: ptr++; base='e'; accent=5; break; /* UTF-8: e uml */
22944
+ case 0x89: ptr++; base='e'; accent=1; break; /* UTF-8: E acute */
22945
+ case 0x8a: ptr++; base='e'; accent=2; break; /* UTF-8: E circ */
22946
+ case 0x88: ptr++; base='e'; accent=3; break; /* UTF-8: E grave */
22947
+ case 0x8b: ptr++; base='e'; accent=5; break; /* UTF-8: E uml */
22948
+ case 0xad: ptr++; base='i'; accent=1; break; /* UTF-8: i acute */
22949
+ case 0xae: ptr++; base='i'; accent=2; break; /* UTF-8: i circ */
22950
+ case 0xac: ptr++; base='i'; accent=3; break; /* UTF-8: i grave */
22951
+ case 0xaf: ptr++; base='i'; accent=5; break; /* UTF-8: i uml */
22952
+ case 0x8d: ptr++; base='i'; accent=1; break; /* UTF-8: I acute */
22953
+ case 0x8e: ptr++; base='i'; accent=2; break; /* UTF-8: I circ */
22954
+ case 0x8c: ptr++; base='i'; accent=3; break; /* UTF-8: I grave */
22955
+ case 0x8f: ptr++; base='i'; accent=5; break; /* UTF-8: I uml */
22956
+ case 0xb1: ptr++; base='n'; accent=4; break; /* UTF-8: n tilde */
22957
+ case 0x91: ptr++; base='n'; accent=4; break; /* UTF-8: N tilde */
22958
+ case 0xb3: ptr++; base='o'; accent=1; break; /* UTF-8: o acute */
22959
+ case 0xb4: ptr++; base='o'; accent=2; break; /* UTF-8: o circ */
22960
+ case 0xb2: ptr++; base='o'; accent=3; break; /* UTF-8: o grave */
22961
+ case 0xb5: ptr++; base='o'; accent=4; break; /* UTF-8: o tilde */
22962
+ case 0xb6: ptr++; base='o'; accent=5; break; /* UTF-8: o uml */
22963
+ case 0x93: ptr++; base='o'; accent=1; break; /* UTF-8: O acute */
22964
+ case 0x94: ptr++; base='o'; accent=2; break; /* UTF-8: O circ */
22965
+ case 0x92: ptr++; base='o'; accent=3; break; /* UTF-8: O grave */
22966
+ case 0x95: ptr++; base='o'; accent=4; break; /* UTF-8: O tilde */
22967
+ case 0x96: ptr++; base='o'; accent=5; break; /* UTF-8: O uml */
22968
+ case 0xba: ptr++; base='u'; accent=1; break; /* UTF-8: u acute */
22969
+ case 0xbb: ptr++; base='u'; accent=2; break; /* UTF-8: u circ */
22970
+ case 0xb9: ptr++; base='u'; accent=3; break; /* UTF-8: u grave */
22971
+ case 0xbc: ptr++; base='u'; accent=5; break; /* UTF-8: u uml */
22972
+ case 0x9a: ptr++; base='u'; accent=1; break; /* UTF-8: U acute */
22973
+ case 0x9b: ptr++; base='u'; accent=2; break; /* UTF-8: U circ */
22974
+ case 0x99: ptr++; base='u'; accent=3; break; /* UTF-8: U grave */
22975
+ case 0x9c: ptr++; base='u'; accent=5; break; /* UTF-8: U uml */
22976
+ case 0xbd: ptr++; base='y'; accent=1; break; /* UTF-8: y acute */
22977
+ case 0x9d: ptr++; base='y'; accent=1; break; /* UTF-8: Y acute */
22978
+ case 0xbf: ptr++; base='y'; accent=5; break; /* UTF-8: y uml */
22979
+ case 0x9f: ptr++; base='s'; accent=1; break; /* UTF-8: szlig */
23754
22980
  default: /* m�glicherweise ISO-8859-1 */
23755
- base='a'; accent=4; break; /* ISO-8859-1: A tilde */
22981
+ base='a'; accent=4; break; /* ISO-8859-1: A tilde */
23756
22982
  }
23757
22983
  break;
23758
22984
 
@@ -23995,6 +23221,7 @@ static int qcmp_bic_h(const void *ap,const void *bp)
23995
23221
  return a-b;
23996
23222
  }
23997
23223
 
23224
+ #line 21952 "konto_check.lxx"
23998
23225
 
23999
23226
  /* Funktion qcmp_bic() +���3 */
24000
23227
  static int qcmp_bic(const void *ap,const void *bp)
@@ -24099,6 +23326,7 @@ static int qcmp_iban_regel(const void *ap,const void *bp)
24099
23326
  else
24100
23327
  return a-b;
24101
23328
  }
23329
+ #line 21967 "konto_check.lxx"
24102
23330
 
24103
23331
  /* Funktion init_blzf() +���2
24104
23332
  * Diese Funktion initialisiert das Array mit den Bankleitzahlen f�r alle
@@ -24116,17 +23344,17 @@ static int init_blzf(int *cnt_p)
24116
23344
  blz_f=blz; /* die einfache BLZ-Tabelle reicht aus */
24117
23345
  pz_f=pz_methoden;
24118
23346
  /* Zweigstellen-Array, komplett mit Nullen initialisiert (per calloc; keine Zweigstellen) */
24119
- if(!zweigstelle_f && !(zweigstelle_f=calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
23347
+ if(!zweigstelle_f && !(zweigstelle_f=(int *)calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
24120
23348
  }
24121
23349
  else
24122
23350
  cnt=lut2_cnt;
24123
23351
  if(!blz_f){ /* Bankleitzahlen mit Filialen; eigenes Array erforderlich */
24124
- if(!(blz_f=calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
24125
- if(!(zweigstelle_f=calloc(cnt+10,sizeof(int)))){
23352
+ if(!(blz_f=(int *)calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
23353
+ if(!(zweigstelle_f=(int *)calloc(cnt+10,sizeof(int)))){
24126
23354
  FREE(blz_f);
24127
23355
  return ERROR_MALLOC;
24128
23356
  }
24129
- if(!(pz_f=calloc(cnt+10,sizeof(int)))){
23357
+ if(!(pz_f=(int *)calloc(cnt+10,sizeof(int)))){
24130
23358
  FREE(blz_f);
24131
23359
  FREE(zweigstelle_f);
24132
23360
  return ERROR_MALLOC;
@@ -24166,6 +23394,7 @@ DLL_EXPORT int konto_check_idx2blz(int idx,int *zweigstelle,int *retval)
24166
23394
  }
24167
23395
 
24168
23396
  /* Funktion suche_int1() +���2 */
23397
+ #line 22035 "konto_check.lxx"
24169
23398
  static int suche_int1(int a1,int a2,int *anzahl,int **start_idx,int **zweigstellen_base,int **blz_base,
24170
23399
  int **base_name,int **base_sort,int(*cmp)(const void *, const void *),int cnt,int such_idx)
24171
23400
  {
@@ -24189,7 +23418,7 @@ static int suche_int1(int a1,int a2,int *anzahl,int **start_idx,int **zweigstell
24189
23418
  if(retval==OK){
24190
23419
  ptr=data;
24191
23420
  C2UI(cnt1,ptr);
24192
- if(!(b_sort=malloc(cnt1*sizeof(int)))){
23421
+ if(!(b_sort=(int *)malloc(cnt1*sizeof(int)))){
24193
23422
  FREE(blz_f);
24194
23423
  FREE(zweigstelle_f);
24195
23424
  return ERROR_MALLOC;
@@ -24199,7 +23428,7 @@ static int suche_int1(int a1,int a2,int *anzahl,int **start_idx,int **zweigstell
24199
23428
  }
24200
23429
  else{
24201
23430
  /* Indexblock nicht gefunden, Index jetzt aufbauen */
24202
- if(!(b_sort=calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
23431
+ if(!(b_sort=(int *)calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
24203
23432
  for(i=0;i<cnt;i++)b_sort[i]=i;
24204
23433
  qsort(b_sort,cnt,sizeof(int),cmp);
24205
23434
  }
@@ -24216,6 +23445,7 @@ static int suche_int1(int a1,int a2,int *anzahl,int **start_idx,int **zweigstell
24216
23445
  }
24217
23446
 
24218
23447
  /* Funktion suche_int2() +���2 */
23448
+ #line 22086 "konto_check.lxx"
24219
23449
  static int suche_int2(int a1,int a2,int *anzahl,int **start_idx,int **zweigstellen_base,int **blz_base,
24220
23450
  int **base_name,int **base_sort,int(*cmp)(const void *, const void *),int such_idx,int pz_suche)
24221
23451
  {
@@ -24244,7 +23474,7 @@ static int suche_int2(int a1,int a2,int *anzahl,int **start_idx,int **zweigstell
24244
23474
  C2UI(cnt1,ptr);
24245
23475
  else
24246
23476
  C2UI(cnt,ptr);
24247
- if(!(b_sort=malloc(cnt*sizeof(int)))){
23477
+ if(!(b_sort=(int *)malloc(cnt*sizeof(int)))){
24248
23478
  if(blz_f!=blz)
24249
23479
  FREE(blz_f);
24250
23480
  else
@@ -24268,7 +23498,7 @@ static int suche_int2(int a1,int a2,int *anzahl,int **start_idx,int **zweigstell
24268
23498
  }
24269
23499
  else{
24270
23500
  /* Indexblock nicht gefunden, Index jetzt aufbauen */
24271
- if(!(b_sort=calloc(cnt+10,sizeof(int)))){
23501
+ if(!(b_sort=(int *)calloc(cnt+10,sizeof(int)))){
24272
23502
  if(blz_f!=blz)
24273
23503
  FREE(blz_f);
24274
23504
  else
@@ -24325,7 +23555,7 @@ static int suche_str(char *such_name,int *anzahl,int **start_idx,int **zweigstel
24325
23555
  if(retval==OK){
24326
23556
  ptr=data;
24327
23557
  C2UI(cnt,ptr);
24328
- if(!(b_sort=malloc(cnt*sizeof(int)))){
23558
+ if(!(b_sort=(int *)malloc(cnt*sizeof(int)))){
24329
23559
  FREE(blz_f);
24330
23560
  FREE(zweigstelle_f);
24331
23561
  return ERROR_MALLOC;
@@ -24335,7 +23565,7 @@ static int suche_str(char *such_name,int *anzahl,int **start_idx,int **zweigstel
24335
23565
  }
24336
23566
  else{
24337
23567
  /* Indexblock nicht gefunden, Index jetzt aufbauen */
24338
- if(!(b_sort=calloc(cnt+10,sizeof(int)))){
23568
+ if(!(b_sort=(int *)calloc(cnt+10,sizeof(int)))){
24339
23569
  FREE(blz_f);
24340
23570
  FREE(zweigstelle_f);
24341
23571
  return ERROR_MALLOC;
@@ -24380,7 +23610,7 @@ static int *lut_suche_multiple_and(int *such_array,int *start1,int cnt1,int *sta
24380
23610
 
24381
23611
  if(cnt)*cnt=lut2_cnt;
24382
23612
  if(!such_array){
24383
- if(!(such_array=calloc(sizeof(int),lut2_cnt))){
23613
+ if(!(such_array=(int *)calloc(sizeof(int),lut2_cnt))){
24384
23614
  if(retval)*retval=ERROR_MALLOC;
24385
23615
  return NULL;
24386
23616
  }
@@ -24445,14 +23675,14 @@ DLL_EXPORT int lut_suche_init(int uniq)
24445
23675
  int i,id;
24446
23676
  LUT_SUCHE_ARR *a;
24447
23677
 
24448
- if(!(a=calloc(sizeof(LUT_SUCHE_ARR),1)))return ERROR_MALLOC;
24449
- if(!lut_suche_arr && !(lut_suche_arr=calloc(sizeof(LUT_SUCHE_ARR*),last_lut_suche_idx=100)))return ERROR_MALLOC;
23678
+ if(!(a=(LUT_SUCHE_ARR *)calloc(sizeof(LUT_SUCHE_ARR),1)))return ERROR_MALLOC;
23679
+ if(!lut_suche_arr && !(lut_suche_arr=(LUT_SUCHE_ARR **)calloc(sizeof(LUT_SUCHE_ARR*),last_lut_suche_idx=100)))return ERROR_MALLOC;
24450
23680
  for(i=id=0;i<last_lut_suche_idx;i++)if(!lut_suche_arr[i]){ /* freien Index suchen */
24451
23681
  id=i;
24452
23682
  break;
24453
23683
  }
24454
23684
  if(i==last_lut_suche_idx){ /* der buffer wird zu klein, mehr allokieren */
24455
- if(!(lut_suche_arr=realloc(lut_suche_arr,sizeof(LUT_SUCHE_ARR*)*(last_lut_suche_idx+=100))))return ERROR_MALLOC;
23685
+ if(!(lut_suche_arr=(LUT_SUCHE_ARR **)realloc(lut_suche_arr,sizeof(LUT_SUCHE_ARR*)*(last_lut_suche_idx+=100))))return ERROR_MALLOC;
24456
23686
  for(id=i++;i<last_lut_suche_idx;i++)lut_suche_arr[i]=NULL;
24457
23687
  }
24458
23688
  lut_suche_arr[id]=a;
@@ -24633,8 +23863,8 @@ DLL_EXPORT int lut_suche(int such_id,char *such_cmd,UINT4 *such_cnt,UINT4 **fili
24633
23863
 
24634
23864
  if(s){
24635
23865
  for(i=cnt=0;i<arr_cnt;i++)if(s[i])cnt++;
24636
- if(blz && !(*blz=malloc(cnt*4)))return ERROR_MALLOC;
24637
- if(filiale && !(*filiale=malloc(cnt*4)))return ERROR_MALLOC;
23866
+ if(blz && !(*blz=(UINT4 *)malloc(cnt*4)))return ERROR_MALLOC;
23867
+ if(filiale && !(*filiale=(UINT4 *)malloc(cnt*4)))return ERROR_MALLOC;
24638
23868
  last_blz=-1;
24639
23869
  if(suche->uniq){ /* hier mu� nicht mehr sortiert werden, da die BLZs schon sortiert sind */
24640
23870
  for(i=j=cnt=0;i<arr_cnt;i++)if(s[i] && blz_f[i]!=last_blz){
@@ -24793,12 +24023,13 @@ static int cmp_suche_sort(const void *ap,const void *bp)
24793
24023
  DLL_EXPORT int lut_suche_sort1(int anzahl,int *blz_base,int *zweigstellen_base,int *idx,int *anzahl_o,int **idx_op,int **cnt_op,int uniq)
24794
24024
  {
24795
24025
  int i,j,last_idx,*idx_a,*cnt_o;
24026
+ #line 22665 "konto_check.lxx"
24796
24027
 
24797
24028
  if(idx_op)*idx_op=NULL;
24798
24029
  if(cnt_op)*cnt_op=NULL;
24799
24030
  *anzahl_o=0;
24800
- if(!(idx_a=malloc(anzahl*sizeof(int))))return ERROR_MALLOC;
24801
- if(!(cnt_o=malloc(anzahl*sizeof(int))))return ERROR_MALLOC;
24031
+ if(!(idx_a=(int *)malloc(anzahl*sizeof(int))))return ERROR_MALLOC;
24032
+ if(!(cnt_o=(int *)malloc(anzahl*sizeof(int))))return ERROR_MALLOC;
24802
24033
  for(i=0;i<anzahl;i++){ /* initialisieren */
24803
24034
  idx_a[i]=idx[i];
24804
24035
  cnt_o[i]=1;
@@ -24817,8 +24048,8 @@ DLL_EXPORT int lut_suche_sort1(int anzahl,int *blz_base,int *zweigstellen_base,i
24817
24048
  last_idx=blz_base[idx_a[i]];
24818
24049
  j++;
24819
24050
  }
24820
- if(!(idx_a=realloc(idx_a,j*sizeof(int))))return ERROR_MALLOC;
24821
- if(!(cnt_o=realloc(cnt_o,j*sizeof(int))))return ERROR_MALLOC;
24051
+ if(!(idx_a=(int *)realloc(idx_a,j*sizeof(int))))return ERROR_MALLOC;
24052
+ if(!(cnt_o=(int *)realloc(cnt_o,j*sizeof(int))))return ERROR_MALLOC;
24822
24053
  *anzahl_o=j;
24823
24054
  }
24824
24055
  else
@@ -24839,14 +24070,14 @@ DLL_EXPORT int lut_suche_sort2(int anzahl,int *blz,int *zweigstellen,int *anzahl
24839
24070
  {
24840
24071
  int i,j,last_blz,*idx_a,*blz_o,*zweigstellen_o;
24841
24072
 
24842
- idx_a=malloc(anzahl*sizeof(int));
24073
+ idx_a=(int *)malloc(anzahl*sizeof(int));
24843
24074
  for(i=0;i<anzahl;i++)idx_a[i]=i; /* initialisieren */
24844
24075
  blz_suche_sort=blz;
24845
24076
  zw_suche_sort=zweigstellen;
24846
24077
  // #error lock f�r sort einf�gen wegen globalem blz_suche_sort und zw_suche_xort oder besser spezifische Sortierroutinen
24847
24078
  qsort(idx_a,anzahl,sizeof(int),cmp_suche_sort);
24848
- blz_o=malloc(anzahl*sizeof(int));
24849
- zweigstellen_o=malloc(anzahl*sizeof(int));
24079
+ blz_o=(int *)malloc(anzahl*sizeof(int));
24080
+ zweigstellen_o=(int *)malloc(anzahl*sizeof(int));
24850
24081
  if(uniq){
24851
24082
  for(last_blz=-1,i=j=0;i<anzahl;i++){
24852
24083
  if(blz[idx_a[i]]==last_blz)continue;
@@ -24856,8 +24087,8 @@ DLL_EXPORT int lut_suche_sort2(int anzahl,int *blz,int *zweigstellen,int *anzahl
24856
24087
  last_blz=blz[idx_a[i]];
24857
24088
  }
24858
24089
  // fprintf(stderr,"cnt_o: %d\n",j);
24859
- if(!(blz_o=realloc(blz_o,j*sizeof(int))))return ERROR_MALLOC;
24860
- if(!(cnt_o=realloc(cnt_o,j*sizeof(int))))return ERROR_MALLOC;
24090
+ if(!(blz_o=(int *)realloc(blz_o,j*sizeof(int))))return ERROR_MALLOC;
24091
+ if(!(cnt_o=(int **)realloc(cnt_o,j*sizeof(int))))return ERROR_MALLOC;
24861
24092
  *anzahl_o=j;
24862
24093
  }
24863
24094
  else{
@@ -24874,6 +24105,7 @@ DLL_EXPORT int lut_suche_sort2(int anzahl,int *blz,int *zweigstellen,int *anzahl
24874
24105
  return OK;
24875
24106
  }
24876
24107
 
24108
+ #line 22748 "konto_check.lxx"
24877
24109
  /* Funktion lut_suche_volltext() +���2 */
24878
24110
  DLL_EXPORT int lut_suche_volltext(char *such_wort,int *anzahl,int *base_name_idx,char ***base_name,
24879
24111
  int *zweigstellen_anzahl,int **start_idx,int **zweigstellen_base,int **blz_base)
@@ -24906,22 +24138,22 @@ DLL_EXPORT int lut_suche_volltext(char *such_wort,int *anzahl,int *base_name_idx
24906
24138
  ptr=data;
24907
24139
  C2UL(vt_cnt_uniq,ptr);
24908
24140
  C2UL(vt_cnt,ptr);
24909
- if(!(volltext=malloc(vt_cnt*sizeof(char*)))){
24141
+ if(!(volltext=(char **)malloc(vt_cnt*sizeof(char*)))){
24910
24142
  FREE(volltext_data);
24911
24143
  return ERROR_MALLOC;
24912
24144
  }
24913
- if(!(volltext_start=malloc((vt_cnt_uniq+1)*sizeof(int)))){
24145
+ if(!(volltext_start=(int *)malloc((vt_cnt_uniq+1)*sizeof(int)))){
24914
24146
  FREE(volltext);
24915
24147
  FREE(volltext_data);
24916
24148
  return ERROR_MALLOC;
24917
24149
  }
24918
- if(!(sort_volltext=malloc(vt_cnt_uniq*sizeof(int)))){
24150
+ if(!(sort_volltext=(int *)malloc(vt_cnt_uniq*sizeof(int)))){
24919
24151
  FREE(volltext);
24920
24152
  FREE(volltext_data);
24921
24153
  FREE(volltext_start);
24922
24154
  return ERROR_MALLOC;
24923
24155
  }
24924
- if(!(volltext_banken=malloc(vt_cnt*sizeof(int)))){
24156
+ if(!(volltext_banken=(int *)malloc(vt_cnt*sizeof(int)))){
24925
24157
  FREE(volltext);
24926
24158
  FREE(volltext_data);
24927
24159
  FREE(volltext_start);
@@ -24991,19 +24223,19 @@ DLL_EXPORT int lut_suche_blz(int such1,int such2,int *anzahl,int **start_idx,int
24991
24223
  if(base_name)*base_name=blz_f;
24992
24224
  cnt=lut2_cnt;
24993
24225
  if(!sort_blz){
24994
- if(!(sort_blz=malloc(cnt*sizeof(int))))return ERROR_MALLOC;
24226
+ if(!(sort_blz=(int *)malloc(cnt*sizeof(int))))return ERROR_MALLOC;
24995
24227
  for(i=0;i<cnt;i++)sort_blz[i]=i;
24996
24228
  }
24997
24229
  if(blz_base)*blz_base=blz_f;
24998
24230
  if(zweigstellen_base){
24999
24231
  /* Dummy-Array f�r die Zweigstellen anlegen (nur Nullen; f�r die R�ckgabe erforderlich) */
25000
- if(!zweigstelle_f && !(zweigstelle_f=calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
24232
+ if(!zweigstelle_f && !(zweigstelle_f=(int *)calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
25001
24233
  *zweigstellen_base=zweigstelle_f;
25002
24234
  }
25003
24235
  return suche_int1(such1,such2,anzahl,start_idx,zweigstellen_base,blz_base,&blz_f,&sort_blz,qcmp_blz,cnt,0);
25004
24236
  }
25005
24237
 
25006
- #line 22783 "konto_check.lxx"
24238
+ #line 22898 "konto_check.lxx"
25007
24239
  /* Funktion lut_suche_bic() +���2 */
25008
24240
  DLL_EXPORT int lut_suche_bic(char *such_name,int *anzahl,int **start_idx,int **zweigstellen_base,
25009
24241
  char ***base_name,int **blz_base)
@@ -25057,6 +24289,7 @@ DLL_EXPORT int lut_suche_pz(int such1,int such2,int *anzahl,int **start_idx,int
25057
24289
  {
25058
24290
  int retval;
25059
24291
 
24292
+
25060
24293
  if(anzahl)*anzahl=0;
25061
24294
  if(such2 && such1>such2)return INVALID_SEARCH_RANGE;
25062
24295
  if((init_status&7)<7)return LUT2_NOT_INITIALIZED;
@@ -25070,6 +24303,7 @@ DLL_EXPORT int lut_suche_pz(int such1,int such2,int *anzahl,int **start_idx,int
25070
24303
  /* Funktion lut_suche_plz() +���2 */
25071
24304
  DLL_EXPORT int lut_suche_plz(int such1,int such2,int *anzahl,int **start_idx,int **zweigstellen_base,int **base_name,int **blz_base)
25072
24305
  {
24306
+
25073
24307
  if(anzahl)*anzahl=0;
25074
24308
  if(such2 && such1>such2)return INVALID_SEARCH_RANGE;
25075
24309
  if((init_status&7)<7)return LUT2_NOT_INITIALIZED;
@@ -25082,6 +24316,7 @@ DLL_EXPORT int lut_suche_plz(int such1,int such2,int *anzahl,int **start_idx,int
25082
24316
  /* Funktion lut_suche_regel() +���2 */
25083
24317
  DLL_EXPORT int lut_suche_regel(int such1,int such2,int *anzahl,int **start_idx,int **zweigstellen_base,int **base_name,int **blz_base)
25084
24318
  {
24319
+
25085
24320
  if(anzahl)*anzahl=0;
25086
24321
  if(such2 && such1>such2)return INVALID_SEARCH_RANGE;
25087
24322
  if((init_status&7)<7)return LUT2_NOT_INITIALIZED;
@@ -25091,6 +24326,7 @@ DLL_EXPORT int lut_suche_regel(int such1,int such2,int *anzahl,int **start_idx,i
25091
24326
  return suche_int2(such1*100,such2*100+99,anzahl,start_idx,zweigstellen_base,blz_base,&iban_regel,&sort_iban_regel,qcmp_iban_regel,LUT2_IBAN_REGEL_SORT,0);
25092
24327
  }
25093
24328
 
24329
+ #line 22931 "konto_check.lxx"
25094
24330
 
25095
24331
  /* Funktion lut_suche_bic_h() +���2 */
25096
24332
  DLL_EXPORT int lut_suche_bic_h(char *such_name,int *anzahl,int **start_idx,int **zweigstellen_base,
@@ -25134,10 +24370,10 @@ DLL_EXPORT int bic_info(char *bic1,int mode,int *anzahl,int *start_idx)
25134
24370
  case 0:
25135
24371
  default:
25136
24372
  retval=lut_suche_bic_h(bic1,&cnt,&s_idx,NULL,NULL,NULL);
25137
- if(start_idx)*start_idx=(s_idx-sort_bic_h);
24373
+ if(start_idx)*start_idx=(s_idx-sort_bic_h)+1;
25138
24374
  if(!cnt){ /* Suche bei allen BICs (inklusive Nebenstellen) */
25139
24375
  retval=lut_suche_bic(bic1,&cnt,&s_idx,NULL,NULL,NULL);
25140
- if(start_idx)*start_idx=(sort_bic-s_idx); /* negativer Startindex */
24376
+ if(start_idx)*start_idx=(sort_bic-s_idx)-1; /* negativer Startindex */
25141
24377
  }
25142
24378
  if(!cnt){ /* noch nichts gefunden, Zweigstellenteil des BIC mit XXX auff�llen (z.B. f�r Postbank) */
25143
24379
  memcpy(bic2,bic1,8); /* Hauptstellenteil kopieren */
@@ -25147,16 +24383,16 @@ DLL_EXPORT int bic_info(char *bic1,int mode,int *anzahl,int *start_idx)
25147
24383
  *++ptr=0;
25148
24384
  retval=lut_suche_bic(bic2,&cnt,&s_idx,NULL,NULL,NULL);
25149
24385
  if(retval>=OK)retval=OK_SHORT_BIC_USED;
25150
- if(start_idx)*start_idx=(sort_bic-s_idx); /* negativer Startindex */
24386
+ if(start_idx)*start_idx=(sort_bic-s_idx)-1; /* negativer Startindex */
25151
24387
  }
25152
24388
  break;
25153
24389
  case 1:
25154
24390
  retval=lut_suche_bic(bic1,&cnt,&s_idx,NULL,NULL,NULL);
25155
- if(start_idx)*start_idx=(sort_bic-s_idx); /* negativer Startindex */
24391
+ if(start_idx)*start_idx=(sort_bic-s_idx)-1; /* negativer Startindex */
25156
24392
  break;
25157
24393
  case 2:
25158
24394
  retval=lut_suche_bic_h(bic1,&cnt,&s_idx,NULL,NULL,NULL);
25159
- if(start_idx)*start_idx=(s_idx-sort_bic_h);
24395
+ if(start_idx)*start_idx=(s_idx-sort_bic_h)+1;
25160
24396
  break;
25161
24397
  }
25162
24398
  if(anzahl)*anzahl=cnt;
@@ -25188,12 +24424,12 @@ DLL_EXPORT int bic_info(char *bic1,int mode,int *anzahl,int *start_idx)
25188
24424
 
25189
24425
  DLL_EXPORT int bic_aenderung(char *bic1,int mode,int filiale,int*retval)
25190
24426
  {
25191
- return bic_fkt_c(bic1,mode,filiale,retval,aenderung);
24427
+ return bic_fkt_c(bic1,mode,filiale,retval,aenderung,LUT2_AENDERUNG_NOT_INITIALIZED);
25192
24428
  }
25193
24429
 
25194
24430
  DLL_EXPORT int biq_aenderung(int idx,int*retval)
25195
24431
  {
25196
- return biq_fkt_c(idx,retval,aenderung);
24432
+ return biq_fkt_c(idx,retval,aenderung,LUT2_AENDERUNG_NOT_INITIALIZED);
25197
24433
  }
25198
24434
 
25199
24435
  DLL_EXPORT int iban_aenderung(char *iban,int filiale,int*retval)
@@ -25211,12 +24447,12 @@ DLL_EXPORT int iban_aenderung(char *iban,int filiale,int*retval)
25211
24447
 
25212
24448
  DLL_EXPORT int bic_loeschung(char *bic1,int mode,int filiale,int*retval)
25213
24449
  {
25214
- return bic_fkt_c(bic1,mode,filiale,retval,loeschung);
24450
+ return bic_fkt_c(bic1,mode,filiale,retval,loeschung,LUT2_LOESCHUNG_NOT_INITIALIZED);
25215
24451
  }
25216
24452
 
25217
24453
  DLL_EXPORT int biq_loeschung(int idx,int*retval)
25218
24454
  {
25219
- return biq_fkt_c(idx,retval,loeschung);
24455
+ return biq_fkt_c(idx,retval,loeschung,LUT2_LOESCHUNG_NOT_INITIALIZED);
25220
24456
  }
25221
24457
 
25222
24458
  DLL_EXPORT int iban_loeschung(char *iban,int filiale,int*retval)
@@ -25234,12 +24470,12 @@ DLL_EXPORT int iban_loeschung(char *iban,int filiale,int*retval)
25234
24470
 
25235
24471
  DLL_EXPORT int bic_iban_regel(char *bic1,int mode,int filiale,int*retval)
25236
24472
  {
25237
- return bic_fkt_i(bic1,mode,filiale,retval,iban_regel);
24473
+ return bic_fkt_i(bic1,mode,filiale,retval,iban_regel,LUT2_IBAN_REGEL_NOT_INITIALIZED);
25238
24474
  }
25239
24475
 
25240
24476
  DLL_EXPORT int biq_iban_regel(int idx,int*retval)
25241
24477
  {
25242
- return biq_fkt_i(idx,retval,iban_regel);
24478
+ return biq_fkt_i(idx,retval,iban_regel,LUT2_IBAN_REGEL_NOT_INITIALIZED);
25243
24479
  }
25244
24480
 
25245
24481
  DLL_EXPORT int iban_iban_regel(char *iban,int filiale,int*retval)
@@ -25257,12 +24493,12 @@ DLL_EXPORT int iban_iban_regel(char *iban,int filiale,int*retval)
25257
24493
 
25258
24494
  DLL_EXPORT int bic_nachfolge_blz(char *bic1,int mode,int filiale,int*retval)
25259
24495
  {
25260
- return bic_fkt_i(bic1,mode,filiale,retval,nachfolge_blz);
24496
+ return bic_fkt_i(bic1,mode,filiale,retval,nachfolge_blz,LUT2_NACHFOLGE_BLZ_NOT_INITIALIZED);
25261
24497
  }
25262
24498
 
25263
24499
  DLL_EXPORT int biq_nachfolge_blz(int idx,int*retval)
25264
24500
  {
25265
- return biq_fkt_i(idx,retval,nachfolge_blz);
24501
+ return biq_fkt_i(idx,retval,nachfolge_blz,LUT2_NACHFOLGE_BLZ_NOT_INITIALIZED);
25266
24502
  }
25267
24503
 
25268
24504
  DLL_EXPORT int iban_nachfolge_blz(char *iban,int filiale,int*retval)
@@ -25280,12 +24516,12 @@ DLL_EXPORT int iban_nachfolge_blz(char *iban,int filiale,int*retval)
25280
24516
 
25281
24517
  DLL_EXPORT int bic_nr(char *bic1,int mode,int filiale,int*retval)
25282
24518
  {
25283
- return bic_fkt_i(bic1,mode,filiale,retval,bank_nr);
24519
+ return bic_fkt_i(bic1,mode,filiale,retval,bank_nr,LUT2_NR_NOT_INITIALIZED);
25284
24520
  }
25285
24521
 
25286
24522
  DLL_EXPORT int biq_nr(int idx,int*retval)
25287
24523
  {
25288
- return biq_fkt_i(idx,retval,bank_nr);
24524
+ return biq_fkt_i(idx,retval,bank_nr,LUT2_NR_NOT_INITIALIZED);
25289
24525
  }
25290
24526
 
25291
24527
  DLL_EXPORT int iban_nr(char *iban,int filiale,int*retval)
@@ -25303,12 +24539,12 @@ DLL_EXPORT int iban_nr(char *iban,int filiale,int*retval)
25303
24539
 
25304
24540
  DLL_EXPORT int bic_pan(char *bic1,int mode,int filiale,int*retval)
25305
24541
  {
25306
- return bic_fkt_i(bic1,mode,filiale,retval,pan);
24542
+ return bic_fkt_i(bic1,mode,filiale,retval,pan,LUT2_PAN_NOT_INITIALIZED);
25307
24543
  }
25308
24544
 
25309
24545
  DLL_EXPORT int biq_pan(int idx,int*retval)
25310
24546
  {
25311
- return biq_fkt_i(idx,retval,pan);
24547
+ return biq_fkt_i(idx,retval,pan,LUT2_PAN_NOT_INITIALIZED);
25312
24548
  }
25313
24549
 
25314
24550
  DLL_EXPORT int iban_pan(char *iban,int filiale,int*retval)
@@ -25326,12 +24562,12 @@ DLL_EXPORT int iban_pan(char *iban,int filiale,int*retval)
25326
24562
 
25327
24563
  DLL_EXPORT int bic_plz(char *bic1,int mode,int filiale,int*retval)
25328
24564
  {
25329
- return bic_fkt_i(bic1,mode,filiale,retval,plz);
24565
+ return bic_fkt_i(bic1,mode,filiale,retval,plz,LUT2_PLZ_NOT_INITIALIZED);
25330
24566
  }
25331
24567
 
25332
24568
  DLL_EXPORT int biq_plz(int idx,int*retval)
25333
24569
  {
25334
- return biq_fkt_i(idx,retval,plz);
24570
+ return biq_fkt_i(idx,retval,plz,LUT2_PLZ_NOT_INITIALIZED);
25335
24571
  }
25336
24572
 
25337
24573
  DLL_EXPORT int iban_plz(char *iban,int filiale,int*retval)
@@ -25349,12 +24585,12 @@ DLL_EXPORT int iban_plz(char *iban,int filiale,int*retval)
25349
24585
 
25350
24586
  DLL_EXPORT int bic_pz(char *bic1,int mode,int filiale,int*retval)
25351
24587
  {
25352
- return bic_fkt_i(bic1,mode,filiale,retval,pz_methoden);
24588
+ return bic_fkt_i(bic1,mode,filiale,retval,pz_methoden,LUT2_PZ_NOT_INITIALIZED);
25353
24589
  }
25354
24590
 
25355
24591
  DLL_EXPORT int biq_pz(int idx,int*retval)
25356
24592
  {
25357
- return biq_fkt_i(idx,retval,pz_methoden);
24593
+ return biq_fkt_i(idx,retval,pz_methoden,LUT2_PZ_NOT_INITIALIZED);
25358
24594
  }
25359
24595
 
25360
24596
  DLL_EXPORT int iban_pz(char *iban,int filiale,int*retval)
@@ -25372,12 +24608,12 @@ DLL_EXPORT int iban_pz(char *iban,int filiale,int*retval)
25372
24608
 
25373
24609
  DLL_EXPORT const char *bic_bic(char *bic1,int mode,int filiale,int*retval)
25374
24610
  {
25375
- return bic_fkt_s(bic1,mode,filiale,retval,bic);
24611
+ return bic_fkt_s(bic1,mode,filiale,retval,bic,LUT2_BIC_NOT_INITIALIZED);
25376
24612
  }
25377
24613
 
25378
24614
  DLL_EXPORT const char *biq_bic(int idx,int*retval)
25379
24615
  {
25380
- return biq_fkt_s(idx,retval,bic);
24616
+ return biq_fkt_s(idx,retval,bic,LUT2_BIC_NOT_INITIALIZED);
25381
24617
  }
25382
24618
 
25383
24619
  DLL_EXPORT const char *iban_bic(char *iban,int filiale,int*retval)
@@ -25395,12 +24631,12 @@ DLL_EXPORT const char *iban_bic(char *iban,int filiale,int*retval)
25395
24631
 
25396
24632
  DLL_EXPORT const char *bic_bic_h(char *bic1,int mode,int filiale,int*retval)
25397
24633
  {
25398
- return bic_fkt_s(bic1,mode,filiale,retval,bic_h);
24634
+ return bic_fkt_s(bic1,mode,filiale,retval,bic_h,LUT2_BIC_NOT_INITIALIZED);
25399
24635
  }
25400
24636
 
25401
24637
  DLL_EXPORT const char *biq_bic_h(int idx,int*retval)
25402
24638
  {
25403
- return biq_fkt_s(idx,retval,bic_h);
24639
+ return biq_fkt_s(idx,retval,bic_h,LUT2_BIC_NOT_INITIALIZED);
25404
24640
  }
25405
24641
 
25406
24642
  DLL_EXPORT const char *iban_bic_h(char *iban,int filiale,int*retval)
@@ -25418,12 +24654,12 @@ DLL_EXPORT const char *iban_bic_h(char *iban,int filiale,int*retval)
25418
24654
 
25419
24655
  DLL_EXPORT const char *bic_name(char *bic1,int mode,int filiale,int*retval)
25420
24656
  {
25421
- return bic_fkt_s(bic1,mode,filiale,retval,name);
24657
+ return bic_fkt_s(bic1,mode,filiale,retval,name,LUT2_NAME_NOT_INITIALIZED);
25422
24658
  }
25423
24659
 
25424
24660
  DLL_EXPORT const char *biq_name(int idx,int*retval)
25425
24661
  {
25426
- return biq_fkt_s(idx,retval,name);
24662
+ return biq_fkt_s(idx,retval,name,LUT2_NAME_NOT_INITIALIZED);
25427
24663
  }
25428
24664
 
25429
24665
  DLL_EXPORT const char *iban_name(char *iban,int filiale,int*retval)
@@ -25441,12 +24677,12 @@ DLL_EXPORT const char *iban_name(char *iban,int filiale,int*retval)
25441
24677
 
25442
24678
  DLL_EXPORT const char *bic_name_kurz(char *bic1,int mode,int filiale,int*retval)
25443
24679
  {
25444
- return bic_fkt_s(bic1,mode,filiale,retval,name_kurz);
24680
+ return bic_fkt_s(bic1,mode,filiale,retval,name_kurz,LUT2_NAME_KURZ_NOT_INITIALIZED);
25445
24681
  }
25446
24682
 
25447
24683
  DLL_EXPORT const char *biq_name_kurz(int idx,int*retval)
25448
24684
  {
25449
- return biq_fkt_s(idx,retval,name_kurz);
24685
+ return biq_fkt_s(idx,retval,name_kurz,LUT2_NAME_KURZ_NOT_INITIALIZED);
25450
24686
  }
25451
24687
 
25452
24688
  DLL_EXPORT const char *iban_name_kurz(char *iban,int filiale,int*retval)
@@ -25464,32 +24700,37 @@ DLL_EXPORT const char *iban_name_kurz(char *iban,int filiale,int*retval)
25464
24700
 
25465
24701
  DLL_EXPORT const char *bic_ort(char *bic1,int mode,int filiale,int*retval)
25466
24702
  {
25467
- return bic_fkt_s(bic1,mode,filiale,retval,ort);
24703
+ return bic_fkt_s(bic1,mode,filiale,retval,ort,LUT2_ORT_NOT_INITIALIZED);
25468
24704
  }
25469
24705
 
25470
24706
  DLL_EXPORT const char *biq_ort(int idx,int*retval)
25471
24707
  {
25472
- return biq_fkt_s(idx,retval,ort);
24708
+ return biq_fkt_s(idx,retval,ort,LUT2_ORT_NOT_INITIALIZED);
25473
24709
  }
25474
24710
 
25475
24711
  DLL_EXPORT const char *iban_ort(char *iban,int filiale,int*retval)
25476
24712
  {
25477
24713
  return iban_fkt_s(iban,filiale,retval,lut_ort);
25478
24714
  }
24715
+ #line 23020 "konto_check.lxx"
25479
24716
 
25480
- static int bic_fkt_c(char *bic1,int mode,int filiale,int*retval,char *base)
24717
+ static int bic_fkt_c(char *bic1,int mode,int filiale,int*retval,char *base,int error)
25481
24718
  {
25482
24719
  int cnt,start_idx,rv,ret1,ret2;
25483
24720
 
24721
+ if(!base){
24722
+ if(retval)*retval=error;
24723
+ return 0;
24724
+ }
25484
24725
  if((ret1=bic_info(bic1,mode,&cnt,&start_idx))<0){
25485
24726
  if(retval)*retval=ret1;
25486
- return -1;
24727
+ return 0;
25487
24728
  }
25488
24729
  if(filiale>=cnt){
25489
24730
  if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
25490
- return -1;
24731
+ return 0;
25491
24732
  }
25492
- rv=biq_fkt_c(start_idx+filiale,&ret2,base);
24733
+ rv=biq_fkt_c(start_idx+filiale,&ret2,base,error);
25493
24734
  if(retval){
25494
24735
  if(ret2<0)
25495
24736
  *retval=ret2;
@@ -25499,21 +24740,49 @@ static int bic_fkt_c(char *bic1,int mode,int filiale,int*retval,char *base)
25499
24740
  return rv;
25500
24741
  }
25501
24742
 
25502
- static int biq_fkt_c(int idx,int*retval,char *base)
24743
+ static int biq_fkt_c(int idx,int*retval,char *base,int error)
25503
24744
  {
24745
+ int ret;
24746
+
24747
+ if(!base){
24748
+ if(retval)*retval=error;
24749
+ return 0;
24750
+ }
24751
+ if(!idx){ /* Index 0 ist f�r Fehlerzustand reserviert */
24752
+ if(retval)*retval=INVALID_BIQ_INDEX;
24753
+ return 0;
24754
+ }
24755
+ else if(idx>0)
24756
+ idx--;
24757
+ else
24758
+ idx++;
25504
24759
  if(idx>0){
25505
- if(idx>lut2_cnt){ /* der Test ist nur sehr grob, aber es gibt an dieser Stelle nicht mehr Infos */
25506
- if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
25507
- return -1;
25508
- }
25509
- if(retval)*retval=OK;
25510
- return (int)base[sort_bic_h[idx]];
24760
+ if(idx>lut2_cnt){ /* der Test ist nur sehr grob, aber es gibt an dieser Stelle nicht mehr Infos */
24761
+ if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
24762
+ return 0;
24763
+ }
24764
+ if(!sort_bic_h){
24765
+ ret=lut_suche_bic_h("MARKDEF1100",NULL,NULL,NULL,NULL,NULL); /* sort_bic_h initialisieren */
24766
+ if(ret<0){
24767
+ if(retval)*retval=ret;
24768
+ return 0;
24769
+ }
24770
+ }
24771
+ if(retval)*retval=OK;
24772
+ return (int)base[sort_bic_h[idx]];
25511
24773
  }
25512
24774
  else{
25513
24775
  idx=-idx;
25514
24776
  if(idx>lut2_cnt){
25515
24777
  if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
25516
- return -1;
24778
+ return 0;
24779
+ }
24780
+ if(!sort_bic){
24781
+ ret=lut_suche_bic("MARKDEF1100",NULL,NULL,NULL,NULL,NULL); /* sort_bic initialisieren */
24782
+ if(ret<0){
24783
+ if(retval)*retval=ret;
24784
+ return 0;
24785
+ }
25517
24786
  }
25518
24787
  if(retval)*retval=OK;
25519
24788
  return (int)base[sort_bic[idx]];
@@ -25527,31 +24796,35 @@ static int iban_fkt_c(char *iban,int filiale,int *retval,int(*fkt)(char*,int,int
25527
24796
  /* nur zwei kleine Tests */
25528
24797
  if((*iban!='d' && *iban!='D') || (iban[1]!='e' && iban[1]!='E')){
25529
24798
  if(retval)*retval= IBAN_ONLY_GERMAN;
25530
- return -1;
24799
+ return 0;
25531
24800
  }
25532
24801
  if(strlen(iban)!=22){
25533
24802
  if(retval)*retval=INVALID_IBAN_LENGTH;
25534
- return -1;
24803
+ return 0;
25535
24804
  }
25536
24805
 
25537
24806
  memcpy(blz,iban+4,8);
25538
24807
  *(blz+8)=0;
25539
- return fkt(iban,filiale,retval);
24808
+ return fkt(blz,filiale,retval);
25540
24809
  }
25541
24810
 
25542
- static int bic_fkt_i(char *bic1,int mode,int filiale,int*retval,int *base)
24811
+ static int bic_fkt_i(char *bic1,int mode,int filiale,int*retval,int *base,int error)
25543
24812
  {
25544
24813
  int cnt,start_idx,rv,ret1,ret2;
25545
24814
 
24815
+ if(!base){
24816
+ if(retval)*retval=error;
24817
+ return 0;
24818
+ }
25546
24819
  if((ret1=bic_info(bic1,mode,&cnt,&start_idx))<0){
25547
24820
  if(retval)*retval=ret1;
25548
- return -1;
24821
+ return 0;
25549
24822
  }
25550
24823
  if(filiale>=cnt){
25551
24824
  if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
25552
- return -1;
24825
+ return 0;
25553
24826
  }
25554
- rv=biq_fkt_i(start_idx+filiale,&ret2,base);
24827
+ rv=biq_fkt_i(start_idx+filiale,&ret2,base,error);
25555
24828
  if(retval){
25556
24829
  if(ret2<0)
25557
24830
  *retval=ret2;
@@ -25561,21 +24834,52 @@ static int bic_fkt_i(char *bic1,int mode,int filiale,int*retval,int *base)
25561
24834
  return rv;
25562
24835
  }
25563
24836
 
25564
- static int biq_fkt_i(int idx,int*retval,int *base)
24837
+ static int biq_fkt_i(int idx,int*retval,int *base,int error)
25565
24838
  {
24839
+ int ret;
24840
+
24841
+ if(!base){
24842
+ if(retval)*retval=error;
24843
+ return 0;
24844
+ }
24845
+ if(!idx){ /* Index 0 ist f�r Fehlerzustand reserviert */
24846
+ if(retval)*retval=INVALID_BIQ_INDEX;
24847
+ return 0;
24848
+ }
24849
+ else if(idx>0)
24850
+ idx--;
24851
+ else
24852
+ idx++;
25566
24853
  if(idx>0){
25567
24854
  if(idx>lut2_cnt){ /* der Test ist nur sehr grob, aber es gibt an dieser Stelle nicht mehr Infos */
25568
24855
  if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
25569
- return -1;
24856
+ return 0;
24857
+ }
24858
+ if(!sort_bic_h){
24859
+ ret=lut_suche_bic_h("MARKDEF1100",NULL,NULL,NULL,NULL,NULL); /* sort_bic_h initialisieren */
24860
+ if(ret<0){
24861
+ if(retval)*retval=ret;
24862
+ return 0;
24863
+ }
25570
24864
  }
25571
24865
  if(retval)*retval=OK;
25572
- return base[sort_bic_h[idx]];
24866
+ if(base==pz_methoden)
24867
+ return base[startidx_r[sort_bic_h[idx]]];
24868
+ else
24869
+ return base[sort_bic_h[idx]];
25573
24870
  }
25574
24871
  else{
25575
24872
  idx=-idx;
25576
24873
  if(idx>lut2_cnt){
25577
24874
  if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
25578
- return -1;
24875
+ return 0;
24876
+ }
24877
+ if(!sort_bic){
24878
+ ret=lut_suche_bic("MARKDEF1100",NULL,NULL,NULL,NULL,NULL); /* sort_bic initialisieren */
24879
+ if(ret<0){
24880
+ if(retval)*retval=ret;
24881
+ return 0;
24882
+ }
25579
24883
  }
25580
24884
  if(retval)*retval=OK;
25581
24885
  return base[sort_bic[idx]];
@@ -25589,23 +24893,27 @@ static int iban_fkt_i(char *iban,int filiale,int *retval,int(*fkt)(char*,int,int
25589
24893
  /* nur zwei kleine Tests */
25590
24894
  if((*iban!='d' && *iban!='D') || (iban[1]!='e' && iban[1]!='E')){
25591
24895
  if(retval)*retval= IBAN_ONLY_GERMAN;
25592
- return -1;
24896
+ return 0;
25593
24897
  }
25594
24898
  if(strlen(iban)!=22){
25595
24899
  if(retval)*retval=INVALID_IBAN_LENGTH;
25596
- return -1;
24900
+ return 0;
25597
24901
  }
25598
24902
 
25599
24903
  memcpy(blz,iban+4,8);
25600
24904
  *(blz+8)=0;
25601
- return fkt(iban,filiale,retval);
24905
+ return fkt(blz,filiale,retval);
25602
24906
  }
25603
24907
 
25604
- static const char *bic_fkt_s(char *bic1,int mode,int filiale,int*retval,char **base)
24908
+ static const char *bic_fkt_s(char *bic1,int mode,int filiale,int*retval,char **base,int error)
25605
24909
  {
25606
24910
  const char *rv;
25607
24911
  int cnt,start_idx,ret1,ret2;
25608
24912
 
24913
+ if(!base){
24914
+ if(retval)*retval=error;
24915
+ return NULL;
24916
+ }
25609
24917
  if((ret1=bic_info(bic1,mode,&cnt,&start_idx))<0){
25610
24918
  if(retval)*retval=ret1;
25611
24919
  return NULL;
@@ -25614,7 +24922,7 @@ static const char *bic_fkt_s(char *bic1,int mode,int filiale,int*retval,char **b
25614
24922
  if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
25615
24923
  return NULL;
25616
24924
  }
25617
- rv=biq_fkt_s(start_idx+filiale,&ret2,base);
24925
+ rv=biq_fkt_s(start_idx+filiale,&ret2,base,error);
25618
24926
  if(retval){
25619
24927
  if(ret2<0)
25620
24928
  *retval=ret2;
@@ -25624,15 +24932,37 @@ static const char *bic_fkt_s(char *bic1,int mode,int filiale,int*retval,char **b
25624
24932
  return rv;
25625
24933
  }
25626
24934
 
25627
- static const char *biq_fkt_s(int idx,int*retval,char **base)
24935
+ static const char *biq_fkt_s(int idx,int*retval,char **base,int error)
25628
24936
  {
24937
+ int ret;
24938
+
24939
+ if(!base){
24940
+ if(retval)*retval=error;
24941
+ return NULL;
24942
+ }
24943
+ if(!idx){ /* Index 0 ist f�r Fehlerzustand reserviert */
24944
+ if(retval)*retval=INVALID_BIQ_INDEX;
24945
+ return NULL;
24946
+ }
24947
+ else if(idx>0)
24948
+ idx--;
24949
+ else
24950
+ idx++;
24951
+
25629
24952
  if(idx>0){
25630
- if(idx>lut2_cnt){ /* der Test ist nur sehr grob, aber es gibt an dieser Stelle nicht mehr Infos */
25631
- if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
25632
- return NULL;
25633
- }
25634
- if(retval)*retval=OK;
25635
- return base[sort_bic_h[idx]];
24953
+ if(idx>lut2_cnt){ /* der Test ist nur sehr grob, aber es gibt an dieser Stelle nicht mehr Infos */
24954
+ if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
24955
+ return NULL;
24956
+ }
24957
+ if(!sort_bic_h){
24958
+ ret=lut_suche_bic_h("MARKDEF1100",NULL,NULL,NULL,NULL,NULL); /* sort_bic_h initialisieren */
24959
+ if(ret<0){
24960
+ if(retval)*retval=ret;
24961
+ return NULL;
24962
+ }
24963
+ }
24964
+ if(retval)*retval=OK;
24965
+ return base[sort_bic_h[idx]];
25636
24966
  }
25637
24967
  else{
25638
24968
  idx=-idx;
@@ -25640,6 +24970,13 @@ static const char *biq_fkt_s(int idx,int*retval,char **base)
25640
24970
  if(retval)*retval=LUT2_INDEX_OUT_OF_RANGE;
25641
24971
  return NULL;
25642
24972
  }
24973
+ if(!sort_bic){
24974
+ ret=lut_suche_bic("MARKDEF1100",NULL,NULL,NULL,NULL,NULL); /* sort_bic initialisieren */
24975
+ if(ret<0){
24976
+ if(retval)*retval=ret;
24977
+ return NULL;
24978
+ }
24979
+ }
25643
24980
  if(retval)*retval=OK;
25644
24981
  return base[sort_bic[idx]];
25645
24982
  }
@@ -25705,7 +25042,7 @@ DLL_EXPORT int kto_check_set_default_bin(char *key,char *val,int size)
25705
25042
  offset_k[i]=default_key[i]-default_buffer;
25706
25043
  offset_v[i]=default_val[i]-default_buffer;
25707
25044
  }
25708
- if(!(ptr=realloc(default_buffer,default_bufsize+INITIAL_DEFAULT_BUFSIZE)))return ERROR_MALLOC;
25045
+ if(!(ptr=(char *)realloc(default_buffer,default_bufsize+INITIAL_DEFAULT_BUFSIZE)))return ERROR_MALLOC;
25709
25046
  default_bufsize+=INITIAL_DEFAULT_BUFSIZE;
25710
25047
  default_buffer=ptr;
25711
25048
  for(i=0;i<default_cnt;i++){
@@ -25749,7 +25086,7 @@ static int kto_check_clear_default(void)
25749
25086
  int i;
25750
25087
 
25751
25088
  if(!default_buffer){ /* mu� noch Speicher f�r den buffer allokieren */
25752
- if(!(default_buffer=calloc(INITIAL_DEFAULT_BUFSIZE,1))){
25089
+ if(!(default_buffer=(char *)calloc(INITIAL_DEFAULT_BUFSIZE,1))){
25753
25090
  default_buffer=NULL;
25754
25091
  return ERROR_MALLOC;
25755
25092
  }
@@ -25810,7 +25147,7 @@ DLL_EXPORT int kto_check_init_default(char *lut_name,int block_id)
25810
25147
  if(!block_id)block_id=LUT2_DEFAULT;
25811
25148
  if((ret=read_lut_block(lut_name,block_id,&blocklen,&data))!=OK)RETURN(ret);
25812
25149
  if(default_bufsize<(int)blocklen){
25813
- if(!(ptr=realloc(default_buffer,default_bufsize+INITIAL_DEFAULT_BUFSIZE)))
25150
+ if(!(ptr=(char *)realloc(default_buffer,default_bufsize+INITIAL_DEFAULT_BUFSIZE)))
25814
25151
  return ERROR_MALLOC;
25815
25152
  else
25816
25153
  default_buffer=ptr;
@@ -25925,7 +25262,7 @@ DLL_EXPORT int kto_check_write_default(char *lutfile,int block_id)
25925
25262
  const char *ptr;
25926
25263
  int i,j,ret;
25927
25264
 
25928
- if(!(buffer=calloc(default_bufsize+default_cnt*4+58,1)))return ERROR_MALLOC;
25265
+ if(!(buffer=(char *)calloc(default_bufsize+default_cnt*4+58,1)))return ERROR_MALLOC;
25929
25266
  for(ptr="Default Block",dptr=buffer;(*dptr++=*ptr++);); /* Signatur Block gesamt */
25930
25267
  UL2C(default_cnt,dptr);
25931
25268
  for(i=0;i<default_cnt;i++)UL2C(default_val_size[i],dptr);
@@ -26224,7 +25561,7 @@ static int convert_encoding(char **data,UINT4 *len)
26224
25561
 
26225
25562
  case 2: /* UTF-8 */
26226
25563
  case 52:
26227
- if(!(buffer=malloc(buflen+=8192)))return ERROR_MALLOC;
25564
+ if(!(buffer=(unsigned char *)malloc(buflen+=8192)))return ERROR_MALLOC;
26228
25565
  current_encoding=(current_encoding/10)*10+2;
26229
25566
  sptr=UCP *data;
26230
25567
  eptr1=sptr+*len;
@@ -26242,11 +25579,11 @@ static int convert_encoding(char **data,UINT4 *len)
26242
25579
  }
26243
25580
  if(sptr<eptr1){ /* es wird langsam eng; buffer vergr��ern */
26244
25581
  offset=dptr-buffer; /* die Buffer-Adresse verschiebt sich u.U.; dptr mu� korrigiert werden */
26245
- if(!(buffer=realloc(buffer,buflen+=4096)))return ERROR_MALLOC;
25582
+ if(!(buffer=(unsigned char *)realloc(buffer,buflen+=4096)))return ERROR_MALLOC;
26246
25583
  dptr=buffer+offset;
26247
25584
  }
26248
25585
  }
26249
- buffer=realloc(buffer,buflen=(dptr-buffer)+10);
25586
+ buffer=(unsigned char *)realloc(buffer,buflen=(dptr-buffer)+10);
26250
25587
  if(!keep_raw_data_flag)free(*data); /* alte Daten, werden nicht mehr ben�tigt */
26251
25588
  *data=SCP buffer;
26252
25589
  *len=buflen;
@@ -26254,7 +25591,7 @@ static int convert_encoding(char **data,UINT4 *len)
26254
25591
 
26255
25592
  case 3: /* HTML */
26256
25593
  case 53:
26257
- if(!(buffer=malloc(buflen+=16384)))return ERROR_MALLOC;
25594
+ if(!(buffer=(unsigned char *)malloc(buflen+=16384)))return ERROR_MALLOC;
26258
25595
  current_encoding=(current_encoding/10)*10+3;
26259
25596
  sptr=UCP *data;
26260
25597
  eptr1=sptr+*len;
@@ -26272,7 +25609,7 @@ static int convert_encoding(char **data,UINT4 *len)
26272
25609
  }
26273
25610
  if(sptr<eptr1){ /* es wird langsam eng; buffer vergr��ern */
26274
25611
  offset=dptr-buffer; /* die Buffer-Adresse verschiebt sich u.U.; dptr mu� korrigiert werden */
26275
- if(!(buffer=realloc(buffer,buflen+=8192)))return ERROR_MALLOC;
25612
+ if(!(buffer=(unsigned char *)realloc(buffer,buflen+=8192)))return ERROR_MALLOC;
26276
25613
  dptr=buffer+offset;
26277
25614
  }
26278
25615
  }
@@ -26284,7 +25621,7 @@ static int convert_encoding(char **data,UINT4 *len)
26284
25621
  case 4: /* DOS CP 850 */
26285
25622
  case 54:
26286
25623
  if(keep_raw_data_flag){ /* Daten kopieren, Kopie bearbeiten */
26287
- if(!(buffer=malloc(buflen)))return ERROR_MALLOC;
25624
+ if(!(buffer=(unsigned char *)malloc(buflen)))return ERROR_MALLOC;
26288
25625
  current_encoding=(current_encoding/10)*10+4;
26289
25626
  for(sptr=UCP *data,eptr1=sptr+*len,dptr=buffer;sptr<eptr1;sptr++,dptr++)switch(*sptr){
26290
25627
  case 0xe4: *dptr=0x84; break; /* � */
@@ -26649,9 +25986,11 @@ DLL_EXPORT const char *pz2str(int pz,int *ret)
26649
25986
  case 5104: return "A4e";
26650
25987
  case 6051: return "51f";
26651
25988
  case 6090: return "90f";
25989
+ case 7090: return "90g";
26652
25990
  default: return "???";
26653
25991
  }
26654
25992
  }
25993
+ #line 23975 "konto_check.lxx"
26655
25994
 
26656
25995
  /* Funktion lut_keine_iban_berechnung() +���1 */
26657
25996
  /*
@@ -26705,7 +26044,7 @@ DLL_EXPORT int lut_keine_iban_berechnung(char *iban_blacklist,char *lutfile,int
26705
26044
  * Fall zu klein. Da das Array nur zum Sortieren ben�tigt und gleich
26706
26045
  * wieder freigegeben wird, ist das egal.
26707
26046
  */
26708
- if(!(ibuffer=calloc(size/8,sizeof(int))))return ERROR_MALLOC;
26047
+ if(!(ibuffer=(int *)calloc(size/8,sizeof(int))))return ERROR_MALLOC;
26709
26048
 
26710
26049
  /* die Daten einlesen */
26711
26050
  for(cnt=0;!feof(in);){
@@ -26720,7 +26059,7 @@ DLL_EXPORT int lut_keine_iban_berechnung(char *iban_blacklist,char *lutfile,int
26720
26059
  ibuffer[cnt++]=atoi(line);
26721
26060
  }
26722
26061
  qsort(ibuffer,cnt,sizeof(int),cmp_int);
26723
- if(!(ptr=buffer=calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
26062
+ if(!(ptr=buffer=(char *)calloc(cnt+10,sizeof(int))))return ERROR_MALLOC;
26724
26063
  bufsize=(cnt+10)*sizeof(int);
26725
26064
 
26726
26065
  /* nun den Block in die LUT-Datei schreiben: zuerst die Anzahl, dann die BLZs */
@@ -26736,7 +26075,7 @@ DLL_EXPORT int lut_keine_iban_berechnung(char *iban_blacklist,char *lutfile,int
26736
26075
 
26737
26076
  /* Info-Block holen und Blockliste aktualisieren (falls noch nicht geschehen) */
26738
26077
  if(read_lut_block_int(lut,0,LUT2_INFO+set_offset,&cnt,&sptr)>0){
26739
- if(bufsize<(int)cnt+16 && !(buffer=realloc(buffer,cnt+16)))return ERROR_MALLOC; /* buffer u.U. vergr��ern */
26078
+ if(bufsize<(int)cnt+16 && !(buffer=(char *)realloc(buffer,cnt+16)))return ERROR_MALLOC; /* buffer u.U. vergr��ern */
26740
26079
  for(fertig=i=0,ptr=sptr,dptr=buffer;i<(int)cnt && !fertig;){
26741
26080
  for(dptr1=dptr;*ptr!='\n' && i<(int)cnt && !fertig;i++)*dptr++=*ptr++; /* eine Zeile holen */
26742
26081
  *dptr=0;
@@ -26763,6 +26102,29 @@ DLL_EXPORT int lut_keine_iban_berechnung(char *iban_blacklist,char *lutfile,int
26763
26102
  return retval;
26764
26103
  }
26765
26104
 
26105
+ /* Funktion pz_aenderungen_enable() +���1 */
26106
+ /* ###########################################################################
26107
+ * # Die Funktion pz_aenderungen_enable() dient dazu, den Status des Flags #
26108
+ * # pz_aenderungen_aktivieren abzufragen bzw. zu setzen. Falls die Variable #
26109
+ * # set 1 ist, werden die �nderungen aktiviert, falls sie 0 ist, werden #
26110
+ * # die �nderungen deaktiviert. Bei allen anderen Werten wird das aktuelle #
26111
+ * # Flag nicht ver�ndert, sondern nur der Status zur�ckgegeben. #
26112
+ * # #
26113
+ * # Parameter: #
26114
+ * # set: 0 oder 1: �nderungen deaktivieren/aktivieren #
26115
+ * # anderer Wert: nur Abfrage des Status #
26116
+ * # R�ckgabe: aktueller Status des Flags # #
26117
+ * # #
26118
+ * # Copyright (C) 2014 Michael Plugge <m.plugge@hs-mannheim.de> #
26119
+ * ###########################################################################
26120
+ */
26121
+
26122
+ DLL_EXPORT int pz_aenderungen_enable(int set)
26123
+ {
26124
+ if(set==0 || set==1)pz_aenderungen_aktivieren=set;
26125
+ return pz_aenderungen_aktivieren;
26126
+ }
26127
+
26766
26128
  #if DEBUG>0
26767
26129
  /* Funktion kto_check_test_vars() +���1 */
26768
26130
  /* ###########################################################################
@@ -26965,4 +26327,5 @@ XV kc_free(char *ptr)EXCLUDED_V
26965
26327
  DLL_EXPORT void *kc_alloc(int size,int *retval)EXCLUDED_VP
26966
26328
  XI set_default_compression(int mode)EXCLUDED
26967
26329
  XI lut_keine_iban_berechnung(char *iban_blacklist,char *lutfile,int set)EXCLUDED
26330
+ XI pz_aenderungen_enable(int set)EXCLUDED
26968
26331
  #endif