konto_check 5.10.0 → 6.00.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 053b8ec3c8f061abf51dda3b7a61869f45240975
4
- data.tar.gz: c07b4ce5d8d9da73d093069c657fcebdd7f8b799
3
+ metadata.gz: c83fbdc6f470077ee385b346063ab10f155c75e8
4
+ data.tar.gz: 0144f5cd1d75acfcc684fc50c9c116e42dc45d5f
5
5
  SHA512:
6
- metadata.gz: 6b50d6fa5e45d49234decd9cbe6cd6d3773d7d7f9991450519ab5e7a5c9f4df0e0effdf90882ba67527d9233d14a60d00d94a6f33f792a20c62dfc57381bbcc8
7
- data.tar.gz: 494a525b1b2416f5b978d77c555371c5578dc5ae7716869b2ce559db65bdd8e77f79b97e040cab32a2a433edaa5f3d0bd64be4379d9c241114cf0deac1167e68
6
+ metadata.gz: 6db21c82515a82580558d6f445e99fd50f018d21d3d99a459f7e39a8aada42eaaf15169c7d6c6573a049bc9da9a34525e69647b5663e5d138e064ba73435f285
7
+ data.tar.gz: 56fa5f762eede0fcb4e8b52a4268bca4c8be618b3feaec3057c87a53b84fe4768165d733299db1f1588744402fb40582b1411304c417d7f9729956ae27039800
@@ -49,11 +49,11 @@
49
49
 
50
50
  /* Definitionen und Includes */
51
51
  #ifndef VERSION
52
- #define VERSION "5.10 (final)"
53
- #define VERSION_MAJOR 5
54
- #define VERSION_MINOR 10
52
+ #define VERSION "6.00 (final)"
53
+ #define VERSION_MAJOR 6
54
+ #define VERSION_MINOR 00
55
55
  #endif
56
- #define VERSION_DATE "2017-03-10"
56
+ #define VERSION_DATE "2017-06-13"
57
57
 
58
58
  #ifndef INCLUDE_KONTO_CHECK_DE
59
59
  #define INCLUDE_KONTO_CHECK_DE 1
@@ -104,8 +104,8 @@ static lzo_align_t __LZO_MMODEL wrkmem[LZO1X_1_MEM_COMPRESS];
104
104
  #define KONTO_CHECK_VARS
105
105
  #include "konto_check.h"
106
106
 
107
- /* Flag, um die �nderungen zum M�rz 2017 zu aktivieren */
108
- static int pz_aenderungen_aktivieren_2017_03;
107
+ /* Flag, um die �nderungen zum Juni 2017 zu aktivieren */
108
+ static int pz_aenderungen_aktivieren_2017_06;
109
109
 
110
110
  /* falls die Variable verbose_debug gesetzt wird, werden bei einigen
111
111
  * Funktionen mittels perror() zus�tzliche Debuginfos ausgegeben. Die
@@ -5084,6 +5084,7 @@ static int iban_init(void)
5084
5084
  }
5085
5085
 
5086
5086
  /* Funktion iban_regel_cvt() +���2 */
5087
+ /* Prolog, Initialisierung +���3 */
5087
5088
  /* ###########################################################################
5088
5089
  * # iban_regel_cvt(): IBAN-Regel auf BLZ/Kto-Kombination anwenden. #
5089
5090
  * # #
@@ -5100,7 +5101,7 @@ static int iban_init(void)
5100
5101
  * ###########################################################################
5101
5102
  */
5102
5103
 
5103
- #line 5663 "konto_check.lxx"
5104
+ #line 5664 "konto_check.lxx"
5104
5105
  static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_version,RETVAL *retvals)
