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 +4 -4
- data/ext/konto_check_raw/konto_check.c +241 -64
- data/ext/konto_check_raw/konto_check_raw_ruby.c +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c83fbdc6f470077ee385b346063ab10f155c75e8
|
4
|
+
data.tar.gz: 0144f5cd1d75acfcc684fc50c9c116e42dc45d5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 "
|
53
|
-
#define VERSION_MAJOR
|
54
|
-
#define VERSION_MINOR
|
52
|
+
#define VERSION "6.00 (final)"
|
53
|
+
#define VERSION_MAJOR 6
|
54
|
+
#define VERSION_MINOR 00
|
55
55
|
#endif
|
56
|
-
#define VERSION_DATE "2017-
|
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
|
108
|
-
static int
|
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
|
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
|
-
|
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");
|
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.
|
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
|
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
|
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
|
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.
|
9299
|
-
if(time(NULL)>
|
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
|
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
|
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
|
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
|
12222
|
-
#line
|
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
|
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
|
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
|
-
* #
|
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
|
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
|
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
|
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
|
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
|
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
|
-
|
21098
|
-
|
21099
|
-
return "06.03.2017";
|
21274
|
+
if(pz_aenderungen_aktivieren_2017_06)
|
21275
|
+
return "05.06.2017";
|
21100
21276
|
else
|
21101
|
-
return "
|
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.
|
21279
|
+
return "05.06.2017";
|
21107
21280
|
case 6:
|
21108
|
-
return "
|
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 "
|
21285
|
+
return "6"; /* Hauptversionszahl */
|
21113
21286
|
case 9:
|
21114
|
-
return "
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
* #
|
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)
|
26209
|
-
return
|
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
|
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.
|
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:
|
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-
|
13
|
+
date: 2017-06-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: thoughtbot-shoulda
|