konto_check 5.4.0 → 5.5.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.
@@ -482,7 +482,7 @@ static void get_params(int argc,VALUE* argv,char *arg1s,char *arg2s,char *arg3s,
482
482
  * =====KontoCheck::konto_check_pz( pz, kto [,blz])
483
483
  *
484
484
  * Diese Funktion testet, ob eine gegebene Prüfziffer/Kontonummer-Kombination gültig ist.
485
- *
485
+ *
486
486
  * ====Aufruf:
487
487
  * ret=KontoCheckRaw::konto_check_pz( pz, kto [,blz])
488
488
  *
@@ -495,7 +495,7 @@ static void get_params(int argc,VALUE* argv,char *arg1s,char *arg2s,char *arg3s,
495
495
  * Wird der Parameter bei einem dieser Verfahren nicht angegeben, wird
496
496
  * stattdessen eine Test-BLZ (wie in der Beschreibung der Prüfziffermethoden
497
497
  * von der Deutschen Bundesbank angegeben) eingesetzt.
498
- *
498
+ *
499
499
  * ====Rückgabe:
500
500
  * Die Funktion gibt einen skalaren Statuscode zurück, der das Ergebnis der
501
501
  * Prüfung enthält.
@@ -534,7 +534,7 @@ static VALUE konto_check_pz(int argc,VALUE* argv,VALUE self)
534
534
  * ====Parameter:
535
535
  * * blz: Die Bankleitzahl der zu testenden Bankverbindung
536
536
  * * kto: Die Kontonummer der zu testenden Bankverbindung
537
- *
537
+ *
538
538
  * ====Rückgabe:
539
539
  * Rückgabe ist ein skalarer Statuswert, der das Ergebnis der Prüfung enthält.
540
540
  *
@@ -581,7 +581,7 @@ static VALUE konto_check(int argc,VALUE* argv,VALUE self)
581
581
  * ====Parameter:
582
582
  * * blz: Die Bankleitzahl der zu testenden Bankverbindung
583
583
  * * kto: Die Kontonummer der zu testenden Bankverbindung
584
- *
584
+ *
585
585
  * ====Rückgabe:
586
586
  * Rückgabe ist ein skalarer Statuswert, der das Ergebnis der Prüfung enthält.
587
587
  * Es sind auch die Rückgabewerte der Initialisierung möglich (wegen iban_init()),
@@ -654,7 +654,7 @@ static VALUE konto_check_regel(int argc,VALUE* argv,VALUE self)
654
654
  * ====Parameter:
655
655
  * * blz: Die Bankleitzahl der zu testenden Bankverbindung
656
656
  * * kto: Die Kontonummer der zu testenden Bankverbindung
657
- *
657
+ *
658
658
  * ====Rückgabe:
659
659
  * Rückgabe ist ein Array mit 10 Elementen, der das Ergebnis der Prüfung sowie eine Reihe
660
660
  * interner Werte enthält. Für den Statuscode sind auch die Rückgabewerte der Initialisierung
@@ -737,11 +737,11 @@ static VALUE konto_check_regel_dbg(int argc,VALUE* argv,VALUE self)
737
737
  *
738
738
  * ====Parameter:
739
739
  * * mode: Ausgabeformat (1..3)
740
- *
740
+ *
741
741
  * ====Rückgabe:
742
742
  * Rückgabe ist ein Array mit vier Elementen, das den Statuscode sowie drei Strings
743
743
  * mit dem Dateinamen sowie den Blocklisten enthält:
744
- *
744
+ *
745
745
  * * das erste Element enthält den Statuscode
746
746
  * * das zweite Element enthält den Dateinamen der verwendeten LUT-Datei
747
747
  * * das dritte Element enthält eine Liste der geladenen LUT-Blocks
@@ -796,10 +796,10 @@ static VALUE lut_blocks_rb(int argc,VALUE* argv,VALUE self)
796
796
  * Diese Funktion entspricht weitgehend der Funktion lut_blocks(); sie
797
797
  * gibt allerdings nur den Statuscode zurück, keine Strings. Sie wird
798
798
  * für die Funktion KontoCheck::lut_blocks() benutzt.
799
- *
799
+ *
800
800
  * ====Parameter:
801
801
  * * keine
802
- *
802
+ *
803
803
  * ====Rückgabe:
804
804
  * Rückgabe ist ein Integerwert, der Aufschluß über den aktuellen Stand der Initialisierung gibt.
805
805
  *
@@ -936,7 +936,7 @@ static VALUE init(int argc,VALUE* argv,VALUE self)
936
936
  * wurde, sonst 1 oder 2), das dritte der Initialisierungslevel und das vierte
937
937
  * der Statuscode.
938
938
  *
939
- *
939
+ *
940
940
  * ====Mögliche Statuscodes:
941
941
  * * -40 (LUT2_NOT_INITIALIZED) "die Programmbibliothek wurde noch nicht initialisiert"
942
942
  * * 1 (OK) "ok"
@@ -972,7 +972,6 @@ static VALUE free_rb(VALUE self)
972
972
  *
973
973
  * Diese Funktion generiert eine neue LUT-Datei aus der BLZ-Datei der Deutschen Bundesbank. Die folgenden
974
974
  * Parameter werden unterstützt:
975
- * ====Aufruf:
976
975
  *
977
976
  * ====Parameter:
978
977
  *
@@ -997,7 +996,7 @@ static VALUE free_rb(VALUE self)
997
996
  * * filialen: (0 oder 1) Flag, ob nur die Daten der Hauptstellen (0) oder auch die der Filialen aufgenommen werden sollen
998
997
  * * set (0, 1 oder 2): Datensatz-Nummer. Jede LUT-Datei kann zwei Datensätze enthalten. Falls bei der Initialisierung nicht ein bestimmter Datensatz ausgewählt wird, wird derjenige genommen, der (laut Gültigkeitsstring) aktuell gültig ist. Bei 0 wird eine neue LUT-Datei generiert, bei 1 oder 2 wird der entsprechende Datensatz angehängt.
999
998
  * * iban_blacklist: Datei der Banken, die einer Selbstberechnung des IBAN nicht zugestimmt haben, bzw. von der IBAN-Berechnung ausgeschlossen werden sollen
1000
- *
999
+ *
1001
1000
  * ====Rückgabe:
1002
1001
  *
1003
1002
  * ====Mögliche Statuscodes:
@@ -1114,6 +1113,143 @@ static VALUE generate_lutfile_rb(int argc,VALUE* argv,VALUE self)
1114
1113
  return INT2FIX(retval);
1115
1114
  }
1116
1115
 