5105
5106
  {
5106
5107
  char tmp_buffer[16];
@@ -5136,17 +5137,20 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5136
5137
  */
5137
5138
  switch(regel){
5138
5139
 
5139
- /* Standardregel zur IBAN-Berechnung: Default, falls nichts anderes angegeben */
5140
+ /* Iban-Regel 0000.00 +���3 */
5141
+ /* Standardregel zur IBAN-Berechnung: Default, falls nichts anderes angegeben */
5140
5142
  case 0:
5141
5143
  if(ret==OK_UNTERKONTO_ATTACHED)return ret;
5142
5144
  RETURN_OK;
5143
5145
 
5144
5146
 
5147
+ /* Iban-Regel 0001.00 +���3 */
5145
5148
  /* Standardregel: keine Berechnung */
5146
5149
  case 1:
5147
5150
  return NO_IBAN_CALCULATION;
5148
5151
 
5149
5152
 
5153
+ /* Iban-Regel 0002.00 +���3 */
5150
5154
  /* Augsburger Aktienbank */
5151
5155
  case 2:
5152
5156
 
@@ -5155,6 +5159,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5155
5159
  RETURN_OK;
5156
5160
 
5157
5161
 
5162
+ /* Iban-Regel 0003.00 +���3 */
5158
5163
  /* Aareal Bank AG */
5159
5164
  case 3:
5160
5165
 
@@ -5163,6 +5168,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5163
5168
  RETURN_OK;
5164
5169
 
5165
5170
 
5171
+ /* Iban-Regel 0004.00 +���3 */
5166
5172
  /* Landesbank Berlin / Berliner Sparkasse */
5167
5173
  case 4:
5168
5174
 
@@ -5183,6 +5189,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5183
5189
  RETURN_OK;
5184
5190
 
5185
5191
 
5192
+ /* Iban-Regel 0005.03 +���3 */
5186
5193
  /* Commerzbank AG */
5187
5194
  case 5: /* (ziemlig lang) */
5188
5195
 
@@ -5398,7 +5405,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5398
5405
 
5399
5406
  case 30040000:
5400
5407
  if(!k1)switch(k2){
5401
- case 36: strcpy(kto,"0261103600"); RETURN_OK_KTO_REPLACED;
5408
+ case 36: strcpy(kto,"0261103600"); RETURN_OK_KTO_REPLACED;
5402
5409
  case 222: strcpy(kto,"0348010002"); RETURN_OK_KTO_REPLACED;
5403
5410
  case 999: strcpy(kto,"0123799900"); RETURN_OK_KTO_REPLACED;
5404
5411
  }
@@ -5664,6 +5671,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5664
5671
  RETURN_OK; /* Zum Schlu� noch ein Lumpensammler f�r alles, das �brig geblieben ist */
5665
5672
 
5666
5673
 
5674
+ /* Iban-Regel 0006.00 +���3 */
5667
5675
  /* Stadtsparkasse M�nchen */
5668
5676
  case 6:
5669
5677
 
@@ -5678,6 +5686,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5678
5686
  RETURN_OK;
5679
5687
 
5680
5688
 
5689
+ /* Iban-Regel 0007.00 +���3 */
5681
5690
  /* Sparkasse K�ln-Bonn */
5682
5691
  case 7:
5683
5692
 
@@ -5729,6 +5738,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5729
5738
  RETURN_OK;
5730
5739
 
5731
5740
 
5741
+ /* Iban-Regel 0008.00 +���3 */
5732
5742
  /* BHF-Bank AG */
5733
5743
  case 8:
5734
5744
  if(b==50020200)return OK;
@@ -5737,6 +5747,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5737
5747
  return OK_BLZ_REPLACED;
5738
5748
 
5739
5749
 
5750
+ /* Iban-Regel 0009.00 +���3 */
5740
5751
  /* Sparkasse Schopfheim-Zell */
5741
5752
  case 9:
5742
5753
  if(b==68351557)return OK;
@@ -5757,6 +5768,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5757
5768
  return OK_BLZ_REPLACED;
5758
5769
 
5759
5770
 
5771
+ /* Iban-Regel 0010.01 +���3 */
5760
5772
  /* Frankfurter Sparkasse */
5761
5773
  case 10:
5762
5774
 
@@ -5790,6 +5802,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5790
5802
  return ret;
5791
5803
 
5792
5804
 
5805
+ /* Iban-Regel 0011.00 +���3 */
5793
5806
  /* Sparkasse Krefeld */
5794
5807
  case 11:
5795
5808
 
@@ -5807,6 +5820,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5807
5820
  RETURN_OK;
5808
5821
 
5809
5822
 
5823
+ /* Iban-Regel 0012.01 +���3 */
5810
5824
  /* Landesbank Hessen-Th�ringen */
5811
5825
  case 12:
5812
5826
 
@@ -5817,6 +5831,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5817
5831
  return OK_BLZ_REPLACED;
5818
5832
 
5819
5833
 
5834
+ /* Iban-Regel 0013.01 +���3 */
5820
5835
  /* Landesbank Hessen-Th�ringen */
5821
5836
  case 13:
5822
5837
 
@@ -5827,6 +5842,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5827
5842
  return OK_BLZ_REPLACED;
5828
5843
 
5829
5844
 
5845
+ /* Iban-Regel 0014.00 +���3 */
5830
5846
  /* Deutsche Apotheker- u. �rztebank */
5831
5847
  case 14:
5832
5848
 
@@ -5840,6 +5856,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5840
5856
  return OK_BLZ_REPLACED;
5841
5857
 
5842
5858
 
5859
+ /* Iban-Regel 0015.01 +���3 */
5843
5860
  /* Pax-Bank eG */
5844
5861
  case 15:
5845
5862
 
@@ -5865,6 +5882,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5865
5882
  RETURN_OK;
5866
5883
 
5867
5884
 
5885
+ /* Iban-Regel 0016.00 +���3 */
5868
5886
  /* K�lner Bank eG */
5869
5887
  case 16:
5870
5888
 
@@ -5876,6 +5894,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5876
5894
  RETURN_OK;
5877
5895
 
5878
5896
 
5897
+ /* Iban-Regel 0017.00 +���3 */
5879
5898
  /* Volksbank Bonn Rhein-Sieg */
5880
5899
  case 17:
5881
5900
 
@@ -5896,6 +5915,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5896
5915
  RETURN_OK;
5897
5916
 
5898
5917
 
5918
+ /* Iban-Regel 0018.00 +���3 */
5899
5919
  /* Aachener Bank eG */
5900
5920
  case 18:
5901
5921
 
@@ -5914,6 +5934,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5914
5934
  RETURN_OK;
5915
5935
 
5916
5936
 
5937
+ /* Iban-Regel 0019.00 +���3 */
5917
5938
  /* Bethmann Bank */
5918
5939
  case 19:
5919
5940
 
@@ -5923,8 +5944,9 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
5923
5944
  return OK_BLZ_REPLACED;
5924
5945
 
5925
5946
 
5947
+ /* Iban-Regel 0020.01 +���3 */
5926
5948
  /* Deutsche Bank AG
5927
- * Neuimplementierung nach der Regel-Version 1.6 (oder 1.5?) der Deutschen Bank vom 30.8.2013
5949
+ * Neuimplementierung nach der Regel-Version 1.5 der Deutschen Bank vom 30.8.2013
5928
5950
  */
5929
5951
  case 20:
5930
5952
 
@@ -6027,6 +6049,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6027
6049
  /* alle restlichen Konten (8- bis 9-stellig) nur mit Methode 63a pr�fen */
6028
6050
  return kto_check_pz("63a",kto,NULL);
6029
6051
 
6052
+ /* Iban-Regel 0021.01 +���3 */
6030
6053
  /* National-Bank AG */
6031
6054
  case 21:
6032
6055
  /* 1-5 stellige oder 8 stellige Konten sind ung�ltig */
@@ -6037,6 +6060,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6037
6060
  return OK_BLZ_REPLACED;
6038
6061
 
6039
6062
 
6063
+ /* Iban-Regel 0022.00 +���3 */
6040
6064
  /* GLS Gemeinschaftsbank eG */
6041
6065
  case 22:
6042
6066
 
@@ -6048,6 +6072,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6048
6072
  RETURN_OK;
6049
6073
 
6050
6074
 
6075
+ /* Iban-Regel 0023.00 +���3 */
6051
6076
  /* Volksbank Osnabr�ck eG */
6052
6077
  case 23:
6053
6078
 
@@ -6059,6 +6084,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6059
6084
  RETURN_OK;
6060
6085
 
6061
6086
 
6087
+ /* Iban-Regel 0024.00 +���3 */
6062
6088
  /* Bank im Bistum Essen eG */
6063
6089
  case 24:
6064
6090
 
@@ -6073,6 +6099,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6073
6099
  RETURN_OK;
6074
6100
 
6075
6101
 
6102
+ /* Iban-Regel 0025.00 +���3 */
6076
6103
  /* Landesbank Baden-W�rttemberg /Baden-W�rttembergische Bank */
6077
6104
  case 25:
6078
6105
 
@@ -6082,6 +6109,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6082
6109
  return OK_BLZ_REPLACED;
6083
6110
 
6084
6111
 
6112
+ /* Iban-Regel 0026.00 +���3 */
6085
6113
  /* Bank f�r Kirche und Diakonie eG */
6086
6114
  case 26:
6087
6115
 
@@ -6095,6 +6123,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6095
6123
  RETURN_OK;
6096
6124
 
6097
6125
 
6126
+ /* Iban-Regel 0027.00 +���3 */
6098
6127
  /* Volksbank Krefeld eG */
6099
6128
  case 27:
6100
6129
 
@@ -6103,6 +6132,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6103
6132
  RETURN_OK;
6104
6133
 
6105
6134
 
6135
+ /* Iban-Regel 0028.00 +���3 */
6106
6136
  /* Sparkasse Hannover */
6107
6137
  case 28:
6108
6138
  if(b==25050180)return OK;
@@ -6111,6 +6141,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6111
6141
  return OK_BLZ_REPLACED;
6112
6142
 
6113
6143
 
6144
+ /* Iban-Regel 0029.00 +���3 */
6114
6145
  /* Soci�t� G�n�rale */
6115
6146
  case 29:
6116
6147
 
@@ -6133,6 +6164,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6133
6164
  RETURN_OK;
6134
6165
 
6135
6166
 
6167
+ /* Iban-Regel 0030.00 +���3 */
6136
6168
  /* Pommersche Volksbank eG */
6137
6169
  case 30:
6138
6170
 
@@ -6308,15 +6340,16 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
6308
6340
  RETURN_OK;
6309
6341
 
6310
6342
 
6343
+ /* Iban-Regeln 0031.01 ... 0035.01 +���3 */
6311
6344
  /* UniCredit Bank AG:
6312
6345
  * Diese Bank definiert f�nf verschiedene Regeln, die teilweise
6313
6346
  * aufeinander aufbauen. Sie werden daher gemeinsam behandelt.
6314
6347
  */
6315
- case 31:
6316
- case 32:
6317
- case 33:
6318
- case 34:
6319
- case 35:
6348
+ case 31: /* Regel 0031.01 */
6349
+ case 32: /* Regel 0032.00 */
6350
+ case 33: /* Regel 0033.01 */
6351
+ case 34: /* Regel 0034.00 */
6352
+ case 35: /* Regel 0035.01 */
6320
6353
 
6321
6354
  /* Berechnungsregel 31: Ehemalige HYPO-Bank
6322
6355
  * Wird eine Bankleitzahl mit L�schkennzeichen - erkennbar an
@@ -7959,6 +7992,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
7959
7992
  return ret;
7960
7993
 
7961
7994
 
7995
+ /* Iban-Regel 0036.00 +���3 */
7962
7996
  /* HSH Nordbank AG */
7963
7997
  case 36:
7964
7998
 
@@ -8002,6 +8036,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8002
8036
  return OK_BLZ_REPLACED;
8003
8037
 
8004
8038
 
8039
+ /* Iban-Regel 0037.00 +���3 */
8005
8040
  /* The Bank of Tokyo-Mitsubishi UFJ, Ltd. */
8006
8041
  case 37:
8007
8042
  if(b==30010700)return OK;
@@ -8010,6 +8045,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8010
8045
  return OK_BLZ_REPLACED;
8011
8046
 
8012
8047
 
8048
+ /* Iban-Regel 0038.00 +���3 */
8013
8049
  /* Ostfriesische Volksbank eG */
8014
8050
  case 38:
8015
8051
 
@@ -8027,6 +8063,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8027
8063
  }
8028
8064
  RETURN_OK;
8029
8065
 
8066
+ /* Iban-Regel 0039.00 +���3 */
8030
8067
  /* Oldenburgische Landesbank AG */
8031
8068
  case 39:
8032
8069
  if(b==28020050)return OK;
@@ -8035,6 +8072,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8035
8072
  return OK_BLZ_REPLACED;
8036
8073
 
8037
8074
 
8075
+ /* Iban-Regel 0040.01 +���3 */
8038
8076
  /* Sparkasse Staufen-Breisach */
8039
8077
  case 40:
8040
8078
  if(b==68052328)return OK;
@@ -8043,6 +8081,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8043
8081
  return OK_BLZ_REPLACED;
8044
8082
 
8045
8083
 
8084
+ /* Iban-Regel 0041.00 +���3 */
8046
8085
  /* Bausparkasse Schw�bisch Hall AG */
8047
8086
  case 41:
8048
8087
 
@@ -8064,6 +8103,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8064
8103
  RETURN_OK; /* sollte wohl nicht vorkommen, aber zur Sicherheit... */
8065
8104
 
8066
8105
 
8106
+ /* Iban-Regel 0042.01 +���3 */
8067
8107
  /* Deutsche Bundesbank */
8068
8108
  case 42:
8069
8109
 
@@ -8096,6 +8136,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8096
8136
  return NO_IBAN_CALCULATION;
8097
8137
 
8098
8138
 
8139
+ /* Iban-Regel 0043.01 +���3 */
8099
8140
  /* Sparkasse Pforzheim Calw
8100
8141
  *
8101
8142
  * Die alte BLZ 60651070 verwendet die Pr�fziffermethode A9 (diese
@@ -8116,6 +8157,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8116
8157
  RETURN_OK;
8117
8158
 
8118
8159
 
8160
+ /* Iban-Regel 0044.00 +���3 */
8119
8161
  /* Sparkasse Freiburg */
8120
8162
  case 44:
8121
8163
 
@@ -8127,6 +8169,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8127
8169
  RETURN_OK;
8128
8170
 
8129
8171
 
8172
+ /* Iban-Regel 0045.01 +���3 */
8130
8173
  /* SEB AG */
8131
8174
  case 45:
8132
8175
 
@@ -8265,6 +8308,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8265
8308
  return OK;
8266
8309
 
8267
8310
 
8311
+ /* Iban-Regel 0046.00 +���3 */
8268
8312
  /* Santander Consumer Bank */
8269
8313
  case 46:
8270
8314
 
@@ -8274,6 +8318,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8274
8318
  return OK_BLZ_REPLACED;
8275
8319
 
8276
8320
 
8321
+ /* Iban-Regel 0047.00 +���3 */
8277
8322
  /* Santander Consumer Bank */
8278
8323
  case 47:
8279
8324
 
@@ -8289,6 +8334,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8289
8334
  }
