konto_check 5.4.0 → 5.5.0

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