1116
+
1117
+ /**
1118
+ * ===KontoCheckRaw::rebuild_blzfile( inputfile,outputfile,set)
1119
+ * =====KontoCheck::rebuild_blzfile( inputfile,outputfile,set)
1120
+ *
1121
+ * Die Funktion rebuild_blzfile() war ursprünglich als Härtetest für die
1122
+ * LUT2-Routinen konzipiert: mit ihr lässt sich die BLZ-Datei komplett aus
1123
+ * einer LUT-Datei neu generieren. Die Funktion ist allerdings auch so
1124
+ * interessant, so daß sie in alle Ports eingebunden wurde. Die generierte
1125
+ * BLZ-Datei sollte (bis auf die Sortierung und die vier Testbanken) keinen
1126
+ * Unterschied zur originalen BLZ-Datei aufweisen.
1127
+ *
1128
+ * Falls der Parameter set 1 oder 2 ist, wird als Eingabedatei eine LUT-
1129
+ * datei erwartet; bei einem set-Parameter von 0 eine Klartextdatei
1130
+ * (Bundesbankdatei).
1131
+ *
1132
+ * Copyright (C) 2014 Michael Plugge <m.plugge@hs-mannheim.de>
1133
+ *
1134
+ * ====Aufruf:
1135
+ * retval=KontoCheckRaw::rebuild_blzfile(inputname,outputname,set)
1136
+ *
1137
+ * ====Parameter:
1138
+ *
1139
+ * * inputfile: Eingabedatei (LUT-Datei oder Textdatei der Deutschen Bundesbank)
1140
+ * * outputfile: Name der Ausgabedatei
1141
+ * * set: (0, 1 oder 2)
1142
+ * 0: Die Eingabedatei ist eine Textdatei; es wird eine LUT-Datei generieret und diese wieder zurück umgewandlt.
1143
+ * 1. Das erste Set der LUT-Datei wird extrahiert
1144
+ * 2. Das zweite Set der LUT-Datei wird extrahiert
1145
+ *
1146
+ * ====Rückgabe:
1147
+ * Rückgabe ist ein skalarer Statuscode, der die folgenden Werte annehmen kann:
1148
+ *
1149
+ * ====Mögliche Statuscodes:
1150
+ * * -112 (KTO_CHECK_UNSUPPORTED_COMPRESSION) "die notwendige Kompressions-Bibliothek wurde beim Kompilieren nicht eingebunden"
1151
+ * * -64 (INIT_FATAL_ERROR) "Initialisierung fehlgeschlagen (init_wait geblockt)"
1152
+ * * -57 (LUT2_GUELTIGKEIT_SWAPPED) "Im Gültigkeitsdatum sind Anfangs- und Enddatum vertauscht"
1153
+ * * -56 (LUT2_INVALID_GUELTIGKEIT) "Das angegebene Gültigkeitsdatum ist ungültig (Soll: JJJJMMTT-JJJJMMTT)"
1154
+ * * -38 (LUT2_PARTIAL_OK) "es wurden nicht alle Blocks geladen"
1155
+ * * -36 (LUT2_Z_MEM_ERROR) "Memory error in den ZLIB-Routinen"
1156
+ * * -35 (LUT2_Z_DATA_ERROR) "Datenfehler im komprimierten LUT-Block"
1157
+ * * -34 (LUT2_BLOCK_NOT_IN_FILE) "Der Block ist nicht in der LUT-Datei enthalten"
1158
+ * * -33 (LUT2_DECOMPRESS_ERROR) "Fehler beim Dekomprimieren eines LUT-Blocks"
1159
+ * * -32 (LUT2_COMPRESS_ERROR) "Fehler beim Komprimieren eines LUT-Blocks"
1160
+ * * -31 (LUT2_FILE_CORRUPTED) "Die LUT-Datei ist korrumpiert"
1161
+ * * -20 (LUT_CRC_ERROR) "Prüfsummenfehler in der blz.lut Datei"
1162
+ * * -15 (INVALID_BLZ_FILE) "Fehler in der blz.txt Datei (falsche Zeilenlänge)"
1163
+ * * -13 (FATAL_ERROR) "schwerer Fehler im Konto_check-Modul"
1164
+ * * -11 (FILE_WRITE_ERROR) "kann Datei nicht schreiben"
1165
+ * * -10 (FILE_READ_ERROR) "kann Datei nicht lesen"
1166
+ * * -9 (ERROR_MALLOC) "kann keinen Speicher allokieren"
1167
+ * * -7 (INVALID_LUT_FILE) "die blz.lut Datei ist inkosistent/ungültig"
1168
+ * * -6 (NO_LUT_FILE) "die blz.lut Datei wurde nicht gefunden"
1169
+ * * 1 (OK) "ok"
1170
+ */
1171
+
1172
+ static VALUE rebuild_blzfile_rb(int argc,VALUE* argv,VALUE self)
1173
+ {
1174
+ char input_name[FILENAME_MAX+1],output_name[FILENAME_MAX+1];
1175
+ char buffer[16];
1176
+ int retval,set,len;
1177
+ VALUE input_name_rb,output_name_rb,set_rb;
1178
+
1179
+ rb_scan_args(argc,argv,"30",&input_name_rb,&output_name_rb,&set_rb);
1180
+
1181
+ if(TYPE(input_name_rb)==RUBY_T_STRING){
1182
+ if((len=RSTRING_LEN(input_name_rb))>FILENAME_MAX)len=FILENAME_MAX;
1183
+ strncpy(input_name,RSTRING_PTR(input_name_rb),len);
1184
+ *(input_name+len)=0;
1185
+ }
1186
+ else
1187
+ rb_raise(rb_eTypeError,"%s","Unable to convert given input filename.");
1188
+
1189
+ if(TYPE(output_name_rb)==RUBY_T_STRING){
1190
+ if((len=RSTRING_LEN(output_name_rb))>FILENAME_MAX)len=FILENAME_MAX;
1191
+ strncpy(output_name,RSTRING_PTR(output_name_rb),len);
1192
+ *(output_name+len)=0;
1193
+ }
1194
+ else
1195
+ rb_raise(rb_eTypeError,"%s","Unable to convert given output filename.");
1196
+
1197
+ if(NIL_P(set_rb))
1198
+ set=1;
1199
+ else if(TYPE(set_rb)==RUBY_T_STRING){
1200
+ if((len=RSTRING_LEN(set_rb))>15)len=15;
1201
+ strncpy(buffer,RSTRING_PTR(set_rb),len);
1202
+ *(buffer+len)=0;
1203
+ set=atoi(buffer);
1204
+ }
1205
+ else
1206
+ set=NUM2INT(set_rb);
1207
+ retval=rebuild_blzfile(input_name,output_name,set);
1208
+ return INT2FIX(retval);
1209
+ }
1210
+
1211
+ /**
1212
+ * ===KontoCheckRaw::pz_aenderungen_enable( set)
1213
+ * =====KontoCheck::pz_aenderungen_enable( set)
1214
+ *
1215
+ * Die Funktion pz_aenderungen_enable() dient dazu, den Status des Flags
1216
+ * pz_aenderungen_aktivieren abzufragen bzw. zu setzen. Falls die Variable
1217
+ * set 1 ist, werden die Änderungen aktiviert, falls sie 0 ist, werden die
1218
+ * Änderungen deaktiviert. Beim Aufruf ohne Parameter oder mit einem anderen
1219
+ * Wert wird das aktuelle Flag nicht verändert, sondern nur der Status
1220
+ * zurückgegeben.
1221
+ *
1222
+ * ====Parameter:
1223
+ *
1224
+ * set: 0 oder 1: Änderungen deaktivieren/aktivieren
1225
+ * anderer Wert: nur Abfrage des Status
1226
+ *
1227
+ * ====Rückgabe:
1228
+ * Rückgabe: aktueller Status des Flags
1229
+ */
1230
+
1231
+ static int pz_aenderungen_enable_rb(int argc,VALUE *argv)
1232
+ {
1233
+ int mode;
1234
+ VALUE mode_rb=Qnil;
1235
+
1236
+ rb_scan_args(argc,argv,"01",&mode_rb);
1237
+ if(mode_rb==Qnil)
1238
+ mode=-1; /* Abfrage */
1239
+ else switch(TYPE(mode_rb)){
1240
+ case RUBY_T_FLOAT:
1241
+ case RUBY_T_FIXNUM:
1242
+ case RUBY_T_BIGNUM:
1243
+ mode=NUM2INT(mode_rb);
1244
+ break;
1245
+ default:
1246
+ rb_raise(rb_eTypeError,"%s","Unable to convert given value to int");
1247
+ break;
1248
+ }
1249
+ return INT2FIX(pz_aenderungen_enable(mode));
1250
+ }
1251
+
1252
+ /* Hilfsfunktion */
1117
1253
  static int enc_mode(int argc,VALUE *argv)
1118
1254
  {
1119
1255
  int mode;
@@ -1196,7 +1332,7 @@ static int enc_mode(int argc,VALUE *argv)
1196
1332
  * Rückgabewert ist die aktuelle Kodierung als Integer (falls zwei Kodierungen
1197
1333
  * angegeben sind, ist die erste die der Statusmeldungen, die zweite die der
1198
1334
  * LUT-Blocks):
1199
- *
1335
+ *
1200
1336
  * * 0: "noch nicht spezifiziert" (vor der Initialisierung)
1201
1337
  * * 1: "ISO-8859-1";
1202
1338
  * * 2: "UTF-8";
@@ -1239,7 +1375,7 @@ static VALUE encoding_rb(int argc,VALUE* argv,VALUE self)
1239
1375
  *
1240
1376
  * ====Parameter:
1241
1377
  * wie bei KontoCheckRaw::encoding()
1242
- *
1378
+ *
1243
1379
  * ====Rückgabe:
1244
1380
  * Rückgabewert ist die aktuelle Kodierung als String:
1245
1381
  *
@@ -1284,7 +1420,7 @@ static VALUE encoding_str_rb(int argc,VALUE* argv,VALUE self)
1284
1420
  *
1285
1421
  * Da diese Funktion etwas exotisch ist, ist sie nur in der KontoCheckRaw
1286
1422
  * Bibliothek enthalten, nicht in KontoCheck.
1287
- *
1423
+ *
1288
1424
  * ====Aufruf:
1289
1425
  * retval=KontoCheck::encoding( mode)
1290
1426
  *
@@ -1292,7 +1428,7 @@ static VALUE encoding_str_rb(int argc,VALUE* argv,VALUE self)
1292
1428
  * Das Verhalten der Funktion wird durch den Parameter mode gesteuert:
1293
1429
  * * -1: Flag keep_raw_data ausschalten
1294
1430
  * * 1: Flag keep_raw_data einschalten
1295
- * * 0/nil: Flag lesen
1431
+ * * 0/nil: Flag lesen
1296
1432
  *
1297
1433
  * ====Mögliche Rückgabewerte
1298
1434
  * Der Rückgabewert ist true oder false.
@@ -1340,7 +1476,7 @@ static VALUE retval2txt_rb(VALUE self, VALUE retval)
1340
1476
  * =====KontoCheck::retval2iso( retval)
1341
1477
  *
1342
1478
  * Diese Funktion konvertiert einen numerischen Rückgabewert in einen String.
1343
- * Der benutzte Zeichensatz ist ISO 8859-1.
1479
+ * Der benutzte Zeichensatz ist ISO 8859-1.
1344
1480
  *
1345
1481
  * ====Aufruf:
1346
1482
  * retval_str=KontoCheckRaw::retval2iso( retval)
@@ -1380,7 +1516,7 @@ static VALUE retval2txt_short_rb(VALUE self, VALUE retval)
1380
1516
  /**
1381
1517
  * ===KontoCheckRaw::retval2dos( retval)
1382
1518
  * =====KontoCheck::retval2dos( retval)
1383
- *
1519
+ *
1384
1520
  * Diese Funktion konvertiert einen numerischen Rückgabewert in einen String.
1385
1521
  * Der benutzte Zeichensatz ist cp850 (DOS).
1386
1522
  *
@@ -1495,10 +1631,10 @@ static VALUE dump_lutfile_rb(int argc,VALUE* argv,VALUE self)
1495
1631
  *
1496
1632
  * Diese Funktion liefert Informationen über die Datensätze sowie die beiden
1497
1633
  * Infoblocks einer LUT-Date oder die in den Speicher geladenen Blocks.
1498
- *
1634
+ *
1499
1635
  * ====Aufruf:
1500
1636
  * ret=KontoCheckRaw::lut_info( [lutfile])
1501
- *
1637
+ *
1502
1638
  * ====Parameter:
1503
1639
  * * lutfile: Name der LUT-Datei, falls angegeben. Falls der Parameter weggelassen wird, werden Infnos über die geladenen Blocks zurückgegeben.
1504
1640
  *
@@ -1511,7 +1647,7 @@ static VALUE dump_lutfile_rb(int argc,VALUE* argv,VALUE self)
1511
1647
  * * das dritte Element (valid2) enthält den Gültigkeitscode für den zweiten Block
1512
1648
  * * das vierte Element (info1) enthält den erster Infoblock, oder nil, falls der Block nicht existiert
1513
1649
  * * das fünfte Element (info2) enthält den zweiter Infoblock, oder nil, falls der Block nicht existiert
1514
- *
1650
+ *
1515
1651
  * ====Mögliche Statuscodes für valid1 and valid2:
1516
1652
  * * -105 (LUT2_NO_LONGER_VALID_BETTER) "Beide Datensätze sind nicht mehr gültig; dieser ist aber jünger als der andere"
1517
1653
  * * -59 (LUT2_NOT_YET_VALID) "Der Datenblock ist noch nicht gültig"
@@ -1566,7 +1702,7 @@ static VALUE lut_info_rb(int argc,VALUE* argv,VALUE self)
1566
1702
  * ersetzt. Zur Initialisierung benutzte sie die Textdatei der Deutschen
1567
1703
  * Bundesbank und generierte daraus eine LUT-Datei, die dann von der
1568
1704
  * Initialisierungsroutine der C-Bibliothek benutzt wurde.
1569
- *
1705
+ *
1570
1706
  * Die init() Funktion ist wesentlich schneller (7...20 mal so schnell ohne
1571
1707
  * Generierung der Indexblocks; mit Indexblocks macht es noch wesentlich mehr
1572
1708
  * aus) und hat eine Reihe weiterer Vorteile. So ist es z.B. möglich, zwei
@@ -1578,7 +1714,7 @@ static VALUE lut_info_rb(int argc,VALUE* argv,VALUE self)
1578
1714
  * Bankdatei von der Deutschen Bundesbank enthält alle Felder in einem linearen
1579
1715
  * Format, so daß einzelne Blocks nicht unabhängig von anderen geladen werden
1580
1716
  * können.
1581
- *
1717
+ *
1582
1718
  * Die Funktion load_bank_data() wird nur noch als ein Schibbolet benutzt, um
1583
1719
  * zu testen, ob jemand das alte Interface benutzt. Bei der Routine
1584
1720
  * KontoCheck::konto_check() wurde die Reihenfolge der Parameter getauscht, so
@@ -1605,7 +1741,7 @@ static VALUE load_bank_data(VALUE self, VALUE path_rb)
1605
1741
  /**
1606
1742
  * ===KontoCheckRaw::iban2bic( iban)
1607
1743
  * =====KontoCheck::iban2bic( iban)
1608
- *
1744
+ *
1609
1745
  * Diese Funktion bestimmt zu einer (deutschen!) IBAN den zugehörigen BIC (Bank
1610
1746
  * Identifier Code). Der BIC wird für eine EU-Standard-Überweisung im
1611
1747
  * SEPA-Verfahren (Single Euro Payments Area) benötigt; für die deutschen
@@ -1622,8 +1758,8 @@ static VALUE load_bank_data(VALUE self, VALUE path_rb)
1622
1758
  * Der Rückgabewert ist ein Array mit vier Elementen: im ersten steht der BIC,
1623
1759
  * im zweiten ein Statuscode, im dritten die BLZ und im vierten die Kontonummer
1624
1760
  * (die beiden letzteren werden aus der IBAN extrahiert). Im Fehlerfall wird
1625
- * für BIC, BLZ und Kontonummer nil zurückgegeben.
1626
- *
1761
+ * für BIC, BLZ und Kontonummer nil zurückgegeben.
1762
+ *
1627
1763
  * ====Mögliche Statuscodes:
1628
1764
  * * -68 (IBAN2BIC_ONLY_GERMAN) "Die Funktion iban2bic() arbeitet nur mit deutschen Bankleitzahlen"
1629
1765
  * * -46 (LUT2_BIC_NOT_INITIALIZED) "Das Feld BIC wurde nicht initialisiert"
@@ -1666,7 +1802,7 @@ static VALUE iban2bic_rb(int argc,VALUE* argv,VALUE self)
1666
1802
  * soll, ist vor die BLZ ein + zu setzen. Um beide Prüfungen zu deaktiviern,
1667
1803
  * kann @+ (oder +@) vor die BLZ gesetzt werden. Die so erhaltenen IBANs sind
1668
1804
  * dann u.U. allerdings wohl nicht gültig.
1669
- *
1805
+ *
1670
1806
  * ====Aufruf:
1671
1807
  * ret=KontoCheckRaw::iban_gen( blz,kto)
1672
1808
  *
@@ -1716,7 +1852,7 @@ static VALUE iban2bic_rb(int argc,VALUE* argv,VALUE self)
1716
1852
  * * 22 (OK_INVALID_FOR_IBAN) "ok; für IBAN ist (durch eine Regel) allerdings ein anderer BIC definiert"
1717
1853
  * * 24 (OK_KTO_REPLACED_NO_PZ) "ok; die Kontonummer wurde ersetzt, die neue Kontonummer hat keine Prüfziffer"
1718
1854
  * * 25 (OK_UNTERKONTO_ATTACHED) "ok; es wurde ein (weggelassenes) Unterkonto angefügt"
1719
- *
1855
+ *
1720
1856
  */
1721
1857
  static VALUE iban_gen_rb(int argc,VALUE* argv,VALUE self)
1722
1858
  {
@@ -1767,6 +1903,7 @@ static VALUE ci_check_rb(VALUE self,VALUE ci_v)
1767
1903
 
1768
1904
  if(TYPE(ci_v)!=RUBY_T_STRING)return INT2FIX(INVALID_PARAMETER_TYPE);
1769
1905
  strncpy(ci,RSTRING_PTR(ci_v),35);
1906
+ *(ci+35)=0;
1770
1907
  return INT2FIX(ci_check(ci));
1771
1908
  }
1772
1909
 
@@ -1809,6 +1946,7 @@ static VALUE bic_check_rb(VALUE self,VALUE bic_v)
1809
1946
 
1810
1947
  if(TYPE(bic_v)!=RUBY_T_STRING)return INT2FIX(INVALID_PARAMETER_TYPE);
1811
1948
  strncpy(bic,RSTRING_PTR(bic_v),11);
1949
+ *(bic+11)=0;
1812
1950
  retval=bic_check(bic,&cnt);
1813
1951
  return rb_ary_new3(2,INT2FIX(retval),INT2FIX(cnt));
1814
1952
  }
