konto_check 6.13.0 → 6.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.textile +1 -1
- data/ext/konto_check_raw/konto_check.c +302 -188
- data/ext/konto_check_raw/konto_check.h +6 -6
- data/ext/konto_check_raw/konto_check_raw_ruby.c +1 -1
- data/ext/konto_check_raw/retvals.h +7 -7
- metadata +7 -7
@@ -13,7 +13,7 @@
|
|
13
13
|
* # wurden aus der aktuellen BLZ-Datei der Deutschen Bundesbank #
|
14
14
|
* # �bernommen. #
|
15
15
|
* # #
|
16
|
-
* # Copyright (C) 2002-
|
16
|
+
* # Copyright (C) 2002-2023 Michael Plugge <konto_check@yahoo.com> #
|
17
17
|
* # #
|
18
18
|
* # Dieses Programm ist freie Software; Sie d�rfen es unter den #
|
19
19
|
* # Bedingungen der GNU Lesser General Public License, wie von der Free #
|
@@ -48,11 +48,11 @@
|
|
48
48
|
|
49
49
|
/* Definitionen und Includes */
|
50
50
|
#ifndef VERSION
|
51
|
-
#define VERSION "6.
|
51
|
+
#define VERSION "6.15 (final)"
|
52
52
|
#define VERSION_MAJOR 6
|
53
|
-
#define VERSION_MINOR
|
53
|
+
#define VERSION_MINOR 15
|
54
54
|
#endif
|
55
|
-
#define VERSION_DATE "
|
55
|
+
#define VERSION_DATE "2023-04-13"
|
56
56
|
|
57
57
|
#ifndef INCLUDE_KONTO_CHECK_DE
|
58
58
|
#define INCLUDE_KONTO_CHECK_DE 1
|
@@ -92,6 +92,7 @@ static lzo_align_t __LZO_MMODEL wrkmem[LZO1X_1_MEM_COMPRESS];
|
|
92
92
|
#include <fcntl.h>
|
93
93
|
#include <sys/types.h>
|
94
94
|
#include <sys/stat.h>
|
95
|
+
#include <unistd.h>
|
95
96
|
#if COMPRESS>0
|
96
97
|
#include <zlib.h>
|
97
98
|
#endif
|
@@ -206,8 +207,8 @@ static char **sortc_buf;
|
|
206
207
|
static int *sorti_buf;
|
207
208
|
|
208
209
|
/* Variablen f�r das SCL-Verzeichnis */
|
209
|
-
static char *scl_info_block,*scl_bic_block,*scl_name_block,*scl_flags_block,
|
210
|
-
**scl_bic_array,**scl_name_array,**scl_flags_array,
|
210
|
+
static char *scl_info_block,*scl_bic_block,*scl_name_block,*scl_flags_block,*scl_flags_block_orig,
|
211
|
+
**scl_bic_array,**scl_name_array,**scl_flags_array,**scl_flags_array_o,
|
211
212
|
scl_gueltigkeit[16],scl_gueltigkeit_iso[16];
|
212
213
|
static int scl_cnt;
|
213
214
|
long scl_ts;
|
@@ -216,6 +217,7 @@ long scl_ts;
|
|
216
217
|
DLL_EXPORT const char *(*retval_enc)(int)=NULL;
|
217
218
|
|
218
219
|
static int convert_encoding(char **data,UINT4 *len);
|
220
|
+
static int scl_idx(const char *bic,int *retval,int *raw);
|
219
221
|
|
220
222
|
|
221
223
|
/* das Makro RETURN(r) gibt Debug-Meldungen zu Fehler-R�ckgabewerten (zur Fehlersuche) */
|
@@ -808,7 +810,7 @@ static UINT4 adler32a(UINT4 adler,const char *buf,unsigned int len)
|
|
808
810
|
* # was einen Sortierlauf vor der Generierung der Tabelle bedingt. #
|
809
811
|
* # Die Funktion wird von qsort() (aus der libc) aufgerufen. #
|
810
812
|
* # #
|
811
|
-
* # Copyright (C) 2007 Michael Plugge <
|
813
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
812
814
|
* ###########################################################################
|
813
815
|
*/
|
814
816
|
|
@@ -835,7 +837,7 @@ static int sort_cmp(const void *ap,const void *bp)
|
|
835
837
|
* # Diese Funktion dient als Vergleichsfunktion f�r zwei Integerwerte f�r #
|
836
838
|
* # die Quicksort-Bibliotheksfunktion. #
|
837
839
|
* # #
|
838
|
-
* # Copyright (C) 2008 Michael Plugge <
|
840
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
839
841
|
* ###########################################################################
|
840
842
|
*/
|
841
843
|
|
@@ -888,7 +890,7 @@ DLL_EXPORT int set_default_compression(int mode)
|
|
888
890
|
* # Funktion create_lutfile_int() (ohne den FILE-Pointer). Die generierte #
|
889
891
|
* # Datei wird nach dem Aufruf geschlossen. #
|
890
892
|
* # #
|
891
|
-
* # Copyright (C) 2007 Michael Plugge <
|
893
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
892
894
|
* ###########################################################################
|
893
895
|
*/
|
894
896
|
|
@@ -909,7 +911,7 @@ DLL_EXPORT int create_lutfile(char *filename, char *prolog, int slots)
|
|
909
911
|
* # des Inhaltsverzeichnisses mit 0-Bytes. Diese Datei kann dann mit der #
|
910
912
|
* # Funktion write_lut_block() (bzw. write_lut_block_int()) gef�llt werden. #
|
911
913
|
* # #
|
912
|
-
* # Copyright (C) 2007 Michael Plugge <
|
914
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
913
915
|
* ###########################################################################
|
914
916
|
*/
|
915
917
|
|
@@ -946,7 +948,7 @@ static int create_lutfile_int(char *name, char *prolog, int slots,FILE **lut)
|
|
946
948
|
* # einige grundlegende Tests gemacht, um sicherzustellen, da� es sich auch #
|
947
949
|
* # um eine LUT2-Datei handelt (hier und sp�ter in write_block_int()). #
|
948
950
|
* # #
|
949
|
-
* # Copyright (C) 2007 Michael Plugge <
|
951
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
950
952
|
* ###########################################################################
|
951
953
|
*/
|
952
954
|
|
@@ -983,7 +985,7 @@ DLL_EXPORT int write_lut_block(char *lutname,UINT4 typ,UINT4 len,char *data)
|
|
983
985
|
* # meldung LUT2_NO_SLOT_FREE zur�ckgegeben, aber nichts geschrieben. #
|
984
986
|
* # Vor dem Schreiben wird der Block mittels der ZLIB komprimiert. #
|
985
987
|
* # #
|
986
|
-
* # Copyright (C) 2007 Michael Plugge <
|
988
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
987
989
|
* #############################################################################
|
988
990
|
*/
|
989
991
|
|
@@ -1118,7 +1120,7 @@ static int write_lut_block_int(FILE *lut,UINT4 typ,UINT4 len,char *data)
|
|
1118
1120
|
* # mehrere Blocks des angegebenen Typs enthalten sind, wird der letze #
|
1119
1121
|
* # zur�ckgeliefert. #
|
1120
1122
|
* # #
|
1121
|
-
* # Copyright (C) 2007 Michael Plugge <
|
1123
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
1122
1124
|
* ###########################################################################
|
1123
1125
|
*/
|
1124
1126
|
|
@@ -1140,7 +1142,7 @@ DLL_EXPORT int read_lut_block(char *lutname, UINT4 typ,UINT4 *blocklen,char **da
|
|
1140
1142
|
* # Blocks eines bestimmeten Typs enthalten sind, auch alte Blocks gelesen #
|
1141
1143
|
* # werden. #
|
1142
1144
|
* # #
|
1143
|
-
* # Copyright (C) 2007 Michael Plugge <
|
1145
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
1144
1146
|
* ###########################################################################
|
1145
1147
|
*/
|
1146
1148
|
|
@@ -1161,7 +1163,7 @@ DLL_EXPORT int read_lut_slot(char *lutname,int slot,UINT4 *blocklen,char **data)
|
|
1161
1163
|
* # lesen; sie wird von vielen internen Funktionen benutzt. Die LUT-Datei #
|
1162
1164
|
* # wird als FILE-Pointer �bergeben und nicht geschlossen. #
|
1163
1165
|
* # #
|
1164
|
-
* # Copyright (C) 2007 Michael Plugge <
|
1166
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
1165
1167
|
* ###########################################################################
|
1166
1168
|
*/
|
1167
1169
|
|
@@ -1418,7 +1420,7 @@ static int read_lut_block_int(FILE *lut,int slot,int typ,UINT4 *blocklen,char **
|
|
1418
1420
|
* # gegeben. Falls eine Variable nicht ben�tigt wird, kann f�r sie auch #
|
1419
1421
|
* # NULL �bergeben werden; die entsprechende Variable wird dann ignoriert. #
|
1420
1422
|
* # #
|
1421
|
-
* # Copyright (C) 2007 Michael Plugge <
|
1423
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
1422
1424
|
* #############################################################################
|
1423
1425
|
*/
|
1424
1426
|
|
@@ -1587,7 +1589,7 @@ static int lut_dir(FILE *lut,int id,UINT4 *slot_cnt,UINT4 *typ,UINT4 *len,
|
|
1587
1589
|
* # dieser Buffer wird dann mittels der Funktion write_lut_block_int() #
|
1588
1590
|
* # komprimiert und in die LUT-Datei geschrieben. #
|
1589
1591
|
* # #
|
1590
|
-
* # Copyright (C) 2007 Michael Plugge <
|
1592
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
1591
1593
|
* ###########################################################################
|
1592
1594
|
*/
|
1593
1595
|
|
@@ -2159,7 +2161,7 @@ static int write_lutfile_entry_de(UINT4 typ,int auch_filialen,int bank_cnt,char
|
|
2159
2161
|
* # generate_lut2(), aber die Funktionalit�t reicht in der Praxis normaler- #
|
2160
2162
|
* # weise gut aus. #
|
2161
2163
|
* # #
|
2162
|
-
* # Copyright (C) 2008 Michael Plugge <
|
2164
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
2163
2165
|
* ###########################################################################
|
2164
2166
|
*/
|
2165
2167
|
|
@@ -2211,7 +2213,7 @@ DLL_EXPORT int generate_lut2_p(char *inputname,char *outputname,char *user_info,
|
|
2211
2213
|
* # f�r einige Pr�fziffermethoden (52, 53, B6) ben�tigt werden (sie sind in #
|
2212
2214
|
* # den Beispielen enthalten, haben aber keine reale Entsprechung). #
|
2213
2215
|
* # #
|
2214
|
-
* # Copyright (C) 2007, 2013 Michael Plugge <
|
2216
|
+
* # Copyright (C) 2007, 2013 Michael Plugge <konto_check@yahoo.com> #
|
2215
2217
|
* ###########################################################################
|
2216
2218
|
*/
|
2217
2219
|
|
@@ -2591,7 +2593,7 @@ fini:
|
|
2591
2593
|
* # Die Funktion lut_dir_dump_str() allokiert f�r die Ausgabe Speicher; #
|
2592
2594
|
* # dieser mu� von dre aufrufenden Funktion wieder freigegeben werden. #
|
2593
2595
|
* # #
|
2594
|
-
* # Copyright (C) 2007-2010 Michael Plugge <
|
2596
|
+
* # Copyright (C) 2007-2010 Michael Plugge <konto_check@yahoo.com> #
|
2595
2597
|
* ###########################################################################
|
2596
2598
|
*/
|
2597
2599
|
|
@@ -2701,7 +2703,7 @@ DLL_EXPORT int lut_dir_dump_str(char *lutname,char **dptr)
|
|
2701
2703
|
* # LUT2_NO_VALID_DATE: Der Datenblock enth�lt kein G�ltigkeitsdatum #
|
2702
2704
|
* # LUT2_NOT_INITIALIZED: die library wurde noch nicht initialisiert #
|
2703
2705
|
* # #
|
2704
|
-
* # Copyright (C) 2008 Michael Plugge <
|
2706
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
2705
2707
|
* ###########################################################################
|
2706
2708
|
*/
|
2707
2709
|
DLL_EXPORT int lut_valid(void)
|
@@ -2773,7 +2775,7 @@ DLL_EXPORT int lut_valid_date(char *lut_name,int *v11,int *v12,int *v21,int *v22
|
|
2773
2775
|
* # und info2; danach wird der Speicher der von lut_info() allokiert wurde, #
|
2774
2776
|
* # wieder freigegeben. #
|
2775
2777
|
* # #
|
2776
|
-
* # Copyright (C) 2007 Michael Plugge <
|
2778
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
2777
2779
|
* ###########################################################################
|
2778
2780
|
*/
|
2779
2781
|
|
@@ -2806,7 +2808,7 @@ DLL_EXPORT int lut_info_b(char *lut_name,char **info1,char **info2,int *valid1,i
|
|
2806
2808
|
* # mittels der Funktion kc_id2ptr() in einen String umgewandelt, sowie mit #
|
2807
2809
|
* # der Funktion kc_id_free() wieder freigegeben werden kann. #
|
2808
2810
|
* # #
|
2809
|
-
* # Copyright (C) 2014 Michael Plugge <
|
2811
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
2810
2812
|
* ###########################################################################
|
2811
2813
|
*/
|
2812
2814
|
|
@@ -2874,7 +2876,7 @@ DLL_EXPORT int lut_info_id(char *lut_name,int *info1,int *info2,int *valid1,int
|
|
2874
2876
|
* # LUT2_NO_VALID_DATE: Der Datenblock enth�lt kein G�ltigkeitsdatum #
|
2875
2877
|
* # LUT2_BLOCK_NOT_IN_FILE: Die LUT-Datei enth�lt den Infoblock nicht #
|
2876
2878
|
* # #
|
2877
|
-
* # Copyright (C) 2007 Michael Plugge <
|
2879
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
2878
2880
|
* ###########################################################################
|
2879
2881
|
*/
|
2880
2882
|
|
@@ -3089,7 +3091,7 @@ DLL_EXPORT int lut_info(char *lut_name,char **info1,char **info2,int *valid1,int
|
|
3089
3091
|
* # info_p: Variablenpointer f�r R�ckgabe des Info-Strings #
|
3090
3092
|
* # user_info_p: Variablenpointer f�r R�ckgabe des User-Info-Strings #
|
3091
3093
|
* # #
|
3092
|
-
* # Copyright (C) 2007 Michael Plugge <
|
3094
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
3093
3095
|
* ###########################################################################
|
3094
3096
|
*/
|
3095
3097
|
|
@@ -3200,7 +3202,7 @@ DLL_EXPORT int get_lut_info2(char *lut_name,int *version_p,char **prolog_p,char
|
|
3200
3202
|
* # Au�erdem kann die Anzahl Slots ver�ndert (vergr��ert oder verkleinert) #
|
3201
3203
|
* # werden. #
|
3202
3204
|
* # #
|
3203
|
-
* # Copyright (C) 2007 Michael Plugge <
|
3205
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
3204
3206
|
* ###########################################################################
|
3205
3207
|
*/
|
3206
3208
|
|
@@ -3247,7 +3249,7 @@ DLL_EXPORT int copy_lutfile(char *old_name,char *new_name,int new_slots)
|
|
3247
3249
|
* # Sets geladen. Der R�ckgabewert ist daher oft -38 (nicht alle Blocks #
|
3248
3250
|
* # geladen), da die LUT-Datei nicht unbedingt alle Blocks enth�lt :-). #
|
3249
3251
|
* # #
|
3250
|
-
* # Copyright (C) 2008 Michael Plugge <
|
3252
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
3251
3253
|
* ###########################################################################
|
3252
3254
|
*/
|
3253
3255
|
|
@@ -3265,7 +3267,7 @@ DLL_EXPORT int kto_check_init2(char *lut_name)
|
|
3265
3267
|
* # unterschiedlichen Blocks definiert (lut_set_0 ... lut_set_9), die �ber #
|
3266
3268
|
* # einen skalaren Parameter ausgew�hlt werden k�nnen. #
|
3267
3269
|
* # #
|
3268
|
-
* # Copyright (C) 2008 Michael Plugge <
|
3270
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
3269
3271
|
* ###########################################################################
|
3270
3272
|
*/
|
3271
3273
|
|
@@ -3305,7 +3307,7 @@ DLL_EXPORT int kto_check_init_p(char *lut_name,int required,int set,int incremen
|
|
3305
3307
|
* # testen, ob ein bestimmter Block initialisiert wurde, und welcher #
|
3306
3308
|
* # R�ckgabewert dabei auftrat. #
|
3307
3309
|
* # #
|
3308
|
-
* # Copyright (C) 2008 Michael Plugge <
|
3310
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
3309
3311
|
* ###########################################################################
|
3310
3312
|
*/
|
3311
3313
|
|
@@ -3327,7 +3329,7 @@ DLL_EXPORT int *lut2_status(void)
|
|
3327
3329
|
* # Der Parameter id sollte auf einen Speicherbereich von mindestens 33 Byte#
|
3328
3330
|
* # zeigen. Die Datei-ID wird in diesen Speicher geschrieben. #
|
3329
3331
|
* # #
|
3330
|
-
* # Copyright (C) 2008 Michael Plugge <
|
3332
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
3331
3333
|
* ###########################################################################
|
3332
3334
|
*/
|
3333
3335
|
|
@@ -3425,7 +3427,7 @@ DLL_EXPORT int get_lut_id(char *lut_name,int set,char *id)
|
|
3425
3427
|
* # inkrementelle Initialisierung, um noch ben�tigte Blocks nachzuladen. #
|
3426
3428
|
* # Falls schon alle gew�nschten Blocks geladen sind, wird nichts gemacht. #
|
3427
3429
|
* # #
|
3428
|
-
* # Copyright (C) 2008 Michael Plugge <
|
3430
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
3429
3431
|
* ###########################################################################
|
3430
3432
|
*/
|
3431
3433
|
|
@@ -3456,7 +3458,7 @@ DLL_EXPORT int lut_init(char *lut_name,int required,int set)
|
|
3456
3458
|
* # Probleme; daher gibt es noch einige andere Initialisierungsfunktionen #
|
3457
3459
|
* # mit einfacherem Aufrufinterface, wie lut_init() oder kto_check_init_p().#
|
3458
3460
|
* # #
|
3459
|
-
* # Copyright (C) 2008 Michael Plugge <
|
3461
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
3460
3462
|
* ###########################################################################
|
3461
3463
|
*/
|
3462
3464
|
DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,int incremental)
|
@@ -4269,7 +4271,7 @@ DLL_EXPORT int kto_check_init(char *lut_name,int *required,int **status,int set,
|
|
4269
4271
|
* # LUT2_BLOCKS_MISSING bei einigen Blocks traten Fehler auf #
|
4270
4272
|
* # OK alle Blocks erfolgreich geladen #
|
4271
4273
|
* # #
|
4272
|
-
* # Copyright (C) 2013 Michael Plugge <
|
4274
|
+
* # Copyright (C) 2013 Michael Plugge <konto_check@yahoo.com> #
|
4273
4275
|
* ############################################################################
|
4274
4276
|
*/
|
4275
4277
|
DLL_EXPORT int lut_blocks(int mode,char **lut_filename,char **lut_blocks_ok,char **lut_blocks_fehler)
|
@@ -4343,7 +4345,7 @@ DLL_EXPORT int lut_blocks(int mode,char **lut_filename,char **lut_blocks_ok,char
|
|
4343
4345
|
* # Variablen lut_filename, lut_blocks_ok und lut_blocks_fehler m�ssen immer #
|
4344
4346
|
* # angegeben werden; eine �bergabe von NULL f�hrt zu einer access violation.#
|
4345
4347
|
* # #
|
4346
|
-
* # Copyright (C) 2014 Michael Plugge <
|
4348
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
4347
4349
|
* ############################################################################
|
4348
4350
|
*/
|
4349
4351
|
DLL_EXPORT int lut_blocks_id(int mode,int *lut_filename,int *lut_blocks_ok,int *lut_blocks_fehler)
|
@@ -4374,7 +4376,7 @@ DLL_EXPORT int lut_blocks_id(int mode,int *lut_filename,int *lut_blocks_ok,int *
|
|
4374
4376
|
* # benutzt, ist aber auch als Info interessant, falls f�r die LUT-Datei #
|
4375
4377
|
* # die Default-Werte benutzt wurden (Pfad und Dateiname). #
|
4376
4378
|
* # #
|
4377
|
-
* # Copyright (C) 2011 Michael Plugge <
|
4379
|
+
* # Copyright (C) 2011 Michael Plugge <konto_check@yahoo.com> #
|
4378
4380
|
* ###########################################################################
|
4379
4381
|
*/
|
4380
4382
|
|
@@ -4396,7 +4398,7 @@ DLL_EXPORT const char *current_lutfile_name(int *set,int *level,int *retval)
|
|
4396
4398
|
/* ###########################################################################
|
4397
4399
|
* # lut_index(): Index einer BLZ in den internen Arrays bestimmen #
|
4398
4400
|
* # #
|
4399
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4401
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4400
4402
|
* ###########################################################################
|
4401
4403
|
*/
|
4402
4404
|
|
@@ -4445,7 +4447,7 @@ static int lut_index(char *b)
|
|
4445
4447
|
* # Diese Funktion ist nicht so optimiert wie lut_index(), #
|
4446
4448
|
* # da sie nicht in zeitkritischen Routinen benutzt wird. #
|
4447
4449
|
* # #
|
4448
|
-
* # Copyright (C) 2009 Michael Plugge <
|
4450
|
+
* # Copyright (C) 2009 Michael Plugge <konto_check@yahoo.com> #
|
4449
4451
|
* ###########################################################################
|
4450
4452
|
*/
|
4451
4453
|
|
@@ -4514,7 +4516,7 @@ static int lut_index_i(int b)
|
|
4514
4516
|
* # wird. Falls f�r retval NULL �bergeben wird, wird der #
|
4515
4517
|
* # R�ckgabewert verworfen. #
|
4516
4518
|
* # #
|
4517
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4519
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4518
4520
|
* ###########################################################################
|
4519
4521
|
*/
|
4520
4522
|
|
@@ -4525,7 +4527,7 @@ static int lut_index_i(int b)
|
|
4525
4527
|
* # Diese Funktion testet, ob eine BLZ (und Zweigstelle, falls gew�nscht) #
|
4526
4528
|
* # existiert und g�ltig ist. #
|
4527
4529
|
* # #
|
4528
|
-
* # Copyright (C) 2010 Michael Plugge <
|
4530
|
+
* # Copyright (C) 2010 Michael Plugge <konto_check@yahoo.com> #
|
4529
4531
|
* ###########################################################################
|
4530
4532
|
*/
|
4531
4533
|
|
@@ -4556,7 +4558,7 @@ DLL_EXPORT int lut_blz_i(int b,int zweigstelle)
|
|
4556
4558
|
* # lut_filialen(): Anzahl der Filialen zu einer gegebenen Bankleitzahl #
|
4557
4559
|
* # bestimmen. #
|
4558
4560
|
* # #
|
4559
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4561
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4560
4562
|
* ###########################################################################
|
4561
4563
|
*/
|
4562
4564
|
|
@@ -4584,7 +4586,7 @@ DLL_EXPORT int lut_filialen_i(int b,int *retval)
|
|
4584
4586
|
/* ###########################################################################
|
4585
4587
|
* # lut_name(): Banknamen (lange Form) bestimmen #
|
4586
4588
|
* # #
|
4587
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4589
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4588
4590
|
* ###########################################################################
|
4589
4591
|
*/
|
4590
4592
|
|
@@ -4619,7 +4621,7 @@ DLL_EXPORT const char *lut_name_i(int b,int zweigstelle,int *retval)
|
|
4619
4621
|
* # der deutschen Kreditwirtschaft ist die L�nge der Angaben f�r die #
|
4620
4622
|
* # Bezeichnung des Kreditinstituts begrenzt. #
|
4621
4623
|
* # #
|
4622
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4624
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4623
4625
|
* ###########################################################################
|
4624
4626
|
*/
|
4625
4627
|
|
@@ -4647,7 +4649,7 @@ DLL_EXPORT const char *lut_name_kurz_i(int b,int zweigstelle,int *retval)
|
|
4647
4649
|
/* ###########################################################################
|
4648
4650
|
* # lut_plz(): Postleitzahl bestimmen #
|
4649
4651
|
* # #
|
4650
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4652
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4651
4653
|
* ###########################################################################
|
4652
4654
|
*/
|
4653
4655
|
|
@@ -4675,7 +4677,7 @@ DLL_EXPORT int lut_plz_i(int b,int zweigstelle,int *retval)
|
|
4675
4677
|
/* ###########################################################################
|
4676
4678
|
* # lut_ort(): Sitz einer Bank bestimmen #
|
4677
4679
|
* # #
|
4678
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4680
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4679
4681
|
* ###########################################################################
|
4680
4682
|
*/
|
4681
4683
|
|
@@ -4715,7 +4717,7 @@ DLL_EXPORT const char *lut_ort_i(int b,int zweigstelle,int *retval)
|
|
4715
4717
|
* # den Stellen der Deutschen Bundesbank stets die Institutsgruppennummer #
|
4716
4718
|
* # 2 zugewiesen worden. #
|
4717
4719
|
* # #
|
4718
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4720
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4719
4721
|
* ###########################################################################
|
4720
4722
|
*/
|
4721
4723
|
|
@@ -4771,7 +4773,7 @@ DLL_EXPORT int lut_pan_i(int b,int zweigstelle,int *retval)
|
|
4771
4773
|
* # korrekte Wert l��t sich in diesem Fall durch die Funktion iban_bic_gen()#
|
4772
4774
|
* # ermitteln. #
|
4773
4775
|
* # #
|
4774
|
-
* # Copyright (C) 2007,2013 Michael Plugge <
|
4776
|
+
* # Copyright (C) 2007,2013 Michael Plugge <konto_check@yahoo.com> #
|
4775
4777
|
* ###########################################################################
|
4776
4778
|
*/
|
4777
4779
|
|
@@ -4883,7 +4885,7 @@ DLL_EXPORT const char *lut_bic_hi(int b,int zweigstelle,int *retval)
|
|
4883
4885
|
* # automatisiert eine eindeutige Nummer vergeben. Eine einmal verwendete #
|
4884
4886
|
* # Nummer wird nicht noch einmal vergeben. #
|
4885
4887
|
* # #
|
4886
|
-
* # Copyright (C) 2009 Michael Plugge <
|
4888
|
+
* # Copyright (C) 2009 Michael Plugge <konto_check@yahoo.com> #
|
4887
4889
|
* ###########################################################################
|
4888
4890
|
*/
|
4889
4891
|
|
@@ -4912,7 +4914,7 @@ DLL_EXPORT int lut_nr_i(int b,int zweigstelle,int *retval)
|
|
4912
4914
|
* # lut_pz(): Pr�fzifferverfahren f�r eine Bankleitzahl. Das Verfahren wird #
|
4913
4915
|
* # numerisch zur�ckgegeben, also z.B. 108 f�r die Methode A8. #
|
4914
4916
|
* # #
|
4915
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4917
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4916
4918
|
* ###########################################################################
|
4917
4919
|
*/
|
4918
4920
|
|
@@ -4945,7 +4947,7 @@ DLL_EXPORT int lut_pz_i(int b,int zweigstelle,int *retval)
|
|
4945
4947
|
* # G�ltigkeitstermin der Bankleitzahlendatei im Zahlungsverkehr nicht mehr #
|
4946
4948
|
* # zu verwenden. #
|
4947
4949
|
* # #
|
4948
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4950
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4949
4951
|
* ###########################################################################
|
4950
4952
|
*/
|
4951
4953
|
|
@@ -4985,7 +4987,7 @@ DLL_EXPORT int lut_aenderung_i(int b,int zweigstelle,int *retval)
|
|
4985
4987
|
* # Das Feld enth�lt das Merkmal 0 (keine Angabe) oder 1 (BLZ im Feld 1 #
|
4986
4988
|
* # ist zur L�schung vorgesehen). Die R�ckgabe erfolgt als ASCII '0' '1'. #
|
4987
4989
|
* # #
|
4988
|
-
* # Copyright (C) 2007 Michael Plugge <
|
4990
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
4989
4991
|
* ###########################################################################
|
4990
4992
|
*/
|
4991
4993
|
|
@@ -5018,7 +5020,7 @@ DLL_EXPORT int lut_loeschung_i(int b,int zweigstelle,int *retval)
|
|
5018
5020
|
* # wurde (lut_loeschung()==1) oder die Bankleitzahl zum aktuellen G�ltig- #
|
5019
5021
|
* # keitstermin gel�scht wird (lut_aenderung()=='D'). #
|
5020
5022
|
* # #
|
5021
|
-
* # Copyright (C) 2007 Michael Plugge <
|
5023
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
5022
5024
|
* ###########################################################################
|
5023
5025
|
*/
|
5024
5026
|
|
@@ -5052,7 +5054,7 @@ DLL_EXPORT int lut_nachfolge_blz_i(int b,int zweigstelle,int *retval)
|
|
5052
5054
|
* # aus einer vierstelligen Nummer und einer zweistelligen Versionszahl; #
|
5053
5055
|
* # sie wird in konto_check als eine sechsstellige Nummer dargestellt. #
|
5054
5056
|
* # #
|
5055
|
-
* # Copyright (C) 2013 Michael Plugge <
|
5057
|
+
* # Copyright (C) 2013 Michael Plugge <konto_check@yahoo.com> #
|
5056
5058
|
* ###########################################################################
|
5057
5059
|
*/
|
5058
5060
|
|
@@ -5087,7 +5089,7 @@ DLL_EXPORT int lut_iban_regel_i(int b,int zweigstelle,int *retval)
|
|
5087
5089
|
* # Berechnung notwendig sind, schon geladen wurden; falls nicht, werden #
|
5088
5090
|
* # die fehlenden Daten (per inkrementeller Initialisierung) nachgeladen. #
|
5089
5091
|
* # #
|
5090
|
-
* # Copyright (C) 2013 Michael Plugge <
|
5092
|
+
* # Copyright (C) 2013 Michael Plugge <konto_check@yahoo.com> #
|
5091
5093
|
* ###########################################################################
|
5092
5094
|
*/
|
5093
5095
|
|
@@ -5128,7 +5130,7 @@ static int iban_init(void)
|
|
5128
5130
|
* # Der R�ckgabewert gibt n�here Aufschl�sse �ber die Anwendung der Regeln #
|
5129
5131
|
* # und ob eine IBAN berechnet werden darf. #
|
5130
5132
|
* # #
|
5131
|
-
* # Copyright (C) 2013 Michael Plugge <
|
5133
|
+
* # Copyright (C) 2013 Michael Plugge <konto_check@yahoo.com> #
|
5132
5134
|
* ###########################################################################
|
5133
5135
|
*/
|
5134
5136
|
|
@@ -5232,7 +5234,8 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
|
|
5232
5234
|
* IBAN-Regel 5 auf S. 14); alle anderen BLZs der Commerzbank
|
5233
5235
|
* bekommen COBADEFFXXX.
|
5234
5236
|
*/
|
5235
|
-
if(blz[3]=='4' && strcasecmp(lut_name(blz,0,NULL),"comdirect bank"))*bicp="COBADEFFXXX";
|
5237
|
+
// if(blz[3]=='4' && strcasecmp(lut_name(blz,0,NULL),"comdirect bank"))*bicp="COBADEFFXXX";
|
5238
|
+
if(blz[3]=='4' && blz[4]!='1')*bicp="COBADEFFXXX"; /* comdirect Bank */
|
5236
5239
|
|
5237
5240
|
/* BLZs ohne Pr�fzifferberechnung */
|
5238
5241
|
if(pz_methode==9)return OK_NO_CHK;
|
@@ -8316,7 +8319,7 @@ static int iban_regel_cvt(char *blz,char *kto,const char **bicp,int regel_versio
|
|
8316
8319
|
* # mit den Indizes der Hauptstellen wird in der letzten Variable zur�ck- #
|
8317
8320
|
* # gegeben (start_idx). #
|
8318
8321
|
* # #
|
8319
|
-
* # Copyright (C) 2007 Michael Plugge <
|
8322
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
8320
8323
|
* ###########################################################################
|
8321
8324
|
*/
|
8322
8325
|
|
@@ -8527,7 +8530,7 @@ static int lut_multiple_int(int idx,int *cnt,int **p_blz,char ***p_name,char **
|
|
8527
8530
|
* # Die Funktion lut_cleanup() gibt allen belegten Speicher frei und setzt #
|
8528
8531
|
* # die entsprechenden Variablen auf NULL. #
|
8529
8532
|
* # #
|
8530
|
-
* # Copyright (C) 2007 Michael Plugge <
|
8533
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
8531
8534
|
* ###########################################################################
|
8532
8535
|
*/
|
8533
8536
|
|
@@ -8666,7 +8669,7 @@ DLL_EXPORT int lut_cleanup(void)
|
|
8666
8669
|
* # Pr�fziffermethoden; das Problem wird mit dem neuen Dateiformat #
|
8667
8670
|
* # noch einmal angegangen. #
|
8668
8671
|
* # #
|
8669
|
-
* # Copyright (C) 2002-2005 Michael Plugge <
|
8672
|
+
* # Copyright (C) 2002-2005 Michael Plugge <konto_check@yahoo.com> #
|
8670
8673
|
* ###########################################################################
|
8671
8674
|
*/
|
8672
8675
|
|
@@ -8688,7 +8691,7 @@ DLL_EXPORT int generate_lut(char *inputname,char *outputname,char *user_info,int
|
|
8688
8691
|
* # #
|
8689
8692
|
* # Bugs: f�r eine BLZ wird nur eine Pr�fziffermethode unterst�tzt (s.o.). #
|
8690
8693
|
* # #
|
8691
|
-
* # Copyright (C) 2002-2005 Michael Plugge <
|
8694
|
+
* # Copyright (C) 2002-2005 Michael Plugge <konto_check@yahoo.com> #
|
8692
8695
|
* ###########################################################################
|
8693
8696
|
*/
|
8694
8697
|
|
@@ -8806,7 +8809,7 @@ static int read_lut(char *filename,int *cnt_blz)
|
|
8806
8809
|
* # zur�ckf�hren, was wesentlich schneller ist, als die sonst n�tigen acht #
|
8807
8810
|
* # Multiplikationen mit dem jeweiligen Stellenwert. #
|
8808
8811
|
* # #
|
8809
|
-
* # Copyright (C) 2007 Michael Plugge <
|
8812
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
8810
8813
|
* ###########################################################################
|
8811
8814
|
*/
|
8812
8815
|
|
@@ -8950,6 +8953,8 @@ static void init_atoi_table(void)
|
|
8950
8953
|
lut2_feld_namen[LUT2_2_SCL_NAME]="LUT2_2_SCL_NAME";
|
8951
8954
|
lut2_feld_namen[LUT2_SCL_FLAGS]="LUT2_SCL_FLAGS";
|
8952
8955
|
lut2_feld_namen[LUT2_2_SCL_FLAGS]="LUT2_2_SCL_FLAGS";
|
8956
|
+
lut2_feld_namen[LUT2_SCL_FLAGS_ORIG]="LUT2_SCL_FLAGS_ORIG";
|
8957
|
+
lut2_feld_namen[LUT2_2_SCL_FLAGS_ORIG]="LUT2_2_SCL_FLAGS_ORIG";
|
8953
8958
|
|
8954
8959
|
lut_block_idx[1]=0;
|
8955
8960
|
lut_block_idx[2]=0;
|
@@ -8982,6 +8987,7 @@ static void init_atoi_table(void)
|
|
8982
8987
|
lut_block_idx[29]=-1;
|
8983
8988
|
lut_block_idx[30]=-1;
|
8984
8989
|
lut_block_idx[31]=-1;
|
8990
|
+
lut_block_idx[32]=-1;
|
8985
8991
|
|
8986
8992
|
lut_block_name1[1]="BLZ";
|
8987
8993
|
lut_block_name1[2]="FILIALEN";
|
@@ -9014,6 +9020,7 @@ static void init_atoi_table(void)
|
|
9014
9020
|
lut_block_name1[29]="SCL_BIC";
|
9015
9021
|
lut_block_name1[30]="SCL_NAME";
|
9016
9022
|
lut_block_name1[31]="SCL_FLAGS";
|
9023
|
+
lut_block_name1[32]="SCL_FLAGS_ORIG";
|
9017
9024
|
lut_block_name1[101]="BLZ (2)";
|
9018
9025
|
lut_block_name1[102]="FILIALEN (2)";
|
9019
9026
|
lut_block_name1[103]="NAME (2)";
|
@@ -9045,6 +9052,7 @@ static void init_atoi_table(void)
|
|
9045
9052
|
lut_block_name1[129]="SCL_BIC (2)";
|
9046
9053
|
lut_block_name1[130]="SCL_NAME (2)";
|
9047
9054
|
lut_block_name1[131]="SCL_FLAGS (2)";
|
9055
|
+
lut_block_name1[132]="SCL_FLAGS_ORIG (2)";
|
9048
9056
|
|
9049
9057
|
lut_block_name2[1]="1. BLZ";
|
9050
9058
|
lut_block_name2[2]="1. Anzahl Fil.";
|
@@ -9077,6 +9085,7 @@ static void init_atoi_table(void)
|
|
9077
9085
|
lut_block_name2[29]="1. SCL BIC";
|
9078
9086
|
lut_block_name2[30]="1. SCL Banknamen";
|
9079
9087
|
lut_block_name2[31]="1. SCL Flags";
|
9088
|
+
lut_block_name2[32]="1. SCL Flags orig";
|
9080
9089
|
lut_block_name2[101]="2. BLZ";
|
9081
9090
|
lut_block_name2[102]="2. Anzahl Fil.";
|
9082
9091
|
lut_block_name2[103]="2. Name";
|
@@ -9108,7 +9117,8 @@ static void init_atoi_table(void)
|
|
9108
9117
|
lut_block_name2[129]="2. SCL BIC";
|
9109
9118
|
lut_block_name2[130]="2. SCL Banknamen";
|
9110
9119
|
lut_block_name2[131]="2. SCL Flags";
|
9111
|
-
|
9120
|
+
lut_block_name2[132]="2. SCL Flags orig";
|
9121
|
+
lut_blocklen_max=544;
|
9112
9122
|
init_status|=1;
|
9113
9123
|
}
|
9114
9124
|
|
@@ -9132,7 +9142,7 @@ static void init_atoi_table(void)
|
|
9132
9142
|
* # retvals: Struktur, um Pr�fziffermethode und Pr�fziffer in einer #
|
9133
9143
|
* # threadfesten Version zur�ckzugeben #
|
9134
9144
|
* # #
|
9135
|
-
* # Copyright (C) 2002-2009 Michael Plugge <
|
9145
|
+
* # Copyright (C) 2002-2009 Michael Plugge <konto_check@yahoo.com> #
|
9136
9146
|
* ###########################################################################
|
9137
9147
|
*/
|
9138
9148
|
|
@@ -20143,7 +20153,7 @@ static int kto_check_int(char *x_blz,int pz_methode,char *kto)
|
|
20143
20153
|
* # blz: Bankleitzahl (immer 8-stellig) #
|
20144
20154
|
* # kto: Kontonummer #
|
20145
20155
|
* # #
|
20146
|
-
* # Copyright (C) 2007 Michael Plugge <
|
20156
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
20147
20157
|
* ###########################################################################
|
20148
20158
|
*/
|
20149
20159
|
|
@@ -20208,7 +20218,7 @@ DLL_EXPORT int kto_check_blz(char *blz,char *kto)
|
|
20208
20218
|
* # retvals: Struktur, in der die benutzte Pr�fziffermethode und die #
|
20209
20219
|
* # berechnete Pr�fziffer zur�ckgegeben werden #
|
20210
20220
|
* # #
|
20211
|
-
* # Copyright (C) 2013 Michael Plugge <
|
20221
|
+
* # Copyright (C) 2013 Michael Plugge <konto_check@yahoo.com> #
|
20212
20222
|
* ###########################################################################
|
20213
20223
|
*/
|
20214
20224
|
|
@@ -20315,7 +20325,7 @@ DLL_EXPORT int kto_check_regel(char *blz,char *kto)
|
|
20315
20325
|
* # kto: Kontonummer #
|
20316
20326
|
* # blz: Bankleitzahl (immer 8-stellig) #
|
20317
20327
|
* # #
|
20318
|
-
* # Copyright (C) 2007 Michael Plugge <
|
20328
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
20319
20329
|
* ###########################################################################
|
20320
20330
|
*/
|
20321
20331
|
|
@@ -20357,7 +20367,7 @@ DLL_EXPORT int kto_check_pz(char *pz,char *kto,char *blz)
|
|
20357
20367
|
* # retvals: Struktur, in der die benutzte Pr�fziffermethode und die #
|
20358
20368
|
* # berechnete Pr�fziffer zur�ckgegeben werden #
|
20359
20369
|
* # #
|
20360
|
-
* # Copyright (C) 2007 Michael Plugge <
|
20370
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
20361
20371
|
* ###########################################################################
|
20362
20372
|
*/
|
20363
20373
|
|
@@ -20410,7 +20420,7 @@ DLL_EXPORT int kto_check_blz_dbg(char *blz,char *kto,RETVAL *retvals)
|
|
20410
20420
|
* # retvals: Struktur, in der die benutzte Pr�fziffermethode und die #
|
20411
20421
|
* # berechnete Pr�fziffer zur�ckgegeben werden #
|
20412
20422
|
* # #
|
20413
|
-
* # Copyright (C) 2007 Michael Plugge <
|
20423
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
20414
20424
|
* ###########################################################################
|
20415
20425
|
*/
|
20416
20426
|
DLL_EXPORT int kto_check_pz_dbg(char *pz,char *kto,char *blz,RETVAL *retvals)
|
@@ -20448,7 +20458,7 @@ DLL_EXPORT int kto_check_pz_dbg(char *pz,char *kto,char *blz,RETVAL *retvals){re
|
|
20448
20458
|
* # statt eines numerischen Wertes. Die Funktion wurde zun�chst f�r die #
|
20449
20459
|
* # Perl-Variante eingef�hrt. #
|
20450
20460
|
* # #
|
20451
|
-
* # Copyright (C) 2007 Michael Plugge <
|
20461
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
20452
20462
|
* ###########################################################################
|
20453
20463
|
*/
|
20454
20464
|
|
@@ -20500,7 +20510,7 @@ DLL_EXPORT const char *kto_check_str(char *x_blz,char *kto,char *lut_name)
|
|
20500
20510
|
* # kto: Kontonummer #
|
20501
20511
|
* # lut_name: Name der Lookup-Datei oder NULL (f�r DEFAULT_LUT_NAME) #
|
20502
20512
|
* # #
|
20503
|
-
* # Copyright (C) 2002-2007 Michael Plugge <
|
20513
|
+
* # Copyright (C) 2002-2007 Michael Plugge <konto_check@yahoo.com> #
|
20504
20514
|
* ###########################################################################
|
20505
20515
|
*/
|
20506
20516
|
|
@@ -20582,7 +20592,7 @@ DLL_EXPORT int kto_check(char *pz_or_blz,char *kto,char *lut_name)
|
|
20582
20592
|
* # die Anzahl der Banken die zu dem BIC geh�ren, in der Variablen cnt #
|
20583
20593
|
* # zur�ckgegeben (optional). #
|
20584
20594
|
* # #
|
20585
|
-
* # Copyright (C) 2013 Michael Plugge <
|
20595
|
+
* # Copyright (C) 2013 Michael Plugge <konto_check@yahoo.com> #
|
20586
20596
|
* ###########################################################################
|
20587
20597
|
*/
|
20588
20598
|
|
@@ -20673,7 +20683,7 @@ DLL_EXPORT int get_lut_info2_b(char *lutname,int *version,char **prolog_p,char *
|
|
20673
20683
|
* # INVALID_LUT_FILE Fehler in der LUT-Datei (Format, CRC...) #
|
20674
20684
|
* # OK Erfolg #
|
20675
20685
|
* # #
|
20676
|
-
* # Copyright (C) 2007 Michael Plugge <
|
20686
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
20677
20687
|
* ######################################################################
|
20678
20688
|
*/
|
20679
20689
|
|
@@ -20712,7 +20722,7 @@ DLL_EXPORT int get_lut_info(char **info,char *lut_name)
|
|
20712
20722
|
* # keinen Speicher freigeben kann, der von C aus allokiert wurde. #
|
20713
20723
|
* # Auch in C# ist die Speicherverwaltung nicht einfach m�glich. #
|
20714
20724
|
* # #
|
20715
|
-
* # Copyright (C) 2010 Michael Plugge <
|
20725
|
+
* # Copyright (C) 2010 Michael Plugge <konto_check@yahoo.com> #
|
20716
20726
|
* ######################################################################
|
20717
20727
|
*/
|
20718
20728
|
|
@@ -20738,7 +20748,7 @@ DLL_EXPORT void *kc_alloc(int size,int *retval)
|
|
20738
20748
|
* # Diese Funktion ist Teil des alten Interfaces und wurde als Wrapper #
|
20739
20749
|
* # zu den neuen Routinen umgestellt. #
|
20740
20750
|
* # #
|
20741
|
-
* # Copyright (C) 2007 Michael Plugge <
|
20751
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
20742
20752
|
* ###########################################################################
|
20743
20753
|
*/
|
20744
20754
|
|
@@ -20757,7 +20767,7 @@ DLL_EXPORT int cleanup_kto(void)
|
|
20757
20767
|
* # Diese Funktion gibt die Version und das Datum der Kompilierung der #
|
20758
20768
|
* # konto_check library als String zur�ck. .#
|
20759
20769
|
* # #
|
20760
|
-
* # Copyright (C) 2007 Michael Plugge <
|
20770
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
20761
20771
|
* ###########################################################################
|
20762
20772
|
*/
|
20763
20773
|
|
@@ -20789,13 +20799,13 @@ DLL_EXPORT const char *get_kto_check_version_x(int mode)
|
|
20789
20799
|
case 5:
|
20790
20800
|
return "09.09.2019";
|
20791
20801
|
case 6:
|
20792
|
-
return "
|
20802
|
+
return "13. April 2023"; /* Klartext-Datum der Bibliotheksversion */
|
20793
20803
|
case 7:
|
20794
20804
|
return "final"; /* Versions-Typ der Bibliotheksversion (development, beta, final) */
|
20795
20805
|
case 8:
|
20796
20806
|
return "6"; /* Hauptversionszahl */
|
20797
20807
|
case 9:
|
20798
|
-
return "
|
20808
|
+
return "15"; /* Unterversionszahl */
|
20799
20809
|
}
|
20800
20810
|
}
|
20801
20811
|
|
@@ -20810,7 +20820,7 @@ DLL_EXPORT const char *get_kto_check_version_x(int mode)
|
|
20810
20820
|
* # Variante vor allem f�r Perl gedacht ist; in der Umgebung ist es #
|
20811
20821
|
* # etwas komplizierter, ein Array zu �bergeben. #
|
20812
20822
|
* # #
|
20813
|
-
* # Copyright (C) 2008 Michael Plugge <
|
20823
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
20814
20824
|
* ###########################################################################
|
20815
20825
|
*/
|
20816
20826
|
|
@@ -20841,7 +20851,7 @@ DLL_EXPORT int dump_lutfile_p(char *outputname,UINT4 felder)
|
|
20841
20851
|
* # dem Array required spezifiziert. Es werden nur Felder der Deutschen #
|
20842
20852
|
* # Bundesbank ber�cksichtigt; andere Felder werden ignoriert. #
|
20843
20853
|
* # #
|
20844
|
-
* # Copyright (C) 2007 Michael Plugge <
|
20854
|
+
* # Copyright (C) 2007 Michael Plugge <konto_check@yahoo.com> #
|
20845
20855
|
* ###########################################################################
|
20846
20856
|
*/
|
20847
20857
|
|
@@ -21036,7 +21046,7 @@ DLL_EXPORT int dump_lutfile(char *outputname,UINT4 *required)
|
|
21036
21046
|
* # #
|
21037
21047
|
* # Update 2014: die IBAN-Regeln werden jetzt auch ausgegeben. #
|
21038
21048
|
* # #
|
21039
|
-
* # Copyright (C) 2007,2009 Michael Plugge <
|
21049
|
+
* # Copyright (C) 2007,2009 Michael Plugge <konto_check@yahoo.com> #
|
21040
21050
|
* ###########################################################################
|
21041
21051
|
*/
|
21042
21052
|
|
@@ -21147,7 +21157,7 @@ DLL_EXPORT int rebuild_blzfile(char *inputname,char *outputname,UINT4 set)
|
|
21147
21157
|
* # #
|
21148
21158
|
* # R�ckgabe: der zu der �bergebenen IBAN geh�rende BIC #
|
21149
21159
|
* # #
|
21150
|
-
* # Copyright (C) 2008 Michael Plugge <
|
21160
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
21151
21161
|
* ###########################################################################
|
21152
21162
|
*/
|
21153
21163
|
|
@@ -21250,7 +21260,7 @@ DLL_EXPORT const char *iban2bic(char *iban,int *retval,char *blz,char *kto)
|
|
21250
21260
|
* # die Parameter blz und kto wird allerdings Speicher allokiert und per #
|
21251
21261
|
* # Handle wieder zur�ckgegeben. #
|
21252
21262
|
* # #
|
21253
|
-
* # Copyright (C) 2014 Michael Plugge <
|
21263
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
21254
21264
|
* ###########################################################################
|
21255
21265
|
*/
|
21256
21266
|
|
@@ -21336,7 +21346,7 @@ DLL_EXPORT const char *iban2bic_id(char *iban,int *retval,int *blz,int *kto)
|
|
21336
21346
|
* # fehlschl�gt, wird der entsprechende Fehlercode in die #
|
21337
21347
|
* # Variable retval geschrieben und NULL zur�ckgegeben. #
|
21338
21348
|
* # #
|
21339
|
-
* # Copyright (C) 2008,2013 Michael Plugge <
|
21349
|
+
* # Copyright (C) 2008,2013 Michael Plugge <konto_check@yahoo.com> #
|
21340
21350
|
* ###########################################################################
|
21341
21351
|
*/
|
21342
21352
|
|
@@ -21588,7 +21598,7 @@ DLL_EXPORT char *iban_bic_gen(char *blz,char *kto,const char **bicp,char *blz2,c
|
|
21588
21598
|
* # Parameter: #
|
21589
21599
|
* # ci: Creditor Identifiers der getestet werden soll #
|
21590
21600
|
* # #
|
21591
|
-
* # Copyright (C) 2013 Michael Plugge <
|
21601
|
+
* # Copyright (C) 2013 Michael Plugge <konto_check@yahoo.com> #
|
21592
21602
|
* ###########################################################################
|
21593
21603
|
*/
|
21594
21604
|
|
@@ -21674,7 +21684,7 @@ DLL_EXPORT int ci_check(char *ci)
|
|
21674
21684
|
* # retval: NULL oder Adresse einer Variablen, in die der R�ckgabe- #
|
21675
21685
|
* # wert der Kontopr�fung geschrieben wird #
|
21676
21686
|
* # #
|
21677
|
-
* # Copyright (C) 2008 Michael Plugge <
|
21687
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
21678
21688
|
* ###########################################################################
|
21679
21689
|
*/
|
21680
21690
|
|
@@ -21945,7 +21955,7 @@ DLL_EXPORT int iban_check(char *iban,int *retval)
|
|
21945
21955
|
* # zeichen nach jeweils 5 Zeichen) geschrieben wird, oder #
|
21946
21956
|
* # NULL (falls nicht ben�tigt) #
|
21947
21957
|
* # #
|
21948
|
-
* # Copyright (C) 2008 Michael Plugge <
|
21958
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
21949
21959
|
* ###########################################################################
|
21950
21960
|
*/
|
21951
21961
|
|
@@ -22011,7 +22021,7 @@ DLL_EXPORT int ipi_gen(char *zweck,char *dst,char *papier)
|
|
22011
22021
|
* # kc_id2ptr() kann das Handle in einen String umgewandelt werden, sowie #
|
22012
22022
|
* # mittels der Funktion kc_id_free() wieder freigegeben werden. #
|
22013
22023
|
* # #
|
22014
|
-
* # Copyright (C) 2014 Michael Plugge <
|
22024
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
22015
22025
|
* ###########################################################################
|
22016
22026
|
*/
|
22017
22027
|
|
@@ -22040,7 +22050,7 @@ DLL_EXPORT int ipi_gen_id(char *zweck,int *dst,int *papier)
|
|
22040
22050
|
* # Parameter: #
|
22041
22051
|
* # zweck: der Strukturierte Verwendungszweck, der getestet werden soll #
|
22042
22052
|
* # #
|
22043
|
-
* # Copyright (C) 2008 Michael Plugge <
|
22053
|
+
* # Copyright (C) 2008 Michael Plugge <konto_check@yahoo.com> #
|
22044
22054
|
* ###########################################################################
|
22045
22055
|
*/
|
22046
22056
|
|
@@ -22094,7 +22104,7 @@ DLL_EXPORT int ipi_check(char *zweck)
|
|
22094
22104
|
* # Felder der LUT-Datei, z.B. Banken in einem bestimmten Ort oder mit #
|
22095
22105
|
* # einem bestimmten Namen etc. #
|
22096
22106
|
* # #
|
22097
|
-
* # Copyright (C) 2009,2011 Michael Plugge <
|
22107
|
+
* # Copyright (C) 2009,2011 Michael Plugge <konto_check@yahoo.com> #
|
22098
22108
|
* ###########################################################################
|
22099
22109
|
*/
|
22100
22110
|
|
@@ -23988,6 +23998,7 @@ DLL_EXPORT int lut_suche_blz(int such1,int such2,int *anzahl,int **start_idx,int
|
|
23988
23998
|
return suche_int1(such1,such2,anzahl,start_idx,zweigstellen_base,blz_base,&blz_f,&sort_blz,qcmp_blz,cnt,0);
|
23989
23999
|
}
|
23990
24000
|
|
24001
|
+
#line 22564 "konto_check.lxx"
|
23991
24002
|
/* Funktion lut_suche_bic() +���2 */
|
23992
24003
|
DLL_EXPORT int lut_suche_bic(char *such_name,int *anzahl,int **start_idx,int **zweigstellen_base,
|
23993
24004
|
char ***base_name,int **blz_base)
|
@@ -24041,7 +24052,6 @@ DLL_EXPORT int lut_suche_pz(int such1,int such2,int *anzahl,int **start_idx,int
|
|
24041
24052
|
{
|
24042
24053
|
int retval;
|
24043
24054
|
|
24044
|
-
|
24045
24055
|
if(anzahl)*anzahl=0;
|
24046
24056
|
if(such2 && such1>such2)return INVALID_SEARCH_RANGE;
|
24047
24057
|
if((init_status&7)<7)return LUT2_NOT_INITIALIZED;
|
@@ -24055,7 +24065,6 @@ DLL_EXPORT int lut_suche_pz(int such1,int such2,int *anzahl,int **start_idx,int
|
|
24055
24065
|
/* Funktion lut_suche_plz() +���2 */
|
24056
24066
|
DLL_EXPORT int lut_suche_plz(int such1,int such2,int *anzahl,int **start_idx,int **zweigstellen_base,int **base_name,int **blz_base)
|
24057
24067
|
{
|
24058
|
-
|
24059
24068
|
if(anzahl)*anzahl=0;
|
24060
24069
|
if(such2 && such1>such2)return INVALID_SEARCH_RANGE;
|
24061
24070
|
if((init_status&7)<7)return LUT2_NOT_INITIALIZED;
|
@@ -24068,7 +24077,6 @@ DLL_EXPORT int lut_suche_plz(int such1,int such2,int *anzahl,int **start_idx,int
|
|
24068
24077
|
/* Funktion lut_suche_regel() +���2 */
|
24069
24078
|
DLL_EXPORT int lut_suche_regel(int such1,int such2,int *anzahl,int **start_idx,int **zweigstellen_base,int **base_name,int **blz_base)
|
24070
24079
|
{
|
24071
|
-
|
24072
24080
|
if(anzahl)*anzahl=0;
|
24073
24081
|
if(such2 && such1>such2)return INVALID_SEARCH_RANGE;
|
24074
24082
|
if((init_status&7)<7)return LUT2_NOT_INITIALIZED;
|
@@ -24169,7 +24177,7 @@ DLL_EXPORT int bic_info(char *bic1,int mode,int *anzahl,int *start_idx)
|
|
24169
24177
|
/* ###############################################################################
|
24170
24178
|
* # Diese Funktionen bestimmen das �nderungsflag zu einem BIC bzw. einer IBAN #
|
24171
24179
|
* # #
|
24172
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24180
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24173
24181
|
* ###############################################################################
|
24174
24182
|
*/
|
24175
24183
|
|
@@ -24192,7 +24200,7 @@ DLL_EXPORT int iban_aenderung(char *iban,int filiale,int*retval)
|
|
24192
24200
|
/* ###############################################################################
|
24193
24201
|
* # Diese Funktionen bestimmen das L�schflag zu einem BIC bzw. einer IBAN #
|
24194
24202
|
* # #
|
24195
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24203
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24196
24204
|
* ###############################################################################
|
24197
24205
|
*/
|
24198
24206
|
|
@@ -24215,7 +24223,7 @@ DLL_EXPORT int iban_loeschung(char *iban,int filiale,int*retval)
|
|
24215
24223
|
/* ###############################################################################
|
24216
24224
|
* # Diese Funktionen bestimmen die IBAN-Regel zu einem BIC bzw. einer IBAN #
|
24217
24225
|
* # #
|
24218
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24226
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24219
24227
|
* ###############################################################################
|
24220
24228
|
*/
|
24221
24229
|
|
@@ -24238,7 +24246,7 @@ DLL_EXPORT int iban_iban_regel(char *iban,int filiale,int*retval)
|
|
24238
24246
|
/* ###############################################################################
|
24239
24247
|
* # Diese Funktionen bestimmen die Nachfolge-BLZ zu einem BIC bzw. einer IBAN #
|
24240
24248
|
* # #
|
24241
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24249
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24242
24250
|
* ###############################################################################
|
24243
24251
|
*/
|
24244
24252
|
|
@@ -24261,7 +24269,7 @@ DLL_EXPORT int iban_nachfolge_blz(char *iban,int filiale,int*retval)
|
|
24261
24269
|
/* ###############################################################################
|
24262
24270
|
* # Diese Funktionen bestimmen die Laufende Nr. zu einem BIC bzw. einer IBAN #
|
24263
24271
|
* # #
|
24264
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24272
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24265
24273
|
* ###############################################################################
|
24266
24274
|
*/
|
24267
24275
|
|
@@ -24284,7 +24292,7 @@ DLL_EXPORT int iban_nr(char *iban,int filiale,int*retval)
|
|
24284
24292
|
/* ###############################################################################
|
24285
24293
|
* # Diese Funktionen bestimmen den PAN zu einem BIC bzw. einer IBAN #
|
24286
24294
|
* # #
|
24287
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24295
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24288
24296
|
* ###############################################################################
|
24289
24297
|
*/
|
24290
24298
|
|
@@ -24307,7 +24315,7 @@ DLL_EXPORT int iban_pan(char *iban,int filiale,int*retval)
|
|
24307
24315
|
/* ###############################################################################
|
24308
24316
|
* # Diese Funktionen bestimmen die PLZ der Bank zu einem BIC bzw. einer IBAN #
|
24309
24317
|
* # #
|
24310
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24318
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24311
24319
|
* ###############################################################################
|
24312
24320
|
*/
|
24313
24321
|
|
@@ -24330,7 +24338,7 @@ DLL_EXPORT int iban_plz(char *iban,int filiale,int*retval)
|
|
24330
24338
|
/* ###############################################################################
|
24331
24339
|
* # Diese Funktionen bestimmen die Pr�fziffer zu einem BIC bzw. einer IBAN #
|
24332
24340
|
* # #
|
24333
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24341
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24334
24342
|
* ###############################################################################
|
24335
24343
|
*/
|
24336
24344
|
|
@@ -24353,7 +24361,7 @@ DLL_EXPORT int iban_pz(char *iban,int filiale,int*retval)
|
|
24353
24361
|
/* ###############################################################################
|
24354
24362
|
* # Diese Funktionen bestimmen den BIC zu einem BIC bzw. einer IBAN #
|
24355
24363
|
* # #
|
24356
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24364
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24357
24365
|
* ###############################################################################
|
24358
24366
|
*/
|
24359
24367
|
|
@@ -24376,7 +24384,7 @@ DLL_EXPORT const char *iban_bic(char *iban,int filiale,int*retval)
|
|
24376
24384
|
/* ###############################################################################
|
24377
24385
|
* # Diese Funktionen bestimmen den BIC der Hauptstelle zu einem BIC bzw. einer IBAN#
|
24378
24386
|
* # #
|
24379
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24387
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24380
24388
|
* ###############################################################################
|
24381
24389
|
*/
|
24382
24390
|
|
@@ -24399,7 +24407,7 @@ DLL_EXPORT const char *iban_bic_h(char *iban,int filiale,int*retval)
|
|
24399
24407
|
/* ###############################################################################
|
24400
24408
|
* # Diese Funktionen bestimmen den Name der Bank zu einem BIC bzw. einer IBAN #
|
24401
24409
|
* # #
|
24402
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24410
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24403
24411
|
* ###############################################################################
|
24404
24412
|
*/
|
24405
24413
|
|
@@ -24422,7 +24430,7 @@ DLL_EXPORT const char *iban_name(char *iban,int filiale,int*retval)
|
|
24422
24430
|
/* ###############################################################################
|
24423
24431
|
* # Diese Funktionen bestimmen den Kurzname der Bank zu einem BIC bzw. einer IBAN#
|
24424
24432
|
* # #
|
24425
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24433
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24426
24434
|
* ###############################################################################
|
24427
24435
|
*/
|
24428
24436
|
|
@@ -24445,7 +24453,7 @@ DLL_EXPORT const char *iban_name_kurz(char *iban,int filiale,int*retval)
|
|
24445
24453
|
/* ###############################################################################
|
24446
24454
|
* # Diese Funktionen bestimmen den Ort einer Bank zu einem BIC bzw. einer IBAN #
|
24447
24455
|
* # #
|
24448
|
-
* # Copyright (C) 2014 Michael Plugge <
|
24456
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
24449
24457
|
* ###############################################################################
|
24450
24458
|
*/
|
24451
24459
|
|
@@ -24771,7 +24779,7 @@ static const char *iban_fkt_s(char *iban,int filiale,int *retval,const char*(*fk
|
|
24771
24779
|
* # val: Daten #
|
24772
24780
|
* # size: Gr��e des Datenblocks (nur bei set_default_bin() ) #
|
24773
24781
|
* # #
|
24774
|
-
* # Copyright (C) 2010 Michael Plugge <
|
24782
|
+
* # Copyright (C) 2010 Michael Plugge <konto_check@yahoo.com> #
|
24775
24783
|
* ###########################################################################
|
24776
24784
|
*/
|
24777
24785
|
|
@@ -24827,7 +24835,7 @@ DLL_EXPORT int kto_check_set_default_bin(char *key,char *val,int size)
|
|
24827
24835
|
* # Diese Funktion initialisiert die Variablen f�r den Default-Block und #
|
24828
24836
|
* # l�scht evl. vorhandene Werte. #
|
24829
24837
|
* # #
|
24830
|
-
* # Copyright (C) 2010 Michael Plugge <
|
24838
|
+
* # Copyright (C) 2010 Michael Plugge <konto_check@yahoo.com> #
|
24831
24839
|
* ###########################################################################
|
24832
24840
|
*/
|
24833
24841
|
|
@@ -24863,7 +24871,7 @@ static int kto_check_clear_default(void)
|
|
24863
24871
|
* # lut_name: Name der LUT-Datei #
|
24864
24872
|
* # block_id: ID in der LUT-Datei f�r den Block #
|
24865
24873
|
* # #
|
24866
|
-
* # Copyright (C) 2010 Michael Plugge <
|
24874
|
+
* # Copyright (C) 2010 Michael Plugge <konto_check@yahoo.com> #
|
24867
24875
|
* ###########################################################################
|
24868
24876
|
*/
|
24869
24877
|
|
@@ -24942,7 +24950,7 @@ DLL_EXPORT int kto_check_init_default(char *lut_name,int block_id)
|
|
24942
24950
|
* # val: Wert (R�ckgabe per Referenz) #
|
24943
24951
|
* # size: Gr��e des Datenblocks (per Referenz) #
|
24944
24952
|
* # #
|
24945
|
-
* # Copyright (C) 2010 Michael Plugge <
|
24953
|
+
* # Copyright (C) 2010 Michael Plugge <konto_check@yahoo.com> #
|
24946
24954
|
* ###########################################################################
|
24947
24955
|
*/
|
24948
24956
|
|
@@ -24974,7 +24982,7 @@ DLL_EXPORT int kto_check_get_default(char *key,char **val,int *size)
|
|
24974
24982
|
* # keys: Array mit den Schl�sseln (R�ckgabe per Referenz) #
|
24975
24983
|
* # cnt: Anzahl (R�ckgabe per Referenz) #
|
24976
24984
|
* # #
|
24977
|
-
* # Copyright (C) 2010 Michael Plugge <
|
24985
|
+
* # Copyright (C) 2010 Michael Plugge <konto_check@yahoo.com> #
|
24978
24986
|
* ###########################################################################
|
24979
24987
|
*/
|
24980
24988
|
|
@@ -25002,7 +25010,7 @@ DLL_EXPORT int kto_check_default_keys(char ***keys,int *cnt)
|
|
25002
25010
|
* # lutfile: LUT-Datei in die der Block geschrieben werden soll #
|
25003
25011
|
* # block_id: ID in der LUT-Datei f�r den Block #
|
25004
25012
|
* # #
|
25005
|
-
* # Copyright (C) 2010 Michael Plugge <
|
25013
|
+
* # Copyright (C) 2010 Michael Plugge <konto_check@yahoo.com> #
|
25006
25014
|
* ###########################################################################
|
25007
25015
|
*/
|
25008
25016
|
|
@@ -25047,7 +25055,7 @@ DLL_EXPORT int kto_check_write_default(char *lutfile,int block_id)
|
|
25047
25055
|
* # Funktion mit dem Parameter 0 aufgerufen wird, wird nur die aktuelle #
|
25048
25056
|
* # Kodierung zur�ckgegeben. #
|
25049
25057
|
* # #
|
25050
|
-
* # Copyright (C) 2011 Michael Plugge <
|
25058
|
+
* # Copyright (C) 2011 Michael Plugge <konto_check@yahoo.com> #
|
25051
25059
|
* ###########################################################################
|
25052
25060
|
*/
|
25053
25061
|
|
@@ -25198,7 +25206,7 @@ DLL_EXPORT int kto_check_encoding(int mode)
|
|
25198
25206
|
* # Diese Funktion entspricht der Funktion kto_check_encoding(); allerdings #
|
25199
25207
|
* # ist der R�ckgabewert nicht numerisch, sondern ein String. #
|
25200
25208
|
* # #
|
25201
|
-
* # Copyright (C) 2011 Michael Plugge <
|
25209
|
+
* # Copyright (C) 2011 Michael Plugge <konto_check@yahoo.com> #
|
25202
25210
|
* ###########################################################################
|
25203
25211
|
*/
|
25204
25212
|
|
@@ -25256,7 +25264,7 @@ DLL_EXPORT const char *kto_check_encoding_str(int mode)
|
|
25256
25264
|
* # 0: Flag abfragen, nicht ver�ndern #
|
25257
25265
|
* # -1: Flag l�schen, Speicher der raw-Daten freigeben #
|
25258
25266
|
* # #
|
25259
|
-
* # Copyright (C) 2011 Michael Plugge <
|
25267
|
+
* # Copyright (C) 2011 Michael Plugge <konto_check@yahoo.com> #
|
25260
25268
|
* ###########################################################################
|
25261
25269
|
*/
|
25262
25270
|
|
@@ -25293,7 +25301,7 @@ DLL_EXPORT int keep_raw_data(int mode)
|
|
25293
25301
|
* # Diese Funktion konvertiert einen gelesenen LUT-Block in die gew�nschte #
|
25294
25302
|
* # Kodierung. Der urspr�nglich allokierte Speicher wird wieder freigegeben.#
|
25295
25303
|
* # #
|
25296
|
-
* # Copyright (C) 2011 Michael Plugge <
|
25304
|
+
* # Copyright (C) 2011 Michael Plugge <konto_check@yahoo.com> #
|
25297
25305
|
* ###########################################################################
|
25298
25306
|
*/
|
25299
25307
|
|
@@ -25875,7 +25883,7 @@ DLL_EXPORT int lut_keine_iban_berechnung(char *iban_blacklist,char *lutfile,int
|
|
25875
25883
|
* # anderer Wert: nur Abfrage des Status #
|
25876
25884
|
* # R�ckgabe: aktueller Status des Flags # #
|
25877
25885
|
* # #
|
25878
|
-
* # Copyright (C) 2014 Michael Plugge <
|
25886
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
25879
25887
|
* ###########################################################################
|
25880
25888
|
*/
|
25881
25889
|
|
@@ -25899,7 +25907,7 @@ DLL_EXPORT int pz_aenderungen_enable(int set)
|
|
25899
25907
|
* # txt: Textvariable #
|
25900
25908
|
* # i: Integervariable (4 Byte) #
|
25901
25909
|
* # #
|
25902
|
-
* # Copyright (C) 2006 Michael Plugge <
|
25910
|
+
* # Copyright (C) 2006 Michael Plugge <konto_check@yahoo.com> #
|
25903
25911
|
* ###########################################################################
|
25904
25912
|
*/
|
25905
25913
|
|
@@ -25927,7 +25935,7 @@ DLL_EXPORT char *kto_check_test_vars(char *txt,UINT4 i)
|
|
25927
25935
|
* # Da der Aufruf f�r jede Funktionsgruppe gleich ist, wird er per Makro #
|
25928
25936
|
* # gemacht. #
|
25929
25937
|
* # #
|
25930
|
-
* # Copyright (C) 2014 Michael Plugge <
|
25938
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
25931
25939
|
* ###########################################################################
|
25932
25940
|
*/
|
25933
25941
|
/* numerische R�ckgabewerte in eine id umwandeln */
|
@@ -26070,7 +26078,7 @@ DLL_EXPORT int current_lutfile_name_id(int *set,int *level,int *retval)
|
|
26070
26078
|
* # den etwas eigenwilligen (Schleich-)Weg �ber IntPtr nehmen, damit der #
|
26071
26079
|
* # Speicher wieder freigegeben werden kann... #
|
26072
26080
|
* # #
|
26073
|
-
* # Copyright (C) 2014 Michael Plugge <
|
26081
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
26074
26082
|
* ###########################################################################
|
26075
26083
|
*/
|
26076
26084
|
|
@@ -26088,7 +26096,7 @@ DLL_EXPORT int current_lutfile_name_id(int *set,int *level,int *retval)
|
|
26088
26096
|
* # von kc_id_free() wird es auch nicht gel�scht, der Funktionsaufruf gibt #
|
26089
26097
|
* # nur OK zur�ck, ohne etwas zu tun. #
|
26090
26098
|
* # #
|
26091
|
-
* # Copyright (C) 2014 Michael Plugge <
|
26099
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
26092
26100
|
* ###########################################################################
|
26093
26101
|
*/
|
26094
26102
|
|
@@ -26132,7 +26140,7 @@ static int kc_ptr2id(char *ptr,int *handle,int release_mem)
|
|
26132
26140
|
* # Diese Funktion gibt den Pointer zu einem Handle zur�ck. Dieser Wert #
|
26133
26141
|
* # kann dann als String-Pointer in den DLL-Routinen verwendet werden. #
|
26134
26142
|
* # #
|
26135
|
-
* # Copyright (C) 2014 Michael Plugge <
|
26143
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
26136
26144
|
* ###########################################################################
|
26137
26145
|
*/
|
26138
26146
|
|
@@ -26153,7 +26161,7 @@ DLL_EXPORT char *kc_id2ptr(int handle,int *retval)
|
|
26153
26161
|
* # Diese Funktion gibt den Speicher, der zu einem Handle geh�rt, wieder #
|
26154
26162
|
* # frei und setzt den entsprechenden Slot-Eintrag auf NULL. #
|
26155
26163
|
* # #
|
26156
|
-
* # Copyright (C) 2014 Michael Plugge <
|
26164
|
+
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
|
26157
26165
|
* ###########################################################################
|
26158
26166
|
*/
|
26159
26167
|
|
@@ -26177,7 +26185,7 @@ DLL_EXPORT int kc_id_free(int handle)
|
|
26177
26185
|
* # cmp_bic() ist die Vergleichsfunktion f�r bic_binsearch() und #
|
26178
26186
|
* # lut_write_scl_blocks() (zum Sortieren der BICs). #
|
26179
26187
|
* # #
|
26180
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26188
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26181
26189
|
* ###########################################################################
|
26182
26190
|
*/
|
26183
26191
|
static int cmp_bic(const void *ap,const void *bp)
|
@@ -26197,7 +26205,7 @@ static int cmp_bic(const void *ap,const void *bp)
|
|
26197
26205
|
* # Die Funktion bic_binsearch() implementiert eine bin�re Suche im #
|
26198
26206
|
* # BIC-Array (rekursiv) #
|
26199
26207
|
* # #
|
26200
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26208
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26201
26209
|
* ###########################################################################
|
26202
26210
|
*/
|
26203
26211
|
static int bic_binsearch(int links,int rechts,char *bic)
|
@@ -26222,10 +26230,18 @@ static int bic_binsearch(int links,int rechts,char *bic)
|
|
26222
26230
|
* # letzten Stellen existiert (Extension BIC); falls dieser auch nicht #
|
26223
26231
|
* # existiert, wird als Letztes ein 8-stelliger BIC gesucht (Wildcard-BIC). #
|
26224
26232
|
* # #
|
26225
|
-
* #
|
26233
|
+
* # Der zus�tzliche Parameter raw wurde eingef�hrt, da bei den Flags #
|
26234
|
+
* # �fters bei 11-stelligen BICs nicht die richtigen Flags angegeben sind #
|
26235
|
+
* # (bei den zugeh�rigen Wildcard-BICs (8-stellig) sind mehr Optionen #
|
26236
|
+
* # gesetzt), wie z.B. bei WELADEDLLEV oder DEUTDEDBPAL. Falls als erstes #
|
26237
|
+
* # Zeichen der BIC ein ! �bergeben wird, werden die originalen Flags #
|
26238
|
+
* # zur�ckgegeben, andernfalls die "richtigen". So ist die R�ckgabe von #
|
26239
|
+
* # DEUTDEDBPAL z.B. 11011, von !DEUTDEDBPAL jedoch 10000. #
|
26240
|
+
* # #
|
26241
|
+
* # Copyright (C) 2018, 2023 Michael Plugge <konto_check@yahoo.com> #
|
26226
26242
|
* ###########################################################################
|
26227
26243
|
*/
|
26228
|
-
static int scl_idx(const char *bic,int *retval)
|
26244
|
+
static int scl_idx(const char *bic,int *retval,int *raw)
|
26229
26245
|
{
|
26230
26246
|
char such_bic[12];
|
26231
26247
|
int i,idx;
|
@@ -26234,7 +26250,14 @@ static int scl_idx(const char *bic,int *retval)
|
|
26234
26250
|
if(retval)*retval=NO_SCL_BLOCKS_LOADED;
|
26235
26251
|
return -1;
|
26236
26252
|
}
|
26237
|
-
|
26253
|
+
if(*bic=='!'){
|
26254
|
+
*raw=1;
|
26255
|
+
strcpy(such_bic,bic+1);
|
26256
|
+
}
|
26257
|
+
else{
|
26258
|
+
*raw=0;
|
26259
|
+
strcpy(such_bic,bic);
|
26260
|
+
}
|
26238
26261
|
for(i=0;i<11 && such_bic[i];i++)such_bic[i]=toupper(such_bic[i]);
|
26239
26262
|
|
26240
26263
|
/*
|
@@ -26258,6 +26281,9 @@ static int scl_idx(const char *bic,int *retval)
|
|
26258
26281
|
* Punkt 2 hat eine h�here Priorit�t als Punkt 1, denn eine 8-stellige BIC ist mit selbiger
|
26259
26282
|
* um 'XXX' erweiterten BIC identisch.
|
26260
26283
|
*
|
26284
|
+
* (Update April 23: das gilt wohl doch nicht so ganz, zumindest nicht bei den Flags...
|
26285
|
+
* - die Flags werden jetzt vom Eintrag und dem Wildcard kombiniert)
|
26286
|
+
*
|
26261
26287
|
*/
|
26262
26288
|
|
26263
26289
|
if(such_bic[8]==0){ /* Such-BIC 8-stellig angegeben; BIC zuerst mit XXX extension suchen */
|
@@ -26309,21 +26335,22 @@ static int scl_idx(const char *bic,int *retval)
|
|
26309
26335
|
* # direkter Download-Link: #
|
26310
26336
|
* # https://www.bundesbank.de/Redaktion/DE/Downloads/Aufgaben/Unbarer_Zahlungsverkehr/SEPA/verzeichnis_der_erreichbaren_zahlungsdienstleister.csv?__blob=publicationFile
|
26311
26337
|
* # #
|
26312
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26338
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26313
26339
|
* ###########################################################################
|
26314
26340
|
*/
|
26315
26341
|
DLL_EXPORT int lut_write_scl_blocks(char *inputfile,char *lutfile)
|
26316
26342
|
{
|
26317
|
-
char c,*ptr,buffer[512],*scl_name_block_s,*scl_bic_block_s
|
26343
|
+
char c,*ptr,buffer[512],buffer2[128],*scl_name_block_s,*scl_bic_block_s,
|
26344
|
+
*scl_flags_block_s,*scl_flags_block_o,*ptr1,*ptr2,*ptr3,*ptr4,*base_ptr="";
|
26318
26345
|
char scl_gueltigkeit[16],scl_gueltigkeit_iso[16];
|
26319
|
-
int cnt,i,rv
|
26346
|
+
int cnt,i,j,rv,*iptr,jahr,monat,tag,f1,f2,f3,f4,f5;
|
26320
26347
|
FILE *in,*lut;
|
26321
26348
|
struct stat stat_buffer;
|
26322
26349
|
struct tm z;
|
26323
26350
|
time_t ts;
|
26324
26351
|
|
26325
26352
|
if(!(in=fopen(inputfile,"r")))RETURN(FILE_READ_ERROR);
|
26326
|
-
fgets(buffer,512,in);
|
26353
|
+
if(!fgets(buffer,512,in))RETURN(SCL_INPUT_FORMAT_ERROR);
|
26327
26354
|
if(strncmp(buffer,"Gueltig ab / valid from ",24))return SCL_INPUT_FORMAT_ERROR;
|
26328
26355
|
for(ptr=buffer;!isdigit(*ptr);ptr++);
|
26329
26356
|
strncpy(scl_gueltigkeit,ptr,16);
|
@@ -26337,26 +26364,31 @@ DLL_EXPORT int lut_write_scl_blocks(char *inputfile,char *lutfile)
|
|
26337
26364
|
z.tm_mon=monat;
|
26338
26365
|
z.tm_year=jahr-1900;
|
26339
26366
|
ts=mktime(&z);
|
26340
|
-
snprintf(scl_gueltigkeit_iso,16,"%4d-%02d-%02d",jahr,monat,tag);
|
26341
|
-
fgets(buffer,512,in);
|
26342
|
-
|
26343
|
-
|
26367
|
+
snprintf(scl_gueltigkeit_iso,16,"%4d-%02d-%02d",jahr%10000,monat%100,tag%100);
|
26368
|
+
if(!fgets(buffer,512,in))RETURN(SCL_INPUT_FORMAT_ERROR);
|
26369
|
+
/* Leerzeichen aus dem �berschrift-String entfernen */
|
26370
|
+
for(ptr=buffer,ptr2=buffer2;*ptr;ptr++)if(!isspace(*ptr))*ptr2++=*ptr;
|
26371
|
+
if(strncmp(buffer2,"BIC;Name;SERVICESCT;SERVICECOR;SERVICECOR1;SERVICEB2B;SERVICESCC",64))RETURN(SCL_INPUT_FORMAT_ERROR);
|
26344
26372
|
stat(inputfile,&stat_buffer);
|
26345
|
-
|
26373
|
+
|
26374
|
+
cnt=stat_buffer.st_size/163+300; /* etwas gro�z�gig die Anzahl rechnen; jede Zeile hat 163 Bytes und ist am Ende mit Leerzeichen aufgef�llt */
|
26346
26375
|
|
26347
26376
|
scl_bic_array=(char **)calloc(sizeof(char*),cnt);
|
26348
26377
|
scl_name_array=(char **)calloc(sizeof(char*),cnt);
|
26349
26378
|
scl_flags_array=(char **)calloc(sizeof(char*),cnt);
|
26379
|
+
scl_flags_array_o=(char **)calloc(sizeof(char*),cnt);
|
26350
26380
|
|
26351
26381
|
scl_bic_block=ptr1=(char *)calloc(12,cnt);
|
26352
26382
|
scl_name_block=ptr2=(char *)calloc(150,cnt);
|
26353
26383
|
scl_flags_block=ptr3=(char *)calloc(6,cnt);
|
26384
|
+
scl_flags_block_orig=ptr4=(char *)calloc(6,cnt);
|
26354
26385
|
|
26355
26386
|
/* SCL-Datei einlesen */
|
26356
26387
|
for(cnt=0;fgets(buffer,512,in);){
|
26357
26388
|
scl_bic_array[cnt]=ptr1;
|
26358
26389
|
scl_name_array[cnt]=ptr2;
|
26359
26390
|
scl_flags_array[cnt]=ptr3;
|
26391
|
+
scl_flags_array_o[cnt]=ptr4;
|
26360
26392
|
cnt++;
|
26361
26393
|
for(ptr=buffer;*ptr!=';' && !isspace(*ptr);*ptr1++=*ptr++);
|
26362
26394
|
c=*ptr;
|
@@ -26371,12 +26403,12 @@ DLL_EXPORT int lut_write_scl_blocks(char *inputfile,char *lutfile)
|
|
26371
26403
|
ptr2++;
|
26372
26404
|
|
26373
26405
|
/* ptr steht nun auf den Flags */
|
26374
|
-
*ptr3++=*ptr;
|
26375
|
-
*ptr3++=*(ptr+2);
|
26376
|
-
*ptr3++=*(ptr+4);
|
26377
|
-
*ptr3++=*(ptr+6);
|
26378
|
-
*ptr3++=*(ptr+8);
|
26379
|
-
*ptr3++=0;
|
26406
|
+
*ptr4++=*ptr3++=*ptr;
|
26407
|
+
*ptr4++=*ptr3++=*(ptr+2);
|
26408
|
+
*ptr4++=*ptr3++=*(ptr+4);
|
26409
|
+
*ptr4++=*ptr3++=*(ptr+6);
|
26410
|
+
*ptr4++=*ptr3++=*(ptr+8);
|
26411
|
+
*ptr4++=*ptr3++=0;
|
26380
26412
|
}
|
26381
26413
|
fclose(in);
|
26382
26414
|
|
@@ -26387,14 +26419,68 @@ DLL_EXPORT int lut_write_scl_blocks(char *inputfile,char *lutfile)
|
|
26387
26419
|
/* vor dem Abspeichern der Blocks nach BICs sortieren */
|
26388
26420
|
qsort(iptr,cnt,sizeof(int),cmp_bic);
|
26389
26421
|
|
26422
|
+
/* Auszug aus dem SCL-Merkblatt:
|
26423
|
+
* Das SCL-Directory enth�lt elfstellige und achtstellige BICs. Dabei gilt:
|
26424
|
+
*
|
26425
|
+
* - Ein achtstelliger BIC ist eine sog. Wildcard und repr�sentiert die Erreichbarkeit eines
|
26426
|
+
* jeden elfstelligen BICs mit identischen ersten acht Stellen sowie die Erreichbarkeit
|
26427
|
+
* des achtstelligen BICs selbst.
|
26428
|
+
*
|
26429
|
+
* - Ein elfstelliger BIC mit der Branch Code Extension XXX repr�sentiert sich selbst
|
26430
|
+
* sowie die Erreichbarkeit des zugeh�rigen achtstelligen BICs. Er stellt jedoch keine
|
26431
|
+
* Wildcard dar.
|
26432
|
+
*
|
26433
|
+
* - Alle �brigen elfstelligen BICs repr�sentieren ausschlie�lich die Erreichbarkeit des
|
26434
|
+
* jeweiligen einzelnen elfstelligen BICs.
|
26435
|
+
*
|
26436
|
+
* Ein Zahlungsdienstleister, der mit einer Wildcard im SCL-Directory ausgewiesen wird, muss
|
26437
|
+
* Zahlungen f�r alle denkbaren elfstelligen BICs, die durch die Wildcard repr�sentiert werden,
|
26438
|
+
* aufnehmen.
|
26439
|
+
*
|
26440
|
+
* D.h., bei 11-stelligen BICs, zu denen eine 8-stellige Wildcard-BIC existiert, sind die Flags
|
26441
|
+
* aus beiden Varianten zu kombinieren. Beispiel:
|
26442
|
+
*
|
26443
|
+
* WELADEDL;SPARKASSE LEVERKUSEN;1;1;0;1;1
|
26444
|
+
* WELADEDLLEV;SPARKASSE LEVERKUSEN;1;0;0;0;0
|
26445
|
+
*
|
26446
|
+
* Die resultierenden Flags f�r WELADEDLLEV werden aus den beiden BICs zusammengesetzt zu 1;1;0;1;1
|
26447
|
+
*
|
26448
|
+
* Um das Verhalten auch f�r �ltere Installationen von konto_check zu implementieren, wird in die LUT-Datei
|
26449
|
+
* ein Block mit den resultierenden Flags als SCL Flags (ID 31) geschrieben; die Original-Version findet sich
|
26450
|
+
* als ID 32 mit der Bezeichnung SCL Flags orig, und wird von �teren Installationen ignoriert.
|
26451
|
+
*
|
26452
|
+
* Von der Problematik betroffen sind in der aktuellen Datei (Stand April 2023) 68 BICs, davon 8 deutsche.
|
26453
|
+
*/
|
26454
|
+
|
26455
|
+
f1=f2=f3=f4=f5=0;
|
26390
26456
|
ptr1=scl_bic_block_s=(char *)calloc(1,ptr1-scl_bic_block+16);
|
26391
26457
|
ptr2=scl_name_block_s=(char *)calloc(1,ptr2-scl_name_block+16);
|
26392
26458
|
ptr3=scl_flags_block_s=(char *)calloc(1,ptr3-scl_flags_block+16);
|
26459
|
+
ptr4=scl_flags_block_o=(char *)calloc(1,ptr4-scl_flags_block_orig+16);
|
26393
26460
|
for(i=0;i<cnt;i++){
|
26394
26461
|
j=iptr[i];
|
26395
26462
|
for(ptr=scl_bic_array[j];(*ptr1++=*ptr++););
|
26396
26463
|
for(ptr=scl_name_array[j];(*ptr2++=*ptr++););
|
26397
26464
|
for(ptr=scl_flags_array[j];(*ptr3++=*ptr++););
|
26465
|
+
if(strlen(scl_bic_array[j])==8){
|
26466
|
+
base_ptr=scl_bic_array[j]; /* 8-stelliger BIC, Flags merken */
|
26467
|
+
f1=*(scl_flags_array[j]+0)-'0';
|
26468
|
+
f2=*(scl_flags_array[j]+1)-'0';
|
26469
|
+
f3=*(scl_flags_array[j]+2)-'0';
|
26470
|
+
f4=*(scl_flags_array[j]+3)-'0';
|
26471
|
+
f5=*(scl_flags_array[j]+4)-'0';
|
26472
|
+
}
|
26473
|
+
if(!strncmp(scl_bic_array[j],base_ptr,8)){
|
26474
|
+
ptr=scl_flags_array_o[j];
|
26475
|
+
if(*ptr++=='1' || f1)*ptr4++='1'; else *ptr4++='0';
|
26476
|
+
if(*ptr++=='1' || f2)*ptr4++='1'; else *ptr4++='0';
|
26477
|
+
if(*ptr++=='1' || f3)*ptr4++='1'; else *ptr4++='0';
|
26478
|
+
if(*ptr++=='1' || f4)*ptr4++='1'; else *ptr4++='0';
|
26479
|
+
if(*ptr++=='1' || f5)*ptr4++='1'; else *ptr4++='0';
|
26480
|
+
*ptr4++=0;
|
26481
|
+
}
|
26482
|
+
else
|
26483
|
+
for(ptr=scl_flags_array_o[j];(*ptr4++=*ptr++););
|
26398
26484
|
}
|
26399
26485
|
free(iptr);
|
26400
26486
|
|
@@ -26408,13 +26494,14 @@ DLL_EXPORT int lut_write_scl_blocks(char *inputfile,char *lutfile)
|
|
26408
26494
|
if(strcmp(buffer,"BLZ Lookup Table/Format 2."))RETURN(INVALID_LUT_FILE); /* keine LUT-Datei */
|
26409
26495
|
|
26410
26496
|
/* nun die Blocks schreiben */
|
26411
|
-
rewind(lut);
|
26412
|
-
sprintf(buffer,"cnt: %d, TS: %ld, Gueltigkeit: %s %s",cnt,(long)ts,scl_gueltigkeit,scl_gueltigkeit_iso);
|
26497
|
+
rewind(lut); /* Info schreiben da� korrigierte Flags */
|
26498
|
+
sprintf(buffer,"cnt: %d, TS: %ld, Gueltigkeit: %s %s korrigiert",cnt,(long)ts,scl_gueltigkeit,scl_gueltigkeit_iso);
|
26413
26499
|
if((rv=write_lut_block_int(lut,LUT2_SCL_INFO,strlen(buffer)+1,buffer))!=OK){
|
26414
26500
|
fclose(lut);
|
26415
26501
|
FREE(scl_bic_block_s);
|
26416
26502
|
FREE(scl_name_block_s);
|
26417
26503
|
FREE(scl_flags_block_s);
|
26504
|
+
FREE(scl_flags_block_o);
|
26418
26505
|
RETURN(rv);
|
26419
26506
|
}
|
26420
26507
|
if((rv=write_lut_block_int(lut,LUT2_SCL_BIC,(UINT4)(ptr1-scl_bic_block_s+1),scl_bic_block_s))!=OK){
|
@@ -26422,6 +26509,7 @@ DLL_EXPORT int lut_write_scl_blocks(char *inputfile,char *lutfile)
|
|
26422
26509
|
FREE(scl_bic_block_s);
|
26423
26510
|
FREE(scl_name_block_s);
|
26424
26511
|
FREE(scl_flags_block_s);
|
26512
|
+
FREE(scl_flags_block_o);
|
26425
26513
|
RETURN(rv);
|
26426
26514
|
}
|
26427
26515
|
if((rv=write_lut_block_int(lut,LUT2_SCL_NAME,(UINT4)(ptr2-scl_name_block_s+1),scl_name_block_s))!=OK){
|
@@ -26429,13 +26517,23 @@ DLL_EXPORT int lut_write_scl_blocks(char *inputfile,char *lutfile)
|
|
26429
26517
|
FREE(scl_bic_block_s);
|
26430
26518
|
FREE(scl_name_block_s);
|
26431
26519
|
FREE(scl_flags_block_s);
|
26520
|
+
FREE(scl_flags_block_o);
|
26521
|
+
RETURN(rv);
|
26522
|
+
}
|
26523
|
+
if((rv=write_lut_block_int(lut,LUT2_SCL_FLAGS,(UINT4)(ptr4-scl_flags_block_o+1),scl_flags_block_o))!=OK){
|
26524
|
+
fclose(lut);
|
26525
|
+
FREE(scl_bic_block_s);
|
26526
|
+
FREE(scl_name_block_s);
|
26527
|
+
FREE(scl_flags_block_s);
|
26528
|
+
FREE(scl_flags_block_o);
|
26432
26529
|
RETURN(rv);
|
26433
26530
|
}
|
26434
|
-
if((rv=write_lut_block_int(lut,
|
26531
|
+
if((rv=write_lut_block_int(lut,LUT2_SCL_FLAGS_ORIG,(UINT4)(ptr3-scl_flags_block_s+1),scl_flags_block_s))!=OK){
|
26435
26532
|
fclose(lut);
|
26436
26533
|
FREE(scl_bic_block_s);
|
26437
26534
|
FREE(scl_name_block_s);
|
26438
26535
|
FREE(scl_flags_block_s);
|
26536
|
+
FREE(scl_flags_block_o);
|
26439
26537
|
RETURN(rv);
|
26440
26538
|
}
|
26441
26539
|
|
@@ -26443,6 +26541,7 @@ DLL_EXPORT int lut_write_scl_blocks(char *inputfile,char *lutfile)
|
|
26443
26541
|
FREE(scl_bic_block_s);
|
26444
26542
|
FREE(scl_name_block_s);
|
26445
26543
|
FREE(scl_flags_block_s);
|
26544
|
+
FREE(scl_flags_block_o);
|
26446
26545
|
RETURN(OK);
|
26447
26546
|
}
|
26448
26547
|
|
@@ -26451,17 +26550,17 @@ DLL_EXPORT int lut_write_scl_blocks(char *inputfile,char *lutfile)
|
|
26451
26550
|
* # Die Funktion lut_scl_init() liest die SCL-Blocks aus einer LUT-Datei #
|
26452
26551
|
* # und initialisiert die zugeh�rigen internen Datenstrukturen. #
|
26453
26552
|
* # #
|
26454
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26553
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26455
26554
|
* ###########################################################################
|
26456
26555
|
*/
|
26457
26556
|
DLL_EXPORT int lut_scl_init(char *lut_name)
|
26458
26557
|
{
|
26459
26558
|
char *ptr,*end;
|
26460
26559
|
int i,cnt,rv;
|
26461
|
-
static UINT4 block_size_0,block_size_1,block_size_2,block_size_3;
|
26560
|
+
static UINT4 block_size_0,block_size_1,block_size_2,block_size_3,block_size_4;
|
26462
26561
|
FILE *lut;
|
26463
26562
|
|
26464
|
-
if(scl_bic_array && scl_name_array && scl_flags_array)return OK; /* schon initialisiert */
|
26563
|
+
if(scl_bic_array && scl_name_array && scl_flags_array && scl_flags_array_o)return OK; /* schon initialisiert */
|
26465
26564
|
|
26466
26565
|
if(!(lut=fopen(lut_name,"rb")))RETURN(FILE_READ_ERROR);
|
26467
26566
|
if((rv=read_lut_block_int(lut,0,LUT2_SCL_INFO,&block_size_0,&scl_info_block))<0){
|
@@ -26492,6 +26591,15 @@ DLL_EXPORT int lut_scl_init(char *lut_name)
|
|
26492
26591
|
else
|
26493
26592
|
return rv;
|
26494
26593
|
}
|
26594
|
+
if((rv=read_lut_block_int(lut,0,LUT2_SCL_FLAGS_ORIG,&block_size_4,&scl_flags_block_orig))<0){
|
26595
|
+
/* hier retval<0 ignorieren, denn bei alten LUT_Dateien ist der Block nicht enthalten.
|
26596
|
+
* In dem Fall kann der Block durch den Block LUT2_SCL_FLAGS ersetzt werden. Die BIC Flags
|
26597
|
+
* sind in dem Fall dann nicht korrigiert. Lohnt sich nicht, das hier zu machen, da die
|
26598
|
+
* LUT-Dateien die mit dieser Version erzeugt werden, den Block enthalten.
|
26599
|
+
*/
|
26600
|
+
scl_flags_block_orig=scl_flags_block;
|
26601
|
+
block_size_4=block_size_3;
|
26602
|
+
}
|
26495
26603
|
fclose(lut);
|
26496
26604
|
if((i=sscanf(scl_info_block,"cnt: %d, TS: %ld, Gueltigkeit: %15s %15s",
|
26497
26605
|
&cnt,&scl_ts,(char *)&scl_gueltigkeit,(char *)&scl_gueltigkeit_iso))!=4)RETURN(INVALID_SCL_INFO_BLOCK);
|
@@ -26499,6 +26607,7 @@ DLL_EXPORT int lut_scl_init(char *lut_name)
|
|
26499
26607
|
scl_bic_array=(char **)calloc(sizeof(char*),cnt);
|
26500
26608
|
scl_name_array=(char **)calloc(sizeof(char*),cnt);
|
26501
26609
|
scl_flags_array=(char **)calloc(sizeof(char*),cnt);
|
26610
|
+
scl_flags_array_o=(char **)calloc(sizeof(char*),cnt);
|
26502
26611
|
|
26503
26612
|
for(i=0,ptr=scl_bic_block,end=scl_bic_block+block_size_1;i<cnt && ptr<end;i++){
|
26504
26613
|
scl_bic_array[i]=ptr;
|
@@ -26514,6 +26623,11 @@ DLL_EXPORT int lut_scl_init(char *lut_name)
|
|
26514
26623
|
scl_flags_array[i++]=ptr;
|
26515
26624
|
while(*ptr++ && ptr<end);
|
26516
26625
|
}
|
26626
|
+
|
26627
|
+
for(i=0,ptr=scl_flags_block_orig,end=scl_flags_block_orig+block_size_4;i<cnt && ptr<end;){
|
26628
|
+
scl_flags_array_o[i++]=ptr;
|
26629
|
+
while(*ptr++ && ptr<end);
|
26630
|
+
}
|
26517
26631
|
scl_cnt=cnt;
|
26518
26632
|
RETURN(OK);
|
26519
26633
|
}
|
@@ -26523,7 +26637,7 @@ DLL_EXPORT int lut_scl_init(char *lut_name)
|
|
26523
26637
|
* # Die Funktion lut_scl_info() gibt Infos �ber die Anzahl der Eintr�ge im #
|
26524
26638
|
* # SCL-Verzeichnis sowie das Datum, ab wann die Datei g�ltig ist. #
|
26525
26639
|
* # #
|
26526
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26640
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26527
26641
|
* ###########################################################################
|
26528
26642
|
*/
|
26529
26643
|
DLL_EXPORT int lut_scl_info(char *lutfile,int *cnt,const char **gueltigkeit,const char **gueltigkeit_iso)
|
@@ -26559,16 +26673,16 @@ DLL_EXPORT int lut_scl_info(char *lutfile,int *cnt,const char **gueltigkeit,cons
|
|
26559
26673
|
* # Die Funktion lut_scl_multi() gibt alle Eintr�ge des SCL-Verzeichnisses #
|
26560
26674
|
* # zu einem gegebenen BIC zur�ck. #
|
26561
26675
|
* # #
|
26562
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26676
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26563
26677
|
* ###########################################################################
|
26564
26678
|
*/
|
26565
26679
|
DLL_EXPORT int lut_scl_multi(char *bic,const char **scl_flags,const char **used_bic,const char **scl_name)
|
26566
26680
|
{
|
26567
|
-
int i,rv;
|
26681
|
+
int i,rv,raw;
|
26568
26682
|
|
26569
|
-
i=scl_idx(bic,&rv);
|
26683
|
+
i=scl_idx(bic,&rv,&raw);
|
26570
26684
|
if(rv<0)return rv;
|
26571
|
-
if(scl_flags)*scl_flags=scl_flags_array[i];
|
26685
|
+
if(scl_flags)*scl_flags=raw?scl_flags_array_o[i]:scl_flags_array[i];
|
26572
26686
|
if(used_bic)*used_bic=scl_bic_array[i];
|
26573
26687
|
if(scl_name)*scl_name=scl_name_array[i];
|
26574
26688
|
return rv;
|
@@ -26581,15 +26695,15 @@ DLL_EXPORT int lut_scl_multi(char *bic,const char **scl_flags,const char **used_
|
|
26581
26695
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26582
26696
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26583
26697
|
* # #
|
26584
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26698
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26585
26699
|
* ###########################################################################
|
26586
26700
|
*/
|
26587
26701
|
DLL_EXPORT int lut_scl_sct(char *bic,int *retval)
|
26588
26702
|
{
|
26589
26703
|
char *flags;
|
26590
|
-
int i,rv;
|
26704
|
+
int i,rv,raw;
|
26591
26705
|
|
26592
|
-
i=scl_idx(bic,&rv);
|
26706
|
+
i=scl_idx(bic,&rv,&raw);
|
26593
26707
|
if(rv<0){
|
26594
26708
|
if(retval)*retval=rv;
|
26595
26709
|
return -1;
|
@@ -26607,15 +26721,15 @@ DLL_EXPORT int lut_scl_sct(char *bic,int *retval)
|
|
26607
26721
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26608
26722
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26609
26723
|
* # #
|
26610
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26724
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26611
26725
|
* ###########################################################################
|
26612
26726
|
*/
|
26613
26727
|
DLL_EXPORT int lut_scl_sdd(char *bic,int *retval)
|
26614
26728
|
{
|
26615
26729
|
char *flags;
|
26616
|
-
int i,rv;
|
26730
|
+
int i,rv,raw;
|
26617
26731
|
|
26618
|
-
i=scl_idx(bic,&rv);
|
26732
|
+
i=scl_idx(bic,&rv,&raw);
|
26619
26733
|
if(rv<0){
|
26620
26734
|
if(retval)*retval=rv;
|
26621
26735
|
return -1;
|
@@ -26634,15 +26748,15 @@ DLL_EXPORT int lut_scl_sdd(char *bic,int *retval)
|
|
26634
26748
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26635
26749
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26636
26750
|
* # #
|
26637
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26751
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26638
26752
|
* ###########################################################################
|
26639
26753
|
*/
|
26640
26754
|
DLL_EXPORT int lut_scl_cor1(char *bic,int *retval)
|
26641
26755
|
{
|
26642
26756
|
char *flags;
|
26643
|
-
int i,rv;
|
26757
|
+
int i,rv,raw;
|
26644
26758
|
|
26645
|
-
i=scl_idx(bic,&rv);
|
26759
|
+
i=scl_idx(bic,&rv,&raw);
|
26646
26760
|
if(rv<0){
|
26647
26761
|
if(retval)*retval=rv;
|
26648
26762
|
return -1;
|
@@ -26660,15 +26774,15 @@ DLL_EXPORT int lut_scl_cor1(char *bic,int *retval)
|
|
26660
26774
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26661
26775
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26662
26776
|
* # #
|
26663
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26777
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26664
26778
|
* ###########################################################################
|
26665
26779
|
*/
|
26666
26780
|
DLL_EXPORT int lut_scl_b2b(char *bic,int *retval)
|
26667
26781
|
{
|
26668
26782
|
char *flags;
|
26669
|
-
int i,rv;
|
26783
|
+
int i,rv,raw;
|
26670
26784
|
|
26671
|
-
i=scl_idx(bic,&rv);
|
26785
|
+
i=scl_idx(bic,&rv,&raw);
|
26672
26786
|
if(rv<0){
|
26673
26787
|
if(retval)*retval=rv;
|
26674
26788
|
return -1;
|
@@ -26686,15 +26800,15 @@ DLL_EXPORT int lut_scl_b2b(char *bic,int *retval)
|
|
26686
26800
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26687
26801
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26688
26802
|
* # #
|
26689
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26803
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26690
26804
|
* ###########################################################################
|
26691
26805
|
*/
|
26692
26806
|
DLL_EXPORT int lut_scl_scc(char *bic,int *retval)
|
26693
26807
|
{
|
26694
26808
|
char *flags;
|
26695
|
-
int i,rv;
|
26809
|
+
int i,rv,raw;
|
26696
26810
|
|
26697
|
-
i=scl_idx(bic,&rv);
|
26811
|
+
i=scl_idx(bic,&rv,&raw);
|
26698
26812
|
if(rv<0){
|
26699
26813
|
if(retval)*retval=rv;
|
26700
26814
|
return -1;
|
@@ -26712,17 +26826,17 @@ DLL_EXPORT int lut_scl_scc(char *bic,int *retval)
|
|
26712
26826
|
* # einen BIC umgewandelt werden mu�, m�ssen auch die Blocks BLZ und BIC #
|
26713
26827
|
* # der LUT-Datei initialisiert sein, sonst wird ein Fehler zur�ckgegeben. #
|
26714
26828
|
* # #
|
26715
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26829
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26716
26830
|
* ###########################################################################
|
26717
26831
|
*/
|
26718
26832
|
DLL_EXPORT int lut_scl_multi_blz(char *blz,const char **scl_flags,const char **used_bic,const char **scl_name)
|
26719
26833
|
{
|
26720
26834
|
const char *bic;
|
26721
|
-
int i,rv;
|
26835
|
+
int i,rv,raw;
|
26722
26836
|
|
26723
26837
|
bic=lut_bic(blz,0,&rv);
|
26724
26838
|
if(rv<0)return rv;
|
26725
|
-
i=scl_idx(bic,&rv);
|
26839
|
+
i=scl_idx(bic,&rv,&raw);
|
26726
26840
|
if(rv<0)return rv;
|
26727
26841
|
if(scl_flags)*scl_flags=scl_flags_array[i];
|
26728
26842
|
if(used_bic)*used_bic=scl_bic_array[i];
|
@@ -26737,14 +26851,14 @@ DLL_EXPORT int lut_scl_multi_blz(char *blz,const char **scl_flags,const char **u
|
|
26737
26851
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26738
26852
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26739
26853
|
* # #
|
26740
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26854
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26741
26855
|
* ###########################################################################
|
26742
26856
|
*/
|
26743
26857
|
DLL_EXPORT int lut_scl_sct_blz(char *blz,int *retval,const char **used_bic)
|
26744
26858
|
{
|
26745
26859
|
char *flags;
|
26746
26860
|
const char *bic;
|
26747
|
-
int i,rv;
|
26861
|
+
int i,rv,raw;
|
26748
26862
|
|
26749
26863
|
bic=lut_bic(blz,0,&rv);
|
26750
26864
|
if(rv<0){
|
@@ -26753,7 +26867,7 @@ DLL_EXPORT int lut_scl_sct_blz(char *blz,int *retval,const char **used_bic)
|
|
26753
26867
|
}
|
26754
26868
|
else
|
26755
26869
|
if(retval)*retval=OK;
|
26756
|
-
i=scl_idx(bic,&rv);
|
26870
|
+
i=scl_idx(bic,&rv,&raw);
|
26757
26871
|
if(rv<0){
|
26758
26872
|
if(retval)*retval=rv;
|
26759
26873
|
return -1;
|
@@ -26772,14 +26886,14 @@ DLL_EXPORT int lut_scl_sct_blz(char *blz,int *retval,const char **used_bic)
|
|
26772
26886
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26773
26887
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26774
26888
|
* # #
|
26775
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26889
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26776
26890
|
* ###########################################################################
|
26777
26891
|
*/
|
26778
26892
|
DLL_EXPORT int lut_scl_sdd_blz(char *blz,int *retval,const char **used_bic)
|
26779
26893
|
{
|
26780
26894
|
char *flags;
|
26781
26895
|
const char *bic;
|
26782
|
-
int i,rv;
|
26896
|
+
int i,rv,raw;
|
26783
26897
|
|
26784
26898
|
bic=lut_bic(blz,0,&rv);
|
26785
26899
|
if(rv<0){
|
@@ -26788,7 +26902,7 @@ DLL_EXPORT int lut_scl_sdd_blz(char *blz,int *retval,const char **used_bic)
|
|
26788
26902
|
}
|
26789
26903
|
else
|
26790
26904
|
if(retval)*retval=OK;
|
26791
|
-
i=scl_idx(bic,&rv);
|
26905
|
+
i=scl_idx(bic,&rv,&raw);
|
26792
26906
|
if(rv<0){
|
26793
26907
|
if(retval)*retval=rv;
|
26794
26908
|
return -1;
|
@@ -26808,14 +26922,14 @@ DLL_EXPORT int lut_scl_sdd_blz(char *blz,int *retval,const char **used_bic)
|
|
26808
26922
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26809
26923
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26810
26924
|
* # #
|
26811
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26925
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26812
26926
|
* ###########################################################################
|
26813
26927
|
*/
|
26814
26928
|
DLL_EXPORT int lut_scl_cor1_blz(char *blz,int *retval,const char **used_bic)
|
26815
26929
|
{
|
26816
26930
|
char *flags;
|
26817
26931
|
const char *bic;
|
26818
|
-
int i,rv;
|
26932
|
+
int i,rv,raw;
|
26819
26933
|
|
26820
26934
|
bic=lut_bic(blz,0,&rv);
|
26821
26935
|
if(rv<0){
|
@@ -26824,7 +26938,7 @@ DLL_EXPORT int lut_scl_cor1_blz(char *blz,int *retval,const char **used_bic)
|
|
26824
26938
|
}
|
26825
26939
|
else
|
26826
26940
|
if(retval)*retval=OK;
|
26827
|
-
i=scl_idx(bic,&rv);
|
26941
|
+
i=scl_idx(bic,&rv,&raw);
|
26828
26942
|
if(rv<0){
|
26829
26943
|
if(retval)*retval=rv;
|
26830
26944
|
return -1;
|
@@ -26843,14 +26957,14 @@ DLL_EXPORT int lut_scl_cor1_blz(char *blz,int *retval,const char **used_bic)
|
|
26843
26957
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26844
26958
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26845
26959
|
* # #
|
26846
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26960
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26847
26961
|
* ###########################################################################
|
26848
26962
|
*/
|
26849
26963
|
DLL_EXPORT int lut_scl_b2b_blz(char *blz,int *retval,const char **used_bic)
|
26850
26964
|
{
|
26851
26965
|
char *flags;
|
26852
26966
|
const char *bic;
|
26853
|
-
int i,rv;
|
26967
|
+
int i,rv,raw;
|
26854
26968
|
|
26855
26969
|
bic=lut_bic(blz,0,&rv);
|
26856
26970
|
if(rv<0){
|
@@ -26859,7 +26973,7 @@ DLL_EXPORT int lut_scl_b2b_blz(char *blz,int *retval,const char **used_bic)
|
|
26859
26973
|
}
|
26860
26974
|
else
|
26861
26975
|
if(retval)*retval=OK;
|
26862
|
-
i=scl_idx(bic,&rv);
|
26976
|
+
i=scl_idx(bic,&rv,&raw);
|
26863
26977
|
if(rv<0){
|
26864
26978
|
if(retval)*retval=rv;
|
26865
26979
|
return -1;
|
@@ -26878,14 +26992,14 @@ DLL_EXPORT int lut_scl_b2b_blz(char *blz,int *retval,const char **used_bic)
|
|
26878
26992
|
* # Im Fehlerfall wird -1 zur�ckgegeben und die Variable retval auf den #
|
26879
26993
|
* # entsprechende Fehlercode (<0) gesetzt. #
|
26880
26994
|
* # #
|
26881
|
-
* # Copyright (C) 2018 Michael Plugge <
|
26995
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26882
26996
|
* ###########################################################################
|
26883
26997
|
*/
|
26884
26998
|
DLL_EXPORT int lut_scl_scc_blz(char *blz,int *retval,const char **used_bic)
|
26885
26999
|
{
|
26886
27000
|
char *flags;
|
26887
27001
|
const char *bic;
|
26888
|
-
int i,rv;
|
27002
|
+
int i,rv,raw;
|
26889
27003
|
|
26890
27004
|
bic=lut_bic(blz,0,&rv);
|
26891
27005
|
if(rv<0){
|
@@ -26894,7 +27008,7 @@ DLL_EXPORT int lut_scl_scc_blz(char *blz,int *retval,const char **used_bic)
|
|
26894
27008
|
}
|
26895
27009
|
else
|
26896
27010
|
if(retval)*retval=OK;
|
26897
|
-
i=scl_idx(bic,&rv);
|
27011
|
+
i=scl_idx(bic,&rv,&raw);
|
26898
27012
|
if(rv<0){
|
26899
27013
|
if(retval)*retval=rv;
|
26900
27014
|
return -1;
|
@@ -26911,17 +27025,17 @@ DLL_EXPORT int lut_scl_scc_blz(char *blz,int *retval,const char **used_bic)
|
|
26911
27025
|
* # Diese Funktion entspricht der Funktion lut_scl_multi_blz(), nur wird #
|
26912
27026
|
* # die BLZ als Integer-Wert statt als String �bergeben. #
|
26913
27027
|
* # #
|
26914
|
-
* # Copyright (C) 2018 Michael Plugge <
|
27028
|
+
* # Copyright (C) 2018 Michael Plugge <konto_check@yahoo.com> #
|
26915
27029
|
* ###########################################################################
|
26916
27030
|
*/
|
26917
27031
|
DLL_EXPORT int lut_scl_multi_blz_i(int blz,const char **scl_flags,const char **used_bic,const char **scl_name)
|
26918
27032
|
{
|
26919
27033
|
const char *bic;
|
26920
|
-
int i,rv;
|
27034
|
+
int i,rv,raw;
|
26921
27035
|
|
26922
27036
|
bic=lut_bic_i(blz,0,&rv);
|
26923
27037
|
if(rv<0)return rv;
|
26924
|
-
i=scl_idx(bic,&rv);
|
27038
|
+
i=scl_idx(bic,&rv,&raw);
|
26925
27039
|
if(rv<0)return rv;
|
26926
27040
|
if(scl_flags)*scl_flags=scl_flags_array[i];
|
26927
27041
|
if(used_bic)*used_bic=scl_bic_array[i];
|