konto_check 5.3.0 → 5.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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