@@ -1878,7 +2016,7 @@ static VALUE iban_check_rb(int argc,VALUE* argv,VALUE self)
1878
2016
  * die Papierform als zweiter Wert (wie bei iban_gen(). Es ist nicht schön,so
1879
2017
  * allerdings insgesamt konsistenter (ich habe auch eine Abneigung gegen
1880
2018
  * Änderungen des Interfaces, aber an dieser Stelle schien es geboten zu sein).
1881
- *
2019
+ *
1882
2020
  * ====Aufruf:
1883
2021
  * ret=KontoCheckRaw::ipi_gen( zweck)
1884
2022
  *
@@ -1892,8 +2030,8 @@ static VALUE iban_check_rb(int argc,VALUE* argv,VALUE self)
1892
2030
  * Der Rückgabewert ist ein Array mit drei Elementen:
1893
2031
  * * im ersten steht der Strukturierte Verwendungszweck,
1894
2032
  * * im zweiten die Papierform (mit eingestreuten Blanks).
1895
- * * im dritten ein Statuscode
1896
- *
2033
+ * * im dritten ein Statuscode
2034
+ *
1897
2035
  * ====Mögliche Statuscodes:
1898
2036
  * * -71 (IPI_INVALID_LENGTH) "Die Länge des IPI-Verwendungszwecks darf maximal 18 Byte sein"
1899
2037
  * * -72 (IPI_INVALID_CHARACTER) "Im strukturierten Verwendungszweck dürfen nur alphanumerische Zeichen vorkommen"
@@ -1915,7 +2053,7 @@ static VALUE ipi_gen_rb(int argc,VALUE* argv,VALUE self)
1915
2053
  /**
1916
2054
  * ===KontoCheckRaw::ipi_check( zweck)
1917
2055
  * =====KontoCheck::ipi_check( zweck)
1918
- *
2056
+ *
1919
2057
  * Die Funktion testet, ob ein Strukturierter Verwendungszweck gültig ist
1920
2058
  * (Anzahl Zeichen, Prüfziffer).
1921
2059
  *
@@ -1927,7 +2065,7 @@ static VALUE ipi_gen_rb(int argc,VALUE* argv,VALUE self)
1927
2065
  *
1928
2066
  * ====Rückgabe:
1929
2067
  * Zurückgegeben wird ein skalarer Statuscode.
1930
- *
2068
+ *
1931
2069
  *
1932
2070
  * ====Mögliche Statuscodes:
1933
2071
  * * -73 (IPI_CHECK_INVALID_LENGTH) "Der zu validierende strukturierete Verwendungszweck muß genau 20 Zeichen enthalten"
@@ -1950,9 +2088,9 @@ static VALUE ipi_check_rb(int argc,VALUE* argv,VALUE self)
1950
2088
  * Statuscode mit den unten angegebenen Werten. Falls das Argument filiale auch
1951
2089
  * angegeben ist, wird zusätzlich noch getestet, ob eine Filiale mit dem gegebenen
1952
2090
  * Index existiert.
1953
- *
2091
+ *
1954
2092
  * Mögliche Rückgabewerte sind:
1955
- *
2093
+ *
1956
2094
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
1957
2095
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
1958
2096
  * * -5 (INVALID_BLZ_LENGTH) "die Bankleitzahl ist nicht achtstellig"
@@ -1973,14 +2111,14 @@ static VALUE bank_valid(int argc,VALUE* argv,VALUE self)
1973
2111
  /**
1974
2112
  * ===KontoCheckRaw::bank_filialen( blz)
1975
2113
  * =====KontoCheck::bank_filialen( blz)
1976
- *
2114
+ *
1977
2115
  * Diese Funktion liefert die Anzahl Filialen einer Bank (inklusive Hauptstelle).
1978
2116
  * Die LUT-Datei muß dazu natürlich mit den Filialdaten generiert sein, sonst
1979
2117
  * wird für alle Banken nur 1 zurückgegeben. Der Rückgabewert ist ein Array mit
1980
2118
  * der Anzahl Filialen im ersten Parameter, und einem Statuscode im zwweiten.
1981
- *
2119
+ *
1982
2120
  * Mögliche Statuswerte sind:
1983
- *
2121
+ *
1984
2122
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
1985
2123
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
1986
2124
  * * -52 (LUT2_FILIALEN_NOT_INITIALIZED) "Das Feld Filialen wurde nicht initialisiert"
@@ -2004,7 +2142,7 @@ static VALUE bank_filialen(int argc,VALUE* argv,VALUE self)
2004
2142
  /**
2005
2143
  * ===KontoCheckRaw::bank_alles( blz [,filiale])
2006
2144
  * =====KontoCheck::bank_alles( blz [,filiale])
2007
- *
2145
+ *
2008
2146
  * Dies ist eine Mammutfunktion, die alle vorhandenen Informationen über eine
2009
2147
  * Bank zurückliefert. Das Ergebnis ist ein Array mit den folgenden Komponenten:
2010
2148
  * * 0: Statuscode
@@ -2020,9 +2158,9 @@ static VALUE bank_filialen(int argc,VALUE* argv,VALUE self)
2020
2158
  * * 10: Änderungs-Flag
2021
2159
  * * 11: Löeschung-Flag
2022
2160
  * * 12: Nachfolge-BLZ
2023
- *
2161
+ *
2024
2162
  * Der Statuscode (Element 0) kann folgende Werte annehmen:
2025
- *
2163
+ *
2026
2164
  * * -40 (LUT2_NOT_INITIALIZED) "die Programmbibliothek wurde noch nicht initialisiert"
2027
2165
  * * -38 (LUT2_PARTIAL_OK) "es wurden nicht alle Blocks geladen"
2028
2166
  * * -5 (INVALID_BLZ_LENGTH) "die Bankleitzahl ist nicht achtstellig"
@@ -2076,13 +2214,13 @@ static VALUE bank_alles(int argc,VALUE* argv,VALUE self)
2076
2214
  /**
2077
2215
  * ===KontoCheckRaw::bank_name( blz [,filiale])
2078
2216
  * =====KontoCheck::bank_name( blz [,filiale])
2079
- *
2217
+ *
2080
2218
  * Diese Funktion liefert den Namen einer Bank. Der Rückgabewert ist ein
2081
2219
  * Array mit zwei Elementen: im ersten steht ein String mit dem Namen, im
2082
2220
  * zweiten ein Statuscode. Im Fehlerfall wird für den Namen nil zurückgegeben.
2083
- *
2221
+ *
2084
2222
  * Mögliche Statuscodes:
2085
- *
2223
+ *
2086
2224
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2087
2225
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2088
2226
  * * -51 (LUT2_NAME_NOT_INITIALIZED) "Das Feld Bankname wurde nicht initialisiert"
@@ -2105,13 +2243,13 @@ static VALUE bank_name(int argc,VALUE* argv,VALUE self)
2105
2243
  /**
2106
2244
  * ===KontoCheckRaw::bank_name_kurz( blz [,filiale])
2107
2245
  * =====KontoCheck::bank_name_kurz( blz [,filiale])
2108
- *
2246
+ *
2109
2247
  * Diese Funktion liefert den Kurznamen einer Bank. Der Rückgabewert ist ein
2110
2248
  * Array mit zwei Elementen: im ersten steht ein String mit dem Namen, im
2111
2249
  * zweiten ein Statuscode. Im Fehlerfall wird für den Namen nil zurückgegeben.
2112
- *
2250
+ *
2113
2251
  * Mögliche Statuscodes:
2114
- *
2252
+ *
2115
2253
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2116
2254
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2117
2255
  * * -48 (LUT2_NAME_KURZ_NOT_INITIALIZED) "Das Feld Kurzname wurde nicht initialisiert"
@@ -2140,7 +2278,7 @@ static VALUE bank_name_kurz(int argc,VALUE* argv,VALUE self)
2140
2278
  * ist ein Array mit zwei Elementen: im ersten steht ein String mit dem Namen,
2141
2279
  * im zweiten ein Statuscode. Im Fehlerfall wird für den Ort nil
2142
2280
  * zurückgegeben.
2143
- *
2281
+ *
2144
2282
  * Mögliche Statuscodes:
2145
2283
  *
2146
2284
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -2165,14 +2303,14 @@ static VALUE bank_ort(int argc,VALUE* argv,VALUE self)
2165
2303
  /**
2166
2304
  * ===KontoCheckRaw::bank_plz( blz [,filiale])
2167
2305
  * =====KontoCheck::bank_plz( blz [,filiale])
2168
- *
2306
+ *
2169
2307
  * Diese Funktion liefert die Postleitzahl einer Bank. Falls der Parameter
2170
2308
  * filiale nicht angegeben ist, wird die PLZ der Hauptstelle ausgegeben. Der
2171
2309
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht die PLZ, im
2172
2310
  * zweiten ein Statuscode. Im Fehlerfall wird für die PLZ nil zurückgegeben.
2173
- *
2311
+ *
2174
2312
  * Mögliche Statuscodes:
2175
- *
2313
+ *
2176
2314
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2177
2315
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2178
2316
  * * -50 (LUT2_PLZ_NOT_INITIALIZED) "Das Feld PLZ wurde nicht initialisiert"
@@ -2194,15 +2332,15 @@ static VALUE bank_plz(int argc,VALUE* argv,VALUE self)
2194
2332
  /**
2195
2333
  * ===KontoCheckRaw::bank_pz( blz)
2196
2334
  * =====KontoCheck::bank_pz( blz)
2197
- *
2335
+ *
2198
2336
  * Diese Funktion liefert die Prüfziffer einer Bank. Die Funktion unterstützt
2199
2337
  * keine Filialen; zu jeder BLZ kann es in der LUT-Datei nur eine
2200
2338
  * Prüfziffermethode geben. Der Rückgabewert ist ein Array mit zwei Elementen:
2201
2339
  * im ersten steht die Prüfziffer, im zweiten ein Statuscode. Im Fehlerfall
2202
2340
  * wird für den Prüfziffer nil zurückgegeben.
2203
- *
2341
+ *
2204
2342
  * Mögliche Statuscodes:
2205
- *
2343
+ *
2206
2344
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2207
2345
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2208
2346
  * * -45 (LUT2_PZ_NOT_INITIALIZED) "Das Feld Prüfziffer wurde nicht initialisiert"
@@ -2224,14 +2362,14 @@ static VALUE bank_pz(int argc,VALUE* argv,VALUE self)
2224
2362
  /**
2225
2363
  * ===KontoCheckRaw::bank_bic( blz [,filiale])
2226
2364
  * =====KontoCheck::bank_bic( blz [,filiale])
2227
- *
2365
+ *
2228
2366
  * Diese Funktion liefert den BIC (Bank Identifier Code) einer Bank. Der
2229
2367
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht ein String
2230
2368
  * mit dem BIC, im zweiten ein Statuscode. Im Fehlerfall wird für den BIC
2231
2369
  * nil zurückgegeben.
2232
- *
2370
+ *
2233
2371
  * Mögliche Statuscodes:
2234
- *
2372
+ *
2235
2373
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2236
2374
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2237
2375
  * * -46 (LUT2_BIC_NOT_INITIALIZED) "Das Feld BIC wurde nicht initialisiert"
@@ -2254,15 +2392,15 @@ static VALUE bank_bic(int argc,VALUE* argv,VALUE self)
2254
2392
  /**
2255
2393
  * ===KontoCheckRaw::bank_aenderung( blz [,filiale])
2256
2394
  * =====KontoCheck::bank_aenderung( blz [,filiale])
2257
- *
2395
+ *
2258
2396
  * Diese Funktion liefert das 'Änderung' Flag einer Bank (als string).
2259
2397
  * Mögliche Werte sind: A (Addition), M (Modified), U (Unchanged), D
2260
2398
  * (Deletion). Der Rückgabewert ist ein Array mit zwei Elementen: im ersten
2261
2399
  * steht ein String mit dem Änderungsflag, im zweiten ein Statuscode. Im
2262
2400
  * Fehlerfall wird für das Flag nil zurückgegeben.
2263
- *
2401
+ *
2264
2402
  * Mögliche Statuscodes:
2265
- *
2403
+ *
2266
2404
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2267
2405
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2268
2406
  * * -43 (LUT2_AENDERUNG_NOT_INITIALIZED) "Das Feld Änderung wurde nicht initialisiert"
@@ -2285,14 +2423,14 @@ static VALUE bank_aenderung(int argc,VALUE* argv,VALUE self)
2285
2423
  /**
2286
2424
  * ===KontoCheckRaw::bank_loeschung( blz [,filiale])
2287
2425
  * =====KontoCheck::bank_loeschung( blz [,filiale])
2288
- *
2426
+ *
2289
2427
  * Diese Funktion liefert das Lösch-Flag für eine Bank zurück (als Integer;
2290
2428
  * mögliche Werte sind 0 und 1). Der Rückgabewert ist ein Array mit zwei
2291
2429
  * Elementen: im ersten steht das Flag, im zweiten ein Statuscode. Im
2292
2430
  * Fehlerfall wird für das Flag nil zurückgegeben.
2293
- *
2431
+ *
2294
2432
  * Mögliche Statuscodes:
2295
- *
2433
+ *
2296
2434
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2297
2435
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2298
2436
  * * -42 (LUT2_LOESCHUNG_NOT_INITIALIZED) "Das Feld Löschung wurde nicht initialisiert"
@@ -2314,14 +2452,14 @@ static VALUE bank_loeschung(int argc,VALUE* argv,VALUE self)
2314
2452
  /**
2315
2453
  * ===KontoCheckRaw::bank_nachfolge_blz( blz [,filiale])
2316
2454
  * =====KontoCheck::bank_nachfolge_blz( blz [,filiale])
2317
- *
2455
+ *
2318
2456
  * Diese Funktion liefert die Nachfolge-BLZ für eine Bank, die gelöscht werden
2319
2457
  * soll (bei der das 'Löschung' Flag 1 ist). Der Rückgabewert ist ein Array mit
2320
2458
  * zwei Elementen: im ersten steht die Nachfolge-BLZ, im zweiten ein Statuscode. Im
2321
2459
  * Fehlerfall wird für die Nachfolge-BLZ nil zurückgegeben.
2322
- *
2460
+ *
2323
2461
  * Mögliche Statuscodes:
2324
- *
2462
+ *
2325
2463
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2326
2464
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2327
2465
  * * -41 (LUT2_NACHFOLGE_BLZ_NOT_INITIALIZED) "Das Feld Nachfolge-BLZ wurde nicht initialisiert"
@@ -2343,13 +2481,13 @@ static VALUE bank_nachfolge_blz(int argc,VALUE* argv,VALUE self)
2343
2481
  /**
2344
2482
  * ===KontoCheckRaw::bank_pan( blz [,filiale])
2345
2483
  * =====KontoCheck::bank_pan( blz [,filiale])
2346
- *
2484
+ *
2347
2485
  * Diese Funktion liefert den PAN (Primary Account Number) einer Bank. Der
2348
2486
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht der PAN, im
2349
2487
  * zweiten ein Statuscode. Im Fehlerfall wird für den PAN nil zurückgegeben.
2350
- *
2488
+ *
2351
2489
  * Mögliche Statuscodes:
2352
- *
2490
+ *
2353
2491
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2354
2492
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2355
2493
  * * -47 (LUT2_PAN_NOT_INITIALIZED) "Das Feld PAN wurde nicht initialisiert"
@@ -2371,17 +2509,17 @@ static VALUE bank_pan(int argc,VALUE* argv,VALUE self)
2371
2509
  /**
2372
2510
  * ===KontoCheckRaw::bank_nr( blz [,filiale])
2373
2511
  * =====KontoCheck::bank_nr( blz [,filiale])
2374
- *
2512
+ *
2375
2513
  * Diese Funktion liefert die laufende Nummer einer Bank (internes Feld der
2376
2514
  * BLZ-Datei). Der Wert wird wahrscheinlich nicht oft benötigt, ist aber der
2377
2515
  * Vollständigkeit halber enthalten. Der Rückgabewert ist ein Array mit zwei
2378
2516
  * Elementen: im ersten steht die Nummer, im zweiten ein Statuscode. Im Fehlerfall
2379
2517
  * wird für die Nummer nil zurückgegeben.
2380
- *
2518
+ *
2381
2519
  * Mögliche Statuscodes:
2382
- *
2520
+ *
2383
2521
  * Possible return values (and short description):
2384
- *
2522
+ *
2385
2523
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2386
2524
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
2387
2525
  * * -44 (LUT2_NR_NOT_INITIALIZED) "Das Feld NR wurde nicht initialisiert"
@@ -2456,7 +2594,7 @@ static void get_params_bic(int argc,VALUE* argv,char *bic,int *argi1,int *argi2,
2456
2594
  /**
2457
2595
  * ===KontoCheckRaw::bic_info( bic [,mode [,filiale]])
2458
2596
  * =====KontoCheck::bic_info( bic [,mode [,filiale]])
2459
- *
2597
+ *
2460
2598
  * Diese Funktion sucht Banken mit einem bestimmten BIC und gibt die
2461
2599
  * gefundene Anzahl sowie den Startindex in den internen Arrays zurück. Sie
2462
2600
  * ist für die Funktionsgruppe biq_* gedacht, falls mehrere Werte aus der
@@ -2479,17 +2617,17 @@ static void get_params_bic(int argc,VALUE* argv,char *bic,int *argi1,int *argi2,
2479
2617
  * Statuscode. Der Startindex kann sowohl positiv als auch negativ sein; im
2480
2618
  * Fehlerfall wird nil zurückgegeben. Daher sollte in jedem Fall der Statuscode
2481
2619
  * und die zurückgegebee Anzahl gefundener Banken kontrolliert werden.
2482
- *
2620
+ *
2483
2621
  * Mögliche Statuscodes:
2484
- *
2485
- * * -78 KEY_NOT_FOUND "Die Suche lieferte kein Ergebnis"
2486
- * * -70 LUT1_FILE_USED "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2487
- * * -46 LUT2_BIC_NOT_INITIALIZED "Das Feld BIC wurde nicht initialisiert"
2488
- * * -40 LUT2_NOT_INITIALIZED "die Programmbibliothek wurde noch nicht initialisiert"
2489
- * * -10 FILE_READ_ERROR "kann Datei nicht lesen"
2490
- * * -9 ERROR_MALLOC "kann keinen Speicher allokieren"
2491
- * * 1 OK "ok"
2492
- * * 26 OK_SHORT_BIC_USED "ok, für den BIC wurde die Zweigstellennummer allerdings durch XXX ersetzt"
2622
+ *
2623
+ * * -78 KEY_NOT_FOUND "Die Suche lieferte kein Ergebnis"
2624
+ * * -70 LUT1_FILE_USED "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2625
+ * * -46 LUT2_BIC_NOT_INITIALIZED "Das Feld BIC wurde nicht initialisiert"
2626
+ * * -40 LUT2_NOT_INITIALIZED "die Programmbibliothek wurde noch nicht initialisiert"
2627
+ * * -10 FILE_READ_ERROR "kann Datei nicht lesen"
2628
+ * * -9 ERROR_MALLOC "kann keinen Speicher allokieren"
2629
+ * * 1 OK "ok"
2630
+ * * 26 OK_SHORT_BIC_USED "ok, für den BIC wurde die Zweigstellennummer allerdings durch XXX ersetzt"
2493
2631
  */
2494
2632
  static VALUE bic_info_rb(int argc,VALUE* argv,VALUE self)
2495
2633
  {
@@ -2506,13 +2644,13 @@ static VALUE bic_info_rb(int argc,VALUE* argv,VALUE self)
2506
2644
  * ===KontoCheckRaw::bic_name( bic [,mode [,filiale]])
2507
2645
  * ===KontoCheckRaw::bic_info( bic [,mode])
2508
2646
  * =====KontoCheck::bic_name( bic [,mode [,filiale]])
2509
- *
2647
+ *
2510
2648
  * Diese Funktion liefert den Namen einer Bank. Der Rückgabewert ist ein
2511
2649
  * Array mit zwei Elementen: im ersten steht ein String mit dem Namen, im
2512
2650
  * zweiten ein Statuscode. Im Fehlerfall wird für den Namen nil zurückgegeben.
2513
- *
2651
+ *
2514
2652
  * Mögliche Statuscodes:
2515
- *
2653
+ *
2516
2654
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2517
2655
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2518
2656
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2541,13 +2679,13 @@ static VALUE bic_name_rb(int argc,VALUE* argv,VALUE self)
2541
2679
  * ===KontoCheckRaw::bic_name_kurz( bic [,mode [,filiale]])
2542
2680
  * ===KontoCheckRaw::bic_info( bic [,mode])
2543
2681
  * =====KontoCheck::bic_name_kurz( bic [,mode [,filiale]])
2544
- *
2682
+ *
2545
2683
  * Diese Funktion liefert den Kurznamen einer Bank. Der Rückgabewert ist ein
2546
2684
  * Array mit zwei Elementen: im ersten steht ein String mit dem Namen, im
2547
2685
  * zweiten ein Statuscode. Im Fehlerfall wird für den Namen nil zurückgegeben.
2548
- *
2686
+ *
2549
2687
  * Mögliche Statuscodes:
2550
- *
2688
+ *
2551
2689
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2552
2690
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2553
2691
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2582,7 +2720,7 @@ static VALUE bic_name_kurz_rb(int argc,VALUE* argv,VALUE self)
2582
2720
  * ist ein Array mit zwei Elementen: im ersten steht ein String mit dem Namen,
2583
2721
  * im zweiten ein Statuscode. Im Fehlerfall wird für den Ort nil
2584
2722
  * zurückgegeben.
2585
- *
2723
+ *
2586
2724
  * Mögliche Statuscodes:
2587
2725
  *
2588
2726
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
@@ -2613,14 +2751,14 @@ static VALUE bic_ort_rb(int argc,VALUE* argv,VALUE self)
2613
2751
  * ===KontoCheckRaw::bic_plz( bic [,mode [,filiale]])
2614
2752
  * ===KontoCheckRaw::bic_info( bic [,mode])
2615
2753
  * =====KontoCheck::bic_plz( bic [,mode [,filiale]])
2616
- *
2754
+ *
2617
2755
  * Diese Funktion liefert die Postleitzahl einer Bank. Falls der Parameter
2618
2756
  * filiale nicht angegeben ist, wird die PLZ der Hauptstelle ausgegeben. Der
2619
2757
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht die PLZ, im
2620
2758
  * zweiten ein Statuscode. Im Fehlerfall wird für die PLZ nil zurückgegeben.
2621
- *
2759
+ *
2622
2760
  * Mögliche Statuscodes:
2623
- *
2761
+ *
2624
2762
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2625
2763
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2626
2764
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2648,15 +2786,15 @@ static VALUE bic_plz_rb(int argc,VALUE* argv,VALUE self)
2648
2786
  * ===KontoCheckRaw::bic_pz( bic [,mode [,filiale]])
2649
2787
  * ===KontoCheckRaw::bic_info( bic [,mode])
2650
2788
  * =====KontoCheck::bic_pz( bic [,mode [,filiale]])
2651
- *
2789
+ *
2652
2790
  * Diese Funktion liefert die Prüfziffer einer Bank. Die Funktion unterstützt
2653
2791
  * keine Filialen; zu jeder bic kann es in der LUT-Datei nur eine
2654
2792
  * Prüfziffermethode geben. Der Rückgabewert ist ein Array mit zwei Elementen:
2655
2793
  * im ersten steht die Prüfziffer, im zweiten ein Statuscode. Im Fehlerfall
2656
2794
  * wird für den Prüfziffer nil zurückgegeben.
2657
- *
2795
+ *
2658
2796
  * Mögliche Statuscodes:
2659
- *
2797
+ *
2660
2798
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2661
2799
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2662
2800
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2684,14 +2822,14 @@ static VALUE bic_pz_rb(int argc,VALUE* argv,VALUE self)
2684
2822
  * ===KontoCheckRaw::bic_bic( bic [,mode [,filiale]])
2685
2823
  * ===KontoCheckRaw::bic_info( bic [,mode])
2686
2824
  * =====KontoCheck::bic_bic( bic [,mode [,filiale]])
2687
- *
2825
+ *
2688
2826
  * Diese Funktion liefert den BIC (Bank Identifier Code) einer Bank. Der
2689
2827
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht ein String
2690
2828
  * mit dem BIC, im zweiten ein Statuscode. Im Fehlerfall wird für den BIC
2691
2829
  * nil zurückgegeben.
2692
- *
2830
+ *
2693
2831
  * Mögliche Statuscodes:
2694
- *
2832
+ *
2695
2833
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2696
2834
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2697
2835
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2719,15 +2857,15 @@ static VALUE bic_bic_rb(int argc,VALUE* argv,VALUE self)
2719
2857
  * ===KontoCheckRaw::bic_aenderung( bic [,mode [,filiale]])
2720
2858
  * ===KontoCheckRaw::bic_info( bic [,mode])
2721
2859
  * =====KontoCheck::bic_aenderung( bic [,mode [,filiale]])
2722
- *
2860
+ *
2723
2861
  * Diese Funktion liefert das 'Änderung' Flag einer Bank (als string).
2724
2862
  * Mögliche Werte sind: A (Addition), M (Modified), U (Unchanged), D
2725
2863
  * (Deletion). Der Rückgabewert ist ein Array mit zwei Elementen: im ersten
2726
2864
  * steht ein String mit dem Änderungsflag, im zweiten ein Statuscode. Im
2727
2865
  * Fehlerfall wird für das Flag nil zurückgegeben.
2728
- *
2866
+ *
2729
2867
  * Mögliche Statuscodes:
2730
- *
2868
+ *
2731
2869
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2732
2870
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2733
2871
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2756,14 +2894,14 @@ static VALUE bic_aenderung_rb(int argc,VALUE* argv,VALUE self)
2756
2894
  * ===KontoCheckRaw::bic_loeschung( bic [,mode [,filiale]])
2757
2895
  * ===KontoCheckRaw::bic_info( bic [,mode])
2758
2896
  * =====KontoCheck::bic_loeschung( bic [,mode [,filiale]])
2759
- *
2897
+ *
2760
2898
  * Diese Funktion liefert das Lösch-Flag für eine Bank zurück (als Integer;
2761
2899
  * mögliche Werte sind 0 und 1). Der Rückgabewert ist ein Array mit zwei
2762
2900
  * Elementen: im ersten steht das Flag, im zweiten ein Statuscode. Im
2763
2901
  * Fehlerfall wird für das Flag nil zurückgegeben.
2764
- *
2902
+ *
2765
2903
  * Mögliche Statuscodes:
2766
- *
2904
+ *
2767
2905
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2768
2906
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2769
2907
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2791,14 +2929,14 @@ static VALUE bic_loeschung_rb(int argc,VALUE* argv,VALUE self)
2791
2929
  * ===KontoCheckRaw::bic_nachfolge_blz( bic [,mode [,filiale]])
2792
2930
  * ===KontoCheckRaw::bic_info( bic [,mode])
2793
2931
  * =====KontoCheck::bic_nachfolge_blz( bic [,mode [,filiale]])
2794
- *
2932
+ *
2795
2933
  * Diese Funktion liefert die Nachfolge-BLZ für eine Bank, die gelöscht werden
2796
2934
  * soll (bei der das 'Löschung' Flag 1 ist). Der Rückgabewert ist ein Array mit
2797
2935
  * zwei Elementen: im ersten steht die Nachfolge-BLZ, im zweiten ein Statuscode. Im
2798
2936
  * Fehlerfall wird für die Nachfolge-BLZ nil zurückgegeben.
2799
- *
2937
+ *
2800
2938
  * Mögliche Statuscodes:
2801
- *
2939
+ *
2802
2940
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2803
2941
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2804
2942
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2826,13 +2964,13 @@ static VALUE bic_nachfolge_blz_rb(int argc,VALUE* argv,VALUE self)
2826
2964
  * ===KontoCheckRaw::bic_pan( bic [,mode [,filiale]])
2827
2965
  * ===KontoCheckRaw::bic_info( bic [,mode])
2828
2966
  * =====KontoCheck::bic_pan( bic [,mode [,filiale]])
2829
- *
2967
+ *
2830
2968
  * Diese Funktion liefert den PAN (Primary Account Number) einer Bank. Der
2831
2969
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht der PAN, im
2832
2970
  * zweiten ein Statuscode. Im Fehlerfall wird für den PAN nil zurückgegeben.
2833
- *
2971
+ *
2834
2972
  * Mögliche Statuscodes:
2835
- *
2973
+ *
2836
2974
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2837
2975
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2838
2976
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2860,17 +2998,17 @@ static VALUE bic_pan_rb(int argc,VALUE* argv,VALUE self)
2860
2998
  * ===KontoCheckRaw::bic_nr( bic [,mode [,filiale]])
2861
2999
  * ===KontoCheckRaw::bic_info( bic [,mode])
2862
3000
  * =====KontoCheck::bic_nr( bic [,mode [,filiale]])
2863
- *
3001
+ *
2864
3002
  * Diese Funktion liefert die laufende Nummer einer Bank (internes Feld der
2865
3003
  * BLZ-Datei). Der Wert wird wahrscheinlich nicht oft benötigt, ist aber der
2866
3004
  * Vollständigkeit halber enthalten. Der Rückgabewert ist ein Array mit zwei
2867
3005
  * Elementen: im ersten steht die Nummer, im zweiten ein Statuscode. Im Fehlerfall
2868
3006
  * wird für die Nummer nil zurückgegeben.
2869
- *
3007
+ *
2870
3008
  * Mögliche Statuscodes:
2871
- *
3009
+ *
2872
3010
  * Possible return values (and short description):
2873
- *
3011
+ *
2874
3012
  * * -78 (KEY_NOT_FOUND) "Die Suche lieferte kein Ergebnis"
2875
3013
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2876
3014
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -2898,13 +3036,13 @@ static VALUE bic_nr_rb(int argc,VALUE* argv,VALUE self)
2898
3036
  * ===KontoCheckRaw::biq_name( idx)
2899
3037
  * ===KontoCheckRaw::bic_info( bic [,mode])
2900
3038
  * =====KontoCheck::biq_name( idx)
2901
- *
3039
+ *
2902
3040
  * Diese Funktion liefert den Namen einer Bank. Der Rückgabewert ist ein
2903
3041
  * Array mit zwei Elementen: im ersten steht ein String mit dem Namen, im
2904
3042
  * zweiten ein Statuscode. Im Fehlerfall wird für den Namen nil zurückgegeben.
2905
- *
3043
+ *
2906
3044
  * Mögliche Statuscodes:
2907
- *
3045
+ *
2908
3046
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2909
3047
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2910
3048
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -2932,13 +3070,13 @@ static VALUE biq_name_rb(int argc,VALUE* argv,VALUE self)
2932
3070
  * ===KontoCheckRaw::biq_name_kurz( idx)
2933
3071
  * ===KontoCheckRaw::bic_info( bic [,mode])
2934
3072
  * =====KontoCheck::biq_name_kurz( idx)
2935
- *
3073
+ *
2936
3074
  * Diese Funktion liefert den Kurznamen einer Bank. Der Rückgabewert ist ein
2937
3075
  * Array mit zwei Elementen: im ersten steht ein String mit dem Namen, im
2938
3076
  * zweiten ein Statuscode. Im Fehlerfall wird für den Namen nil zurückgegeben.
2939
- *
3077
+ *
2940
3078
  * Mögliche Statuscodes:
2941
- *
3079
+ *
2942
3080
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
2943
3081
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
2944
3082
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -2972,7 +3110,7 @@ static VALUE biq_name_kurz_rb(int argc,VALUE* argv,VALUE self)
2972
3110
  * ist ein Array mit zwei Elementen: im ersten steht ein String mit dem Namen,
2973
3111
  * im zweiten ein Statuscode. Im Fehlerfall wird für den Ort nil
2974
3112
  * zurückgegeben.
2975
- *
3113
+ *
2976
3114
  * Mögliche Statuscodes:
2977
3115
  *
2978
3116
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
@@ -3002,14 +3140,14 @@ static VALUE biq_ort_rb(int argc,VALUE* argv,VALUE self)
3002
3140
  * ===KontoCheckRaw::biq_plz( idx)
3003
3141
  * ===KontoCheckRaw::bic_info( bic [,mode])
3004
3142
  * =====KontoCheck::biq_plz( idx)
3005
- *
3143
+ *
3006
3144
  * Diese Funktion liefert die Postleitzahl einer Bank. Falls der Parameter
3007
3145
  * filiale nicht angegeben ist, wird die PLZ der Hauptstelle ausgegeben. Der
3008
3146
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht die PLZ, im
3009
3147
  * zweiten ein Statuscode. Im Fehlerfall wird für die PLZ nil zurückgegeben.
3010
- *
3148
+ *
3011
3149
  * Mögliche Statuscodes:
3012
- *
3150
+ *
3013
3151
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
3014
3152
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
3015
3153
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -3036,15 +3174,15 @@ static VALUE biq_plz_rb(int argc,VALUE* argv,VALUE self)
3036
3174
  * ===KontoCheckRaw::biq_pz( bic)
3037
3175
  * ===KontoCheckRaw::bic_info( bic [,mode])
3038
3176
  * =====KontoCheck::biq_pz( bic)
3039
- *
3177
+ *
3040
3178
  * Diese Funktion liefert die Prüfziffer einer Bank. Die Funktion unterstützt
3041
3179
  * keine Filialen; zu jeder bic kann es in der LUT-Datei nur eine
3042
3180
  * Prüfziffermethode geben. Der Rückgabewert ist ein Array mit zwei Elementen:
3043
3181
  * im ersten steht die Prüfziffer, im zweiten ein Statuscode. Im Fehlerfall
3044
3182
  * wird für den Prüfziffer nil zurückgegeben.
3045
- *
3183
+ *
3046
3184
  * Mögliche Statuscodes:
3047
- *
3185
+ *
3048
3186
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
3049
3187
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
3050
3188
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -3071,14 +3209,14 @@ static VALUE biq_pz_rb(int argc,VALUE* argv,VALUE self)
3071
3209
  * ===KontoCheckRaw::biq_bic( idx)
3072
3210
  * ===KontoCheckRaw::bic_info( bic [,mode])
3073
3211
  * =====KontoCheck::biq_bic( idx)
3074
- *
3212
+ *
3075
3213
  * Diese Funktion liefert den BIC (Bank Identifier Code) einer Bank. Der
3076
3214
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht ein String
3077
3215
  * mit dem BIC, im zweiten ein Statuscode. Im Fehlerfall wird für den BIC
3078
3216
  * nil zurückgegeben.
3079
- *
3217
+ *
3080
3218
  * Mögliche Statuscodes:
3081
- *
3219
+ *
3082
3220
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
3083
3221
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
3084
3222
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -3105,15 +3243,15 @@ static VALUE biq_bic_rb(int argc,VALUE* argv,VALUE self)
3105
3243
  * ===KontoCheckRaw::biq_aenderung( idx)
3106
3244
  * ===KontoCheckRaw::bic_info( bic [,mode])
3107
3245
  * =====KontoCheck::biq_aenderung( idx)
3108
- *
3246
+ *
3109
3247
  * Diese Funktion liefert das 'Änderung' Flag einer Bank (als string).
3110
3248
  * Mögliche Werte sind: A (Addition), M (Modified), U (Unchanged), D
3111
3249
  * (Deletion). Der Rückgabewert ist ein Array mit zwei Elementen: im ersten
3112
3250
  * steht ein String mit dem Änderungsflag, im zweiten ein Statuscode. Im
3113
3251
  * Fehlerfall wird für das Flag nil zurückgegeben.
3114
- *
3252
+ *
3115
3253
  * Mögliche Statuscodes:
3116
- *
3254
+ *
3117
3255
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
3118
3256
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
3119
3257
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -3141,14 +3279,14 @@ static VALUE biq_aenderung_rb(int argc,VALUE* argv,VALUE self)
3141
3279
  * ===KontoCheckRaw::biq_loeschung( idx)
3142
3280
  * ===KontoCheckRaw::bic_info( bic [,mode])
3143
3281
  * =====KontoCheck::biq_loeschung( idx)
3144
- *
3282
+ *
3145
3283
  * Diese Funktion liefert das Lösch-Flag für eine Bank zurück (als Integer;
3146
3284
  * mögliche Werte sind 0 und 1). Der Rückgabewert ist ein Array mit zwei
3147
3285
  * Elementen: im ersten steht das Flag, im zweiten ein Statuscode. Im
3148
3286
  * Fehlerfall wird für das Flag nil zurückgegeben.
3149
- *
3287
+ *
3150
3288
  * Mögliche Statuscodes:
3151
- *
3289
+ *
3152
3290
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
3153
3291
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
3154
3292
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -3175,14 +3313,14 @@ static VALUE biq_loeschung_rb(int argc,VALUE* argv,VALUE self)
3175
3313
  * ===KontoCheckRaw::biq_nachfolge_blz( idx)
3176
3314
  * ===KontoCheckRaw::bic_info( bic [,mode])
3177
3315
  * =====KontoCheck::biq_nachfolge_blz( idx)
3178
- *
3316
+ *
3179
3317
  * Diese Funktion liefert die Nachfolge-BLZ für eine Bank, die gelöscht werden
3180
3318
  * soll (bei der das 'Löschung' Flag 1 ist). Der Rückgabewert ist ein Array mit
3181
3319
  * zwei Elementen: im ersten steht die Nachfolge-BLZ, im zweiten ein Statuscode. Im
3182
3320
  * Fehlerfall wird für die Nachfolge-BLZ nil zurückgegeben.
3183
- *
3321
+ *
3184
3322
  * Mögliche Statuscodes:
3185
- *
3323
+ *
3186
3324
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
3187
3325
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
3188
3326
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -3209,13 +3347,13 @@ static VALUE biq_nachfolge_blz_rb(int argc,VALUE* argv,VALUE self)
3209
3347
  * ===KontoCheckRaw::biq_pan( idx)
3210
3348
  * ===KontoCheckRaw::bic_info( bic [,mode])
3211
3349
  * =====KontoCheck::biq_pan( idx)
3212
- *
3350
+ *
3213
3351
  * Diese Funktion liefert den PAN (Primary Account Number) einer Bank. Der
3214
3352
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht der PAN, im
3215
3353
  * zweiten ein Statuscode. Im Fehlerfall wird für den PAN nil zurückgegeben.
3216
- *
3354
+ *
3217
3355
  * Mögliche Statuscodes:
3218
- *
3356
+ *
3219
3357
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
3220
3358
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
3221
3359
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -3242,17 +3380,17 @@ static VALUE biq_pan_rb(int argc,VALUE* argv,VALUE self)
3242
3380
  * ===KontoCheckRaw::biq_nr( idx)
3243
3381
  * ===KontoCheckRaw::bic_info( bic [,mode])
3244
3382
  * =====KontoCheck::biq_nr( idx)
3245
- *
3383
+ *
3246
3384
  * Diese Funktion liefert die laufende Nummer einer Bank (internes Feld der
3247
3385
  * BLZ-Datei). Der Wert wird wahrscheinlich nicht oft benötigt, ist aber der
3248
3386
  * Vollständigkeit halber enthalten. Der Rückgabewert ist ein Array mit zwei
3249
3387
  * Elementen: im ersten steht die Nummer, im zweiten ein Statuscode. Im Fehlerfall
3250
3388
  * wird für die Nummer nil zurückgegeben.
3251
- *
3389
+ *
3252
3390
  * Mögliche Statuscodes:
3253
- *
3391
+ *
3254
3392
  * Possible return values (and short description):
3255
- *
3393
+ *
3256
3394
  * * -70 (LUT1_FILE_USED) "Es wurde eine LUT-Datei im Format 1.0/1.1 geladen"
3257
3395
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
3258
3396
  * * -53 (LUT2_BLZ_NOT_INITIALIZED) "Das Feld BLZ wurde nicht initialisiert"
@@ -3279,13 +3417,13 @@ static VALUE biq_nr_rb(int argc,VALUE* argv,VALUE self)
3279
3417
  * ===KontoCheckRaw::iban_name( iban [,filiale])
3280
3418
  * ===KontoCheckRaw::bic_info( bic [,mode])
3281
3419
  * =====KontoCheck::iban_name( iban [,filiale])
3282
- *
3420
+ *
3283
3421
  * Diese Funktion liefert den Namen einer Bank. Der Rückgabewert ist ein
3284
3422
  * Array mit zwei Elementen: im ersten steht ein String mit dem Namen, im
3285
3423
  * zweiten ein Statuscode. Im Fehlerfall wird für den Namen nil zurückgegeben.
3286
- *
3424
+ *
3287
3425
  * Mögliche Statuscodes:
3288
- *
3426
+ *
3289
3427
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3290
3428
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3291
3429
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3310,13 +3448,13 @@ static VALUE iban_name_rb(int argc,VALUE* argv,VALUE self)
3310
3448
  /**
3311
3449
  * ===KontoCheckRaw::iban_name_kurz( iban [,filiale])
3312
3450
  * =====KontoCheck::iban_name_kurz( iban [,filiale])
3313
- *
3451
+ *
3314
3452
  * Diese Funktion liefert den Kurznamen einer Bank. Der Rückgabewert ist ein
3315
3453
  * Array mit zwei Elementen: im ersten steht ein String mit dem Namen, im
3316
3454
  * zweiten ein Statuscode. Im Fehlerfall wird für den Namen nil zurückgegeben.
3317
- *
3455
+ *
3318
3456
  * Mögliche Statuscodes:
3319
- *
3457
+ *
3320
3458
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3321
3459
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3322
3460
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3345,7 +3483,7 @@ static VALUE iban_name_kurz_rb(int argc,VALUE* argv,VALUE self)
3345
3483
  * ist ein Array mit zwei Elementen: im ersten steht ein String mit dem Namen,
3346
3484
  * im zweiten ein Statuscode. Im Fehlerfall wird für den Ort nil
3347
3485
  * zurückgegeben.
3348
- *
3486
+ *
3349
3487
  * Mögliche Statuscodes:
3350
3488
  *
3351
3489
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
@@ -3372,14 +3510,14 @@ static VALUE iban_ort_rb(int argc,VALUE* argv,VALUE self)
3372
3510
  /**
3373
3511
  * ===KontoCheckRaw::iban_plz( iban [,filiale])
3374
3512
  * =====KontoCheck::iban_plz( iban [,filiale])
3375
- *
3513
+ *
3376
3514
  * Diese Funktion liefert die Postleitzahl einer Bank. Falls der Parameter
3377
3515
  * filiale nicht angegeben ist, wird die PLZ der Hauptstelle ausgegeben. Der
3378
3516
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht die PLZ, im
3379
3517
  * zweiten ein Statuscode. Im Fehlerfall wird für die PLZ nil zurückgegeben.
3380
- *
3518
+ *
3381
3519
  * Mögliche Statuscodes:
3382
- *
3520
+ *
3383
3521
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3384
3522
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3385
3523
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3403,15 +3541,15 @@ static VALUE iban_plz_rb(int argc,VALUE* argv,VALUE self)
3403
3541
  /**
3404
3542
  * ===KontoCheckRaw::iban_pz( iban)
3405
3543
  * =====KontoCheck::iban_pz( iban)
3406
- *
3544
+ *
3407
3545
  * Diese Funktion liefert die Prüfziffer einer Bank. Die Funktion unterstützt
3408
3546
  * keine Filialen; zu jeder BLZ kann es in der LUT-Datei nur eine
3409
3547
  * Prüfziffermethode geben. Der Rückgabewert ist ein Array mit zwei Elementen:
3410
3548
  * im ersten steht die Prüfziffer, im zweiten ein Statuscode. Im Fehlerfall
3411
3549
  * wird für den Prüfziffer nil zurückgegeben.
3412
- *
3550
+ *
3413
3551
  * Mögliche Statuscodes:
3414
- *
3552
+ *
3415
3553
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3416
3554
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3417
3555
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3435,14 +3573,14 @@ static VALUE iban_pz_rb(int argc,VALUE* argv,VALUE self)
3435
3573
  /**
3436
3574
  * ===KontoCheckRaw::iban_bic( iban [,filiale])
3437
3575
  * =====KontoCheck::iban_bic( iban [,filiale])
3438
- *
3576
+ *
3439
3577
  * Diese Funktion liefert den BIC (Bank Identifier Code) einer Bank. Der
3440
3578
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht ein String
3441
3579
  * mit dem BIC, im zweiten ein Statuscode. Im Fehlerfall wird für den BIC
3442
3580
  * nil zurückgegeben.
3443
- *
3581
+ *
3444
3582
  * Mögliche Statuscodes:
3445
- *
3583
+ *
3446
3584
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3447
3585
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3448
3586
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3467,15 +3605,15 @@ static VALUE iban_bic_rb(int argc,VALUE* argv,VALUE self)
3467
3605
  /**
3468
3606
  * ===KontoCheckRaw::iban_aenderung( iban [,filiale])
3469
3607
  * =====KontoCheck::iban_aenderung( iban [,filiale])
3470
- *
3608
+ *
3471
3609
  * Diese Funktion liefert das 'Änderung' Flag einer Bank (als string).
3472
3610
  * Mögliche Werte sind: A (Addition), M (Modified), U (Unchanged), D
3473
3611
  * (Deletion). Der Rückgabewert ist ein Array mit zwei Elementen: im ersten
3474
3612
  * steht ein String mit dem Änderungsflag, im zweiten ein Statuscode. Im
3475
3613
  * Fehlerfall wird für das Flag nil zurückgegeben.
3476
- *
3614
+ *
3477
3615
  * Mögliche Statuscodes:
3478
- *
3616
+ *
3479
3617
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3480
3618
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3481
3619
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3500,14 +3638,14 @@ static VALUE iban_aenderung_rb(int argc,VALUE* argv,VALUE self)
3500
3638
  /**
3501
3639
  * ===KontoCheckRaw::iban_loeschung( iban [,filiale])
3502
3640
  * =====KontoCheck::iban_loeschung( iban [,filiale])
3503
- *
3641
+ *
3504
3642
  * Diese Funktion liefert das Lösch-Flag für eine Bank zurück (als Integer;
3505
3643
  * mögliche Werte sind 0 und 1). Der Rückgabewert ist ein Array mit zwei
3506
3644
  * Elementen: im ersten steht das Flag, im zweiten ein Statuscode. Im
3507
3645
  * Fehlerfall wird für das Flag nil zurückgegeben.
3508
- *
3646
+ *
3509
3647
  * Mögliche Statuscodes:
3510
- *
3648
+ *
3511
3649
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3512
3650
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3513
3651
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3531,14 +3669,14 @@ static VALUE iban_loeschung_rb(int argc,VALUE* argv,VALUE self)
3531
3669
  /**
3532
3670
  * ===KontoCheckRaw::iban_nachfolge_iban( iban [,filiale])
3533
3671
  * =====KontoCheck::iban_nachfolge_iban( iban [,filiale])
3534
- *
3672
+ *
3535
3673
  * Diese Funktion liefert die Nachfolge-BLZ für eine Bank, die gelöscht werden
3536
3674
  * soll (bei der das 'Löschung' Flag 1 ist). Der Rückgabewert ist ein Array mit
3537
3675
  * zwei Elementen: im ersten steht die Nachfolge-BLZ, im zweiten ein Statuscode. Im
3538
3676
  * Fehlerfall wird für die Nachfolge-BLZ nil zurückgegeben.
3539
- *
3677
+ *
3540
3678
  * Mögliche Statuscodes:
3541
- *
3679
+ *
3542
3680
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3543
3681
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3544
3682
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3562,13 +3700,13 @@ static VALUE iban_nachfolge_blz_rb(int argc,VALUE* argv,VALUE self)
3562
3700
  /**
3563
3701
  * ===KontoCheckRaw::iban_pan( iban [,filiale])
3564
3702
  * =====KontoCheck::iban_pan( iban [,filiale])
3565
- *
3703
+ *
3566
3704
  * Diese Funktion liefert den PAN (Primary Account Number) einer Bank. Der
3567
3705
  * Rückgabewert ist ein Array mit zwei Elementen: im ersten steht der PAN, im
3568
3706
  * zweiten ein Statuscode. Im Fehlerfall wird für den PAN nil zurückgegeben.
3569
- *
3707
+ *
3570
3708
  * Mögliche Statuscodes:
3571
- *
3709
+ *
3572
3710
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3573
3711
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3574
3712
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3592,17 +3730,17 @@ static VALUE iban_pan_rb(int argc,VALUE* argv,VALUE self)
3592
3730
  /**
3593
3731
  * ===KontoCheckRaw::iban_nr( iban [,filiale])
3594
3732
  * =====KontoCheck::iban_nr( iban [,filiale])
3595
- *
3733
+ *
3596
3734
  * Diese Funktion liefert die laufende Nummer einer Bank (internes Feld der
3597
3735
  * BLZ-Datei). Der Wert wird wahrscheinlich nicht oft benötigt, ist aber der
3598
3736
  * Vollständigkeit halber enthalten. Der Rückgabewert ist ein Array mit zwei
3599
3737
  * Elementen: im ersten steht die Nummer, im zweiten ein Statuscode. Im Fehlerfall
3600
3738
  * wird für die Nummer nil zurückgegeben.
3601
- *
3739
+ *
3602
3740
  * Mögliche Statuscodes:
3603
- *
3741
+ *
3604
3742
  * Possible return values (and short description):
3605
- *
3743
+ *
3606
3744
  * * -147 (IBAN_ONLY_GERMAN) "Es werden nur deutsche IBANs unterstützt"
3607
3745
  * * -121 (INVALID_IBAN_LENGTH) "Die Länge der IBAN für das angegebene Länderkürzel ist falsch"
3608
3746
  * * -55 (LUT2_INDEX_OUT_OF_RANGE) "Der Index für die Filiale ist ungültig"
@@ -3706,7 +3844,7 @@ static VALUE iban_nr_rb(int argc,VALUE* argv,VALUE self)
3706
3844
  * i: 35, start_idx[35]: 10766, blz_base[10766]: 61490150, zweigstelle[10766]: 9, base_name[10766]: Aalen, Württ
3707
3845
  * i: 36, start_idx[36]: 7002, blz_base[ 7002]: 51050015, zweigstelle[ 7002]: 69, base_name[ 7002]: Aarbergen
3708
3846
  * i: 37, start_idx[37]: 7055, blz_base[ 7055]: 51091700, zweigstelle[ 7055]: 2, base_name[ 7055]: Aarbergen
3709
- *
3847
+ *
3710
3848
  */
3711
3849
 
3712
3850
  /* bank_suche_int(): dies ist die generische Suchfunktion für alle Textsuchen.
@@ -3989,7 +4127,7 @@ static VALUE bank_suche_regel(int argc,VALUE* argv,VALUE self)
3989
4127
  /**
3990
4128
  * ===KontoCheckRaw::bank_suche_volltext( suchwort [,sort_uniq [,sort]])
3991
4129
  * =====KontoCheck::suche()
3992
- *
4130
+ *
3993
4131
  * Diese Funktion sucht alle Banken, bei denen in Name, Kurzname oder Ort das
3994
4132
  * angegebenen Wort <suchwort> vorkommt. Dabei wird immer nur ein einziges Wort
3995
4133
  * gesucht; falls mehrere Worte angegeben werden, wird der Fehlerwert
@@ -4210,26 +4348,26 @@ static VALUE version_rb(int argc,VALUE* argv,VALUE self)
4210
4348
  */
4211
4349
  void Init_konto_check_raw()
4212
4350
  {
4213
- /*
4351
+ /*
4214
4352
  * This is a C/Ruby library to check the validity of German Bank Account
4215
4353
  * Numbers. All currently defined test methods by Deutsche Bundesbank
4216
- * (00 to E1) are implemented.
4217
- *
4354
+ * (00 to E1) are implemented.
4355
+ *
4218
4356
  * <b>ATTENTION:</b> There are a few important changes in the API between
4219
4357
  * version 0.0.2 (version by Peter Horn/Provideal), version 0.0.6 (jeanmartin)
4220
- * and this version (V. 5.4 from 2014-06-02):
4221
- *
4358
+ * and this version (V. 5.5 from 2014-09-01):
4359
+ *
4222
4360
  * * The function KontoCheck::load_bank_data() is no longer used; it is
4223
4361
  * replaced by KontoCheck::init() and KontoCheck::generate_lutfile().
4224
4362
  * * The function KontoCheck::konto_check( blz,kto) changed the order of
4225
4363
  * parameters from (kto,blz) to (blz,kto)
4226
- *
4364
+ *
4227
4365
  * Another change affects only the version 0.0.6 by jeanmartin:
4228
- *
4366
+ *
4229
4367
  * * In KontoCheck::init( level,name,set) the order of the two first parameters
4230
4368
  * is now free; the order is determined by the type of the variable (level is
4231
- * integer, filename string).
4232
- *
4369
+ * integer, filename string).
4370
+ *
4233
4371
  * Because this class is inteded for german bank accounts, the rest of the
4234
4372
  * documentation is in german too.
4235
4373
  *
@@ -4312,6 +4450,7 @@ void Init_konto_check_raw()
4312
4450
  rb_define_module_function(KontoCheck,"bank_valid",bank_valid,-1);
4313
4451
  rb_define_module_function(KontoCheck,"bank_filialen",bank_filialen,-1);
4314
4452
  rb_define_module_function(KontoCheck,"bank_alles",bank_alles,-1);
4453
+ rb_define_module_function(KontoCheck,"pz_aenderungen_enable",pz_aenderungen_enable_rb,-1);
4315
4454
 
4316
4455
  rb_define_module_function(KontoCheck,"bank_name",bank_name,-1);
4317
4456
  rb_define_module_function(KontoCheck,"bank_name_kurz",bank_name_kurz,-1);
@@ -4376,6 +4515,7 @@ void Init_konto_check_raw()
4376
4515
  rb_define_module_function(KontoCheck,"retval2html",retval2html_rb,1);
4377
4516
  rb_define_module_function(KontoCheck,"retval2utf8",retval2utf8_rb,1);
4378
4517
  rb_define_module_function(KontoCheck,"generate_lutfile",generate_lutfile_rb,-1);
4518
+ rb_define_module_function(KontoCheck,"rebuild_blzfile",rebuild_blzfile_rb,-1);
4379
4519
  rb_define_module_function(KontoCheck,"ci_check",ci_check_rb,1);
4380
4520
  rb_define_module_function(KontoCheck,"bic_check",bic_check_rb,1);
4381
4521
  rb_define_module_function(KontoCheck,"iban_check",iban_check_rb,-1);
@@ -4397,6 +4537,8 @@ void Init_konto_check_raw()
4397
4537
  rb_define_module_function(KontoCheck,"load_bank_data",load_bank_data,1);
4398
4538
 
4399
4539
  /* Rückgabewerte der konto_check Bibliothek */
4540
+ /* (-150) Ungültiges Handle angegeben */
4541
+ rb_define_const(KontoCheck,"INVALID_HANDLE",INT2FIX(INVALID_HANDLE));
4400
4542
  /* (-149) Ungültiger Index für die biq_*() Funktionen */
4401
4543
  rb_define_const(KontoCheck,"INVALID_BIQ_INDEX",INT2FIX(INVALID_BIQ_INDEX));
4402
4544
  /* (-148) Der Array-Index liegt außerhalb des gültigen Bereichs */
@@ -4661,8 +4803,6 @@ void Init_konto_check_raw()
4661
4803
  rb_define_const(KontoCheck,"LUT1_SET_LOADED",INT2FIX(LUT1_SET_LOADED));
4662
4804
  /* (7) ok, es wurde allerdings eine LUT-Datei im alten Format (1.0/1.1) generiert */
4663
4805
  rb_define_const(KontoCheck,"LUT1_FILE_GENERATED",INT2FIX(LUT1_FILE_GENERATED));
4664
- /* (8) In der DTAUS-Datei wurden kleinere Fehler gefunden */
4665
- rb_define_const(KontoCheck,"DTA_FILE_WITH_WARNINGS",INT2FIX(DTA_FILE_WITH_WARNINGS));
4666
4806
  /* (9) ok, es wurde allerdings eine LUT-Datei im Format 2.0 generiert (Compilerswitch) */
4667
4807
  rb_define_const(KontoCheck,"LUT_V2_FILE_GENERATED",INT2FIX(LUT_V2_FILE_GENERATED));
4668
4808
  /* (10) ok, der Wert für den Schlüssel wurde überschrieben */