8290
8335
  RETURN_OK;
8291
8336
 
8337
+ /* Iban-Regel 0048.00 +���3 */
8292
8338
  /* VON ESSEN GmbH & Co. KG Bankgesellschaft */
8293
8339
  case 48:
8294
8340
  if(b==36010200)return OK;
@@ -8296,6 +8342,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8296
8342
  *bicp="VONEDE33XXX";
8297
8343
  return OK_BLZ_REPLACED;
8298
8344
 
8345
+ /* Iban-Regel 0049.00 +���3 */
8299
8346
  /* WGZ Bank */
8300
8347
  case 49:
8301
8348
 
@@ -8323,6 +8370,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8323
8370
  memcpy(kto+6,tmp_buffer,4);
8324
8371
  return OK_KTO_REPLACED_NO_PZ;
8325
8372
 
8373
+ /* Iban-Regel 0050.00 +���3 */
8326
8374
  /* Sparkasse LeerWittmund */
8327
8375
  case 50:
8328
8376
  if(b==28252760){
@@ -8333,6 +8381,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8333
8381
  RETURN_OK;
8334
8382
 
8335
8383
 
8384
+ /* Iban-Regel 0051.00 +���3 */
8336
8385
  /* Landesbank Baden-W�rttemberg / Baden-W�rttembergische Bank */
8337
8386
  case 51:
8338
8387
 
@@ -8349,6 +8398,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8349
8398
  }
8350
8399
  RETURN_OK;
8351
8400
 
8401
+ /* Iban-Regel 0052.00 +���3 */
8352
8402
  /* Landesbank Baden-W�rttemberg / Baden-W�rttembergische Bank */
8353
8403
  case 52:
8354
8404
 
@@ -8374,6 +8424,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8374
8424
  if(b==69220020 && k1==64 && k2==2145400) {strcpy(blz,"60050101"); strcpy(kto,"7485500252"); *bicp="SOLADEST600"; return OK_BLZ_KTO_REPLACED;}
8375
8425
  return NO_IBAN_CALCULATION;
8376
8426
 
8427
+ /* Iban-Regel 0053.00 +���3 */
8377
8428
  /* Landesbank Baden-W�rttemberg / Baden-W�rttembergische Bank */
8378
8429
  case 53:
8379
8430
 
@@ -8472,8 +8523,11 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8472
8523
  }
8473
8524
  RETURN_OK;
8474
8525
 
8526
+ /* Iban-Regel 0054.01 +���3 */
8475
8527
  /* Evangelische Darlehnsgenossenschaft eG */
8476
8528
  case 54:
8529
+ /* ab Juni 2017 entf�llt die Regel 54, bleibt jedoch frei */
8530
+ if(pz_aenderungen_aktivieren_2017_06)return OK;
8477
8531
 
8478
8532
  /* Spendenkonten */
8479
8533
  if(k1==0)switch(k2){
@@ -8638,6 +8692,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8638
8692
  }
8639
8693
  RETURN_OK;
8640
8694
 
8695
+ /* Iban-Regel 0055.00 +���3 */
8641
8696
  /* BHW Kreditservice GmbH */
8642
8697
  case 55:
8643
8698
  if(b!=25410200){
@@ -8647,6 +8702,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8647
8702
  }
8648
8703
  RETURN_OK;
8649
8704
 
8705
+ /* Iban-Regel 0056.00 +���3 */
8650
8706
  /* SEB AG */
8651
8707
  case 56:
8652
8708
  /* Spendenkonten: nur mit festgelegten IBANs -> Konto und evl. BLZ/BIC anpassen */
@@ -8769,6 +8825,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8769
8825
  }
8770
8826
  RETURN_OK;
8771
8827
 
8828
+ /* Iban-Regel 0057.00 +���3 */
8772
8829
  /* Badenia Bausparkasse */
8773
8830
  case 57:
8774
8831
  if(b!=66010200){
@@ -8785,7 +8842,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
8785
8842
  }
8786
8843
  }
8787
8844
 
8788
- #line 9348 "konto_check.lxx"
8845
+ #line 9405 "konto_check.lxx"
8789
8846
  /* Funktion lut_multiple() +���2 */
8790
8847
  /* ###########################################################################
8791
8848
  * # lut_multiple(): Universalfunktion, um zu einer gegebenen Bankleitzahl #
@@ -9053,7 +9110,7 @@ DLL_EXPORT int lut_cleanup(void)
9053
9110
  FREE(sort_pz_f);
9054
9111
  FREE(sort_plz);
9055
9112
  FREE(sort_iban_regel);
9056
- #line 9610 "konto_check.lxx"
9113
+ #line 9667 "konto_check.lxx"
9057
9114
  if(name_raw && name_data!=name_raw)
9058
9115
  FREE(name_raw);
9059
9116
  else
@@ -9122,7 +9179,7 @@ DLL_EXPORT int lut_cleanup(void)
9122
9179
  lut_cleanup(); /* neuer Versuch, aufzur�umen */
9123
9180
  RETURN(INIT_FATAL_ERROR);
9124
9181
  }
9125
- #line 9684 "konto_check.lxx"
9182
+ #line 9741 "konto_check.lxx"
9126
9183
  init_status&=1;
9127
9184
  init_in_progress=0;
9128
9185
  return OK;
@@ -9295,8 +9352,8 @@ static void init_atoi_table(void)
9295
9352
  int i,ziffer;
9296
9353
  unsigned long l;
9297
9354
 
9298
- /* �nderungen zum 06.03.2017 aktivieren */
9299
- if(time(NULL)>1488754800 ||0)pz_aenderungen_aktivieren_2017_03=1;
9355
+ /* �nderungen zum 05.06.2017 aktivieren */
9356
+ if(time(NULL)>1496613600 ||0)pz_aenderungen_aktivieren_2017_06=1;
9300
9357
 
9301
9358
  /* ung�ltige Ziffern; Blanks und Tabs werden ebenfalls als ung�ltig
9302
9359
  * angesehen(!), da die Stellenzuordnung sonst nicht mehr stimmt. Ausnahme:
@@ -9561,7 +9618,7 @@ static void init_atoi_table(void)
9561
9618
  lut_block_name2[126]="2. IBAN Regel idx";
9562
9619
  lut_block_name2[127]="2. BIC Hauptst.idx";
9563
9620
  lut_blocklen_max=453;
9564
- #line 9924 "konto_check.lxx"
9621
+ #line 9981 "konto_check.lxx"
9565
9622
  init_status|=1;
9566
9623
  }
9567
9624
 
@@ -9621,7 +9678,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
9621
9678
 
9622
9679
  switch(pz_methode){
9623
9680
 
9624
- #line 9987 "konto_check.lxx"
9681
+ #line 10044 "konto_check.lxx"
9625
9682
  /* Berechnungsmethoden 00 bis 09 +���3
9626
9683
  Berechnung nach der Methode 00 +���4 */
9627
9684
  /*
@@ -11956,7 +12013,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
11956
12013
  * ######################################################################
11957
12014
  */
11958
12015
 
11959
- #line 11998 "konto_check.lxx"
12016
+ #line 12055 "konto_check.lxx"
11960
12017
  case 51:
11961
12018
  if(*(kto+2)=='9'){ /* Ausnahme */
11962
12019
 
@@ -12218,8 +12275,8 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
12218
12275
  else
12219
12276
  return FALSE;
12220
12277
 
12221
- #line 12212 "konto_check.lxx"
12222
- #line 12214 "konto_check.lxx"
12278
+ #line 12269 "konto_check.lxx"
12279
+ #line 12271 "konto_check.lxx"
12223
12280
  /* Berechnung nach der Methode 53 +���4 */
12224
12281
  /*
12225
12282
  * ######################################################################
@@ -12518,7 +12575,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
12518
12575
  * # bewerten. #
12519
12576
  * ######################################################################
12520
12577
  */
12521
- #line 12483 "konto_check.lxx"
12578
+ #line 12540 "konto_check.lxx"
12522
12579
  case 57:
12523
12580
  #if DEBUG>0
12524
12581
  if(retvals){
@@ -13164,7 +13221,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
13164
13221
  * # Pr�fzifferberechnung) #
13165
13222
  * ######################################################################
13166
13223
  */
13167
- #line 13063 "konto_check.lxx"
13224
+ #line 13120 "konto_check.lxx"
13168
13225
  case 66:
13169
13226
  #if DEBUG>0
13170
13227
  case 2066:
@@ -17351,7 +17408,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
17351
17408
  /* Berechnung nach der Methode B1 +���4 */
17352
17409
  /*
17353
17410
  * ######################################################################
17354
- * # Berechnung nach der Methode B1 #
17411
+ * # Berechnung nach der Methode B1 (ge�ndert zum 5.6.17) #
17355
17412
  * ######################################################################
17356
17413
  * # Die Kontonummer ist einschlie�lich der Pr�fziffer 10-stellig, #
17357
17414
  * # ggf. ist die Kontonummer f�r die Pr�fzifferberechnung durch #
@@ -17365,7 +17422,13 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
17365
17422
  * # #
17366
17423
  * # Variante 2: #
17367
17424
  * # Modulus 10, Gewichtung 3, 7, 1, 3, 7, 1, 3, 7, 1 #
17368
- * # Gewichtung und Berechnung erfolgen nach der Methode 01. #
17425
+ * # Gewichtung und Berechnung erfolgen nach der Methode 01. F�hrt die #
17426
+ * # Berechnung nach Variante 2 zu einem Pr�fzifferfehler, so ist nach #
17427
+ * # Variante 3 zu pr�fen. #
17428
+ * # #
17429
+ * # Variante 3: #
17430
+ * # Modulus 10, Gewichtung 2, 1, 2, 1, 2, 1, 2, 1, 2 #
17431
+ * # Gewichtung und Berechnung erfolgen nach der Methode 00. #
17369
17432
  * ######################################################################
17370
17433
  */
17371
17434
 
@@ -17413,6 +17476,36 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
17413
17476
 
17414
17477
  MOD_10_160; /* pz%=10 */
17415
17478
  if(pz)pz=10-pz;
17479
+ CHECK_PZX10;
17480
+
17481
+ /* Variante 3: Berechnung nach Methode 00 */
17482
+ #if DEBUG>0
17483
+ case 3111:
17484
+ if(retvals){
17485
+ retvals->methode="B1c";
17486
+ retvals->pz_methode=3111;
17487
+ }
17488
+ #endif
17489
+ #ifdef __ALPHA
17490
+ pz = ((kto[0]<'5') ? (kto[0]-'0')*2 : (kto[0]-'0')*2-9)
17491
+ + (kto[1]-'0')
17492
+ + ((kto[2]<'5') ? (kto[2]-'0')*2 : (kto[2]-'0')*2-9)
17493
+ + (kto[3]-'0')
17494
+ + ((kto[4]<'5') ? (kto[4]-'0')*2 : (kto[4]-'0')*2-9)
17495
+ + (kto[5]-'0')
17496
+ + ((kto[6]<'5') ? (kto[6]-'0')*2 : (kto[6]-'0')*2-9)
17497
+ + (kto[7]-'0')
17498
+ + ((kto[8]<'5') ? (kto[8]-'0')*2 : (kto[8]-'0')*2-9);
17499
+ #else
17500
+ pz=(kto[1]-'0')+(kto[3]-'0')+(kto[5]-'0')+(kto[7]-'0');
17501
+ if(kto[0]<'5')pz+=(kto[0]-'0')*2; else pz+=(kto[0]-'0')*2-9;
17502
+ if(kto[2]<'5')pz+=(kto[2]-'0')*2; else pz+=(kto[2]-'0')*2-9;
17503
+ if(kto[4]<'5')pz+=(kto[4]-'0')*2; else pz+=(kto[4]-'0')*2-9;
17504
+ if(kto[6]<'5')pz+=(kto[6]-'0')*2; else pz+=(kto[6]-'0')*2-9;
17505
+ if(kto[8]<'5')pz+=(kto[8]-'0')*2; else pz+=(kto[8]-'0')*2-9;
17506
+ #endif
17507
+ MOD_10_80; /* pz%=10 */
17508
+ if(pz)pz=10-pz;
17416
17509
  CHECK_PZ10;
17417
17510
 
17418
17511
  /* Berechnung nach der Methode B2 +���4 */
@@ -17748,7 +17841,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
17748
17841
  * # Modulus 11, Gewichtung 2,3,4,5,6,7,8,9,3 #
17749
17842
  * # Kontonummern, die an der 1. Stelle der 10-stelligen Kontonummer #
17750
17843
  * # den Wert 1-9 oder an den Stellen 1-5 die Werte 02691-02699 #
17751
- * # beinhalten, sind nach der Methode 20 zu pr�fen. Alle anderen # #
17844
+ * # beinhalten, sind nach der Methode 20 zu pr�fen. Alle anderen #
17752
17845
  * # Kontonummern sind nach der Variante 2 zu pr�fen. #
17753
17846
  * # #
17754
17847
  * # Variante 2: #
@@ -20351,7 +20444,6 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
20351
20444
  retvals->pz_methode=143;
20352
20445
  }
20353
20446
  #endif
20354
- if(!pz_aenderungen_aktivieren_2017_03)return NOT_DEFINED;
20355
20447
 
20356
20448
  /* Variante 1: Berechnung nach der Methode 00 */
20357
20449
  #if DEBUG>0
@@ -20410,6 +20502,91 @@ if(!pz_aenderungen_aktivieren_2017_03)return NOT_DEFINED;
20410
20502
  if(pz)pz=10-pz;
20411
20503
  CHECK_PZ10;
20412
20504
 
20505
+ /* Berechnung nach der Methode E4 +���4 */
20506
+ /*
20507
+ * ######################################################################
20508
+ * # Berechnung nach der Methode E4 #
20509
+ * ######################################################################
20510
+ * # Die Kontonummer ist einschlie�lich der Pr�fziffer 10-stellig, #
20511
+ * # ggf. ist die Kontonummer f�r die Pr�fzifferberechnung durch #
20512
+ * # linksb�ndige Auff�llung mit Nullen 10-stellig darzustellen. #
20513
+ * # Die 10. Stelle der Kontonummer ist die Pr�fziffer. #
20514
+ * # #
20515
+ * # Variante 1: #
20516
+ * # Modulus 11, Gewichtung 2, 3, 4, 5, 6, 7, 8, 9, 2 #
20517
+ * # Die Berechnung erfolgt nach der Methode 02. #
20518
+ * # #
20519
+ * # F�hrt die Berechnung nach Variante 1 zu einem #
20520
+ * # Pr�fzifferfehler, so ist nach Variante 2 zu pr�fen. #
20521
+ * # #
20522
+ * # Variante 2: #
20523
+ * # Modulus 10, Gewichtung 2, 1, 2, 1, 2, 1, 2, 1, 2 #
20524
+ * # Die Berechnung erfolgt nach der Methode 00. #
20525
+ * ######################################################################
20526
+ */
20527
+
20528
+ case 144:
20529
+ #if DEBUG>0
20530
+ if(retvals){
20531
+ retvals->methode="E4";
20532
+ retvals->pz_methode=144;
20533
+ }
20534
+ #endif
20535
+ if(!pz_aenderungen_aktivieren_2017_06)return NOT_DEFINED;
20536
+
20537
+ /* Variante 1: Berechnung nach der Methode 02 */
20538
+ #if DEBUG>0
20539
+ case 1144:
20540
+ if(retvals){
20541
+ retvals->methode="E4a";
20542
+ retvals->pz_methode=1144;
20543
+ }
20544
+ #endif
20545
+ pz = (kto[0]-'0') * 2
20546
+ + (kto[1]-'0') * 9
20547
+ + (kto[2]-'0') * 8
20548
+ + (kto[3]-'0') * 7
20549
+ + (kto[4]-'0') * 6
20550
+ + (kto[5]-'0') * 5
20551
+ + (kto[6]-'0') * 4
20552
+ + (kto[7]-'0') * 3
20553
+ + (kto[8]-'0') * 2;
20554
+
20555
+ MOD_11_352; /* pz%=11 */
20556
+ if(pz)pz=11-pz;
20557
+ INVALID_PZ10;
20558
+ CHECK_PZX10;
20559
+
20560
+ /* Variante 2: Berechnung nach der Methode 00 */
20561
+ #if DEBUG>0
20562
+ case 2144:
20563
+ if(retvals){
20564
+ retvals->methode="E4b";
20565
+ retvals->pz_methode=2144;
20566
+ }
20567
+ #endif
20568
+ #ifdef __ALPHA
20569
+ pz = ((kto[0]<'5') ? (kto[0]-'0')*2 : (kto[0]-'0')*2-9)
20570
+ + (kto[1]-'0')
20571
+ + ((kto[2]<'5') ? (kto[2]-'0')*2 : (kto[2]-'0')*2-9)
20572
+ + (kto[3]-'0')
20573
+ + ((kto[4]<'5') ? (kto[4]-'0')*2 : (kto[4]-'0')*2-9)
20574
+ + (kto[5]-'0')
20575
+ + ((kto[6]<'5') ? (kto[6]-'0')*2 : (kto[6]-'0')*2-9)
20576
+ + (kto[7]-'0')
20577
+ + ((kto[8]<'5') ? (kto[8]-'0')*2 : (kto[8]-'0')*2-9);
20578
+ #else
20579
+ pz=(kto[1]-'0')+(kto[3]-'0')+(kto[5]-'0')+(kto[7]-'0');
20580
+ if(kto[0]<'5')pz+=(kto[0]-'0')*2; else pz+=(kto[0]-'0')*2-9;
20581
+ if(kto[2]<'5')pz+=(kto[2]-'0')*2; else pz+=(kto[2]-'0')*2-9;
20582
+ if(kto[4]<'5')pz+=(kto[4]-'0')*2; else pz+=(kto[4]-'0')*2-9;
20583
+ if(kto[6]<'5')pz+=(kto[6]-'0')*2; else pz+=(kto[6]-'0')*2-9;
20584
+ if(kto[8]<'5')pz+=(kto[8]-'0')*2; else pz+=(kto[8]-'0')*2-9;
20585
+ #endif
20586
+ MOD_10_80; /* pz%=10 */
20587
+ if(pz)pz=10-pz;
20588
+ CHECK_PZ10;
20589
+
20413
20590
  /* nicht abgedeckte F�lle +���3 */
20414
20591
  /*
20415
20592
  * ######################################################################
@@ -20427,7 +20604,7 @@ if(!pz_aenderungen_aktivieren_2017_03)return NOT_DEFINED;
20427
20604
  return NOT_IMPLEMENTED;
20428
20605
  }
20429
20606
  }
20430
- #line 19159 "konto_check.lxx"
20607
+ #line 19312 "konto_check.lxx"
20431
20608
 
20432
20609
  /*
20433
20610
  * ######################################################################
@@ -20525,7 +20702,7 @@ DLL_EXPORT int kto_check_blz(char *blz,char *kto)
20525
20702
  #if DEBUG>0 /* es werden einige Funktionen benutzt, die nur in der Debug-Variante enthalten sind */
20526
20703
  DLL_EXPORT int kto_check_regel_dbg(char *blz,char *kto,char *blz2,char *kto2,const char **bic,int *regel,RETVAL *retvals)
20527
20704
  {
20528
- #line 19257 "konto_check.lxx"
20705
+ #line 19410 "konto_check.lxx"
20529
20706
  char *blz_o,buffer[32],kto_o[16],*blz_n,*kto_n,*ptr,*dptr;
20530
20707
  const char *bicp;
20531
20708
  int ret,ret_regel,r;
@@ -20573,7 +20750,7 @@ DLL_EXPORT int kto_check_regel_dbg(char *blz,char *kto,char *blz2,char *kto2,con
20573
20750
  }
20574
20751
  else /* BLZ und Kto gleich */
20575
20752
  return ret;
20576
- #line 19305 "konto_check.lxx"
20753
+ #line 19458 "konto_check.lxx"
20577
20754
  }
20578
20755
 
20579
20756
  #else /* !DEBUG */
@@ -20723,7 +20900,7 @@ DLL_EXPORT int kto_check_blz_dbg(char *blz,char *kto,RETVAL *retvals)
20723
20900
  * # Copyright (C) 2007 Michael Plugge <m.plugge@hs-mannheim.de> #
20724
20901
  * ###########################################################################
20725
20902
  */
20726
- #line 19455 "konto_check.lxx"
20903
+ #line 19608 "konto_check.lxx"
20727
20904
  DLL_EXPORT int kto_check_pz_dbg(char *pz,char *kto,char *blz,RETVAL *retvals)
20728
20905
  {
20729
20906
  int untermethode,pz_methode;
@@ -20959,7 +21136,7 @@ DLL_EXPORT int get_lut_info2_b(char *lutname,int *version,char **prolog_p,char *
20959
21136
  }
20960
21137
  else
20961
21138
  **user_info_p=0;
20962
- #line 19676 "konto_check.lxx"
21139
+ #line 19829 "konto_check.lxx"
20963
21140
  FREE(prolog);
20964
21141
  return OK;
20965
21142
  }
@@ -21094,24 +21271,20 @@ DLL_EXPORT const char *get_kto_check_version_x(int mode)
21094
21271
  case 3:
21095
21272
  return __DATE__ ", " __TIME__; /* Compilierdatum und -zeit */
21096
21273
  case 4: /* Datum der Pr�fziffermethode */
21097
- #if 1
21098
- if(pz_aenderungen_aktivieren_2017_03)
21099
- return "06.03.2017";
21274
+ if(pz_aenderungen_aktivieren_2017_06)
21275
+ return "05.06.2017";
21100
21276
  else
21101
- return "05.12.2016 (Aenderungen vom 06.03.2017 enthalten aber noch nicht aktiviert)";
21102
- #else
21103
- return "06.03.2017";
21104
- #endif
21277
+ return "06.03.2017 (Aenderungen vom 05.06.2017 enthalten aber noch nicht aktiviert)";
21105
21278
  case 5:
21106
- return "05.12.2016";
21279
+ return "05.06.2017";
21107
21280
  case 6:
21108
- return "3. M�rz 2017"; /* Klartext-Datum der Bibliotheksversion */
21281
+ return "13. Juni 2017"; /* Klartext-Datum der Bibliotheksversion */
21109
21282
  case 7:
21110
21283
  return "final"; /* Versions-Typ der Bibliotheksversion (development, beta, final) */
21111
21284
  case 8:
21112
- return "5"; /* Hauptversionszahl */
21285
+ return "6"; /* Hauptversionszahl */
21113
21286
  case 9:
21114
- return "10"; /* Unterversionszahl */
21287
+ return "00"; /* Unterversionszahl */
21115
21288
  }
21116
21289
  }
21117
21290
 
@@ -21257,7 +21430,7 @@ DLL_EXPORT int dump_lutfile(char *outputname,UINT4 *required)
21257
21430
  default:
21258
21431
  break;
21259
21432
  }
21260
- #line 19913 "konto_check.lxx"
21433
+ #line 20062 "konto_check.lxx"
21261
21434
  fputc('\n',out);
21262
21435
  while(--i)fputc('=',out);
21263
21436
  fputc('\n',out);
@@ -21582,7 +21755,7 @@ DLL_EXPORT const char *iban2bic_id(char *iban,int *retval,int *blz,int *kto)
21582
21755
  return iban2bic(iban,retval,b,k);
21583
21756
  }
21584
21757
 
21585
- #line 20238 "konto_check.lxx"
21758
+ #line 20387 "konto_check.lxx"
21586
21759
  /* Funktion iban_gen(), iban_bic_gen() und iban_bic_gen1 +���1 */
21587
21760
  /* ###########################################################################
21588
21761
  * # Die Funktion iban_gen generiert aus Bankleitzahl und Kontonummer eine #
@@ -22415,7 +22588,7 @@ DLL_EXPORT int ipi_check(char *zweck)
22415
22588
  * # Copyright (C) 2009,2011 Michael Plugge <m.plugge@hs-mannheim.de> #
22416
22589
  * ###########################################################################
22417
22590
  */
22418
- #line 21071 "konto_check.lxx"
22591
+ #line 21220 "konto_check.lxx"
22419
22592
 
22420
22593
  /* Funktion volltext_zeichen() +���2 */
22421
22594
  /* Diese Funktion gibt f�r Zeichen die bei der Volltextsuche g�ltig sind
@@ -23262,7 +23435,7 @@ static int qcmp_bic_h(const void *ap,const void *bp)
23262
23435
  return a-b;
23263
23436
  }
23264
23437
 
23265
- #line 21918 "konto_check.lxx"
23438
+ #line 22067 "konto_check.lxx"
23266
23439
 
23267
23440
  /* Funktion qcmp_bic() +���3 */
23268
23441
  static int qcmp_bic(const void *ap,const void *bp)
@@ -23367,7 +23540,7 @@ static int qcmp_iban_regel(const void *ap,const void *bp)
23367
23540
  else
23368
23541
  return a-b;
23369
23542
  }
23370
- #line 21933 "konto_check.lxx"
23543
+ #line 22082 "konto_check.lxx"
23371
23544
 
23372
23545
  /* Funktion init_blzf() +���2
23373
23546
  * Diese Funktion initialisiert das Array mit den Bankleitzahlen f�r alle
@@ -23435,7 +23608,7 @@ DLL_EXPORT int konto_check_idx2blz(int idx,int *zweigstelle,int *retval)
23435
23608
  }
23436
23609
 
23437
23610
  /* Funktion suche_int1() +���2 */
23438
- #line 22001 "konto_check.lxx"
23611
+ #line 22150 "konto_check.lxx"
23439
23612
  static int suche_int1(int a1,int a2,int *anzahl,int **start_idx,int **zweigstellen_base,int **blz_base,
23440
23613
  int **base_name,int **base_sort,int(*cmp)(const void *, const void *),int cnt,int such_idx)
23441
23614
  {
@@ -23486,7 +23659,7 @@ static int suche_int1(int a1,int a2,int *anzahl,int **start_idx,int **zweigstell
23486
23659
  }
23487
23660
 
23488
23661
  /* Funktion suche_int2() +���2 */
23489
- #line 22052 "konto_check.lxx"
23662
+ #line 22201 "konto_check.lxx"
23490
23663
  static int suche_int2(int a1,int a2,int *anzahl,int **start_idx,int **zweigstellen_base,int **blz_base,
23491
23664
  int **base_name,int **base_sort,int(*cmp)(const void *, const void *),int such_idx,int pz_suche)
23492
23665
  {
@@ -24101,7 +24274,7 @@ static int cmp_suche_sort(const void *ap,const void *bp)
24101
24274
  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)
24102
24275
  {
24103
24276
  int i,j,last_idx,*idx_a,*cnt_o;
24104
- #line 22668 "konto_check.lxx"
24277
+ #line 22817 "konto_check.lxx"
24105
24278
 
24106
24279
  if(idx_op)*idx_op=NULL;
24107
24280
  if(cnt_op)*cnt_op=NULL;
@@ -24183,7 +24356,7 @@ DLL_EXPORT int lut_suche_sort2(int anzahl,int *blz,int *zweigstellen,int *anzahl
24183
24356
  return OK;
24184
24357
  }
24185
24358
 
24186
- #line 22751 "konto_check.lxx"
24359
+ #line 22900 "konto_check.lxx"
24187
24360
  /* Funktion lut_suche_volltext() +���2 */
24188
24361
  DLL_EXPORT int lut_suche_volltext(char *such_wort,int *anzahl,int *base_name_idx,char ***base_name,
24189
24362
  int *zweigstellen_anzahl,int **start_idx,int **zweigstellen_base,int **blz_base)
@@ -24313,7 +24486,7 @@ DLL_EXPORT int lut_suche_blz(int such1,int such2,int *anzahl,int **start_idx,int
24313
24486
  return suche_int1(such1,such2,anzahl,start_idx,zweigstellen_base,blz_base,&blz_f,&sort_blz,qcmp_blz,cnt,0);
24314
24487
  }
24315
24488
 
24316
- #line 22901 "konto_check.lxx"
24489
+ #line 23050 "konto_check.lxx"
24317
24490
  /* Funktion lut_suche_bic() +���2 */
24318
24491
  DLL_EXPORT int lut_suche_bic(char *such_name,int *anzahl,int **start_idx,int **zweigstellen_base,
24319
24492
  char ***base_name,int **blz_base)
@@ -24404,7 +24577,7 @@ DLL_EXPORT int lut_suche_regel(int such1,int such2,int *anzahl,int **start_idx,i
24404
24577
  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);
24405
24578
  }
24406
24579
 
24407
- #line 22934 "konto_check.lxx"
24580
+ #line 23083 "konto_check.lxx"
24408
24581
 
24409
24582
  /* Funktion lut_suche_bic_h() +���2 */
24410
24583
  DLL_EXPORT int lut_suche_bic_h(char *such_name,int *anzahl,int **start_idx,int **zweigstellen_base,
@@ -24790,7 +24963,7 @@ DLL_EXPORT const char *iban_ort(char *iban,int filiale,int*retval)
24790
24963
  {
24791
24964
  return iban_fkt_s(iban,filiale,retval,lut_ort);
24792
24965
  }
24793
- #line 23023 "konto_check.lxx"
24966
+ #line 23172 "konto_check.lxx"
24794
24967
 
24795
24968
  static int bic_fkt_c(char *bic1,int mode,int filiale,int *retval,char *base,int error)
24796
24969
  {
@@ -25885,6 +26058,7 @@ DLL_EXPORT const char *pz2str(int pz,int *ret)
25885
26058
  case 141: return "E1";
25886
26059
  case 142: return "E2";
25887
26060
  case 143: return "E3";
26061
+ case 144: return "E4";
25888
26062
  case 1013: return "13a";
25889
26063
  case 1049: return "49a";
25890
26064
  case 1050: return "50a";
@@ -25951,6 +26125,7 @@ DLL_EXPORT const char *pz2str(int pz,int *ret)
25951
26125
  case 1138: return "D8a";
25952
26126
  case 1139: return "D9a";
25953
26127
  case 1143: return "E3a";
26128
+ case 1144: return "E4a";
25954
26129
  case 2013: return "13b";
25955
26130
  case 2049: return "49b";
25956
26131
  case 2050: return "50b";
@@ -26017,6 +26192,7 @@ DLL_EXPORT const char *pz2str(int pz,int *ret)
26017
26192
  case 2138: return "D8b";
26018
26193
  case 2139: return "D9b";
26019
26194
  case 2143: return "E3b";
26195
+ case 2144: return "E4b";
26020
26196
  case 3051: return "51c";
26021
26197
  case 3057: return "57c";
26022
26198
  case 3068: return "68c";
@@ -26037,6 +26213,7 @@ DLL_EXPORT const char *pz2str(int pz,int *ret)
26037
26213
  case 3096: return "96c";
26038
26214
  case 3104: return "A4c";
26039
26215
  case 3108: return "A8c";
26216
+ case 3111: return "B1c";
26040
26217
  case 3118: return "B8c";
26041
26218
  case 3125: return "C5c";
26042
26219
  case 3127: return "C7c";
@@ -26074,7 +26251,7 @@ DLL_EXPORT const char *pz2str(int pz,int *ret)
26074
26251
  default: return "???";
26075
26252
  }
26076
26253
  }
26077
- #line 23978 "konto_check.lxx"
26254
+ #line 24127 "konto_check.lxx"
26078
26255
 
26079
26256
  /* Funktion lut_keine_iban_berechnung() +���1 */
26080
26257
  /*
@@ -26189,7 +26366,7 @@ DLL_EXPORT int lut_keine_iban_berechnung(char *iban_blacklist,char *lutfile,int
26189
26366
  /* Funktion pz_aenderungen_enable() +���1 */
26190
26367
  /* ###########################################################################
26191
26368
  * # Die Funktion pz_aenderungen_enable() dient dazu, den Status des Flags #
26192
- * # pz_aenderungen_aktivieren_2017_03 abzufragen bzw. zu setzen. Falls die Variable #
26369
+ * # pz_aenderungen_aktivieren_2017_06 abzufragen bzw. zu setzen. Falls die Variable #
26193
26370
  * # set 1 ist, werden die �nderungen aktiviert, falls sie 0 ist, werden #
26194
26371
  * # die �nderungen deaktiviert. Bei allen anderen Werten wird das aktuelle #
26195
26372
  * # Flag nicht ver�ndert, sondern nur der Status zur�ckgegeben. #
@@ -26205,8 +26382,8 @@ DLL_EXPORT int lut_keine_iban_berechnung(char *iban_blacklist,char *lutfile,int
26205
26382
 
26206
26383
  DLL_EXPORT int pz_aenderungen_enable(int set)
26207
26384
  {
26208
- if(set==0 || set==1)pz_aenderungen_aktivieren_2017_03=set;
26209
- return pz_aenderungen_aktivieren_2017_03;
26385
+ if(set==0 || set==1)pz_aenderungen_aktivieren_2017_06=set;
26386
+ return pz_aenderungen_aktivieren_2017_06;
26210
26387
  }
26211
26388
 
26212
26389
  #if DEBUG>0
@@ -26238,7 +26415,7 @@ DLL_EXPORT char *kto_check_test_vars(char *txt,UINT4 i)
26238
26415
  #endif
26239
26416
 
26240
26417
 
26241
- #line 24142 "konto_check.lxx"
26418
+ #line 24291 "konto_check.lxx"
26242
26419
  /* Funktionen *_id() +���1 */
26243
26420
  /* ###########################################################################
26244
26421
  * # Die folgenden Funktionen sind die id-Varianten von Funktionen, die #
@@ -4358,7 +4358,7 @@ void Init_konto_check_raw()
4358
4358
  *
4359
4359
  * <b>ATTENTION:</b> There are a few important changes in the API between
4360
4360
  * version 0.0.2 (version by Peter Horn/Provideal), version 0.0.6 (jeanmartin)
4361
- * and this version (V. 5.10 from 2017-03-10):
4361
+ * and this version (V. 6.00 from 2017-06-13):
4362
4362
  *
4363
4363
  * * The function KontoCheck::load_bank_data() is no longer used; it is
4364
4364
  * replaced by KontoCheck::init() and KontoCheck::generate_lutfile().
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: konto_check
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.10.0
4
+ version: 6.00.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Provideal Systems GmbH
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-03-10 00:00:00.000000000 Z
13
+ date: 2017-06-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thoughtbot-shoulda