Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.alt.folklore.computer > #56302 > unrolled thread

define bool ?

Started bySebastian Barthel <naitsabes@freenet.de>
First post2026-08-30 11:45 +0000
Last post2026-08-31 20:04 +0200
Articles 9 on this page of 29 — 9 participants

Back to article view | Back to de.alt.folklore.computer


Contents

  define bool ? Sebastian Barthel <naitsabes@freenet.de> - 2026-08-30 11:45 +0000
    Re: define bool ? Arno Welzel <usenet@arnowelzel.de> - 2026-08-30 17:35 +0200
      Re: define bool ? Arno Welzel <usenet@arnowelzel.de> - 2026-08-30 17:38 +0200
        Re: define bool ? Sebastian Barthel <naitsabes@freenet.de> - 2026-08-30 19:24 +0000
      Re: define bool ? Christian Weisgerber <naddy@mips.inka.de> - 2026-08-30 16:58 +0000
    Re: define bool ? Christian Weisgerber <naddy@mips.inka.de> - 2026-08-30 21:05 +0000
      Re: define bool ? Sebastian Barthel <naitsabes@freenet.de> - 2026-08-31 11:51 +0000
        Re: define bool ? Christian Weisgerber <naddy@mips.inka.de> - 2026-08-31 15:20 +0000
          Re: define bool ? "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2026-08-31 20:15 +0200
            Re: define bool ? Christian Weisgerber <naddy@mips.inka.de> - 2026-08-31 20:14 +0000
        Re: define bool ? Stefan Reuther <stefan.news@arcor.de> - 2026-08-31 19:10 +0200
          Re: define bool ? Sebastian Barthel <naitsabes@freenet.de> - 2026-09-02 14:17 +0000
            Re: define bool ? "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2026-09-02 18:23 +0200
            Re: define bool ? Stefan Reuther <stefan.news@arcor.de> - 2026-09-02 18:33 +0200
              Re: define bool ? Thomas Koenig <tkoenig@netcologne.de> - 2026-09-02 20:38 +0000
            Re: define bool ? Christian Weisgerber <naddy@mips.inka.de> - 2026-09-02 22:20 +0000
              Re: define bool ? Thomas Koenig <tkoenig@netcologne.de> - 2026-09-03 17:03 +0000
              Re: define bool ? Hermann Riemann <nospam.ng@hermann-riemann.de> - 2026-09-04 10:06 +0200
                Re: define bool ? Thomas Koenig <tkoenig@netcologne.de> - 2026-09-04 20:41 +0000
                  Re: define bool ? Stefan Reuther <stefan.news@arcor.de> - 2026-09-05 12:19 +0200
                    Re: define bool ? "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2026-09-05 13:13 +0200
                      Re: define bool ? Michael Bäuerle <michael.baeuerle@gmx.net> - 2026-09-05 14:23 +0200
                        Re: define bool ? "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2026-09-05 14:42 +0200
                      Re: define bool ? Stefan Reuther <stefan.news@arcor.de> - 2026-09-06 10:31 +0200
                        Re: define bool ? "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2026-09-06 11:32 +0200
                          Re: define bool ? Michael Bäuerle <michael.baeuerle@gmx.net> - 2026-09-06 16:45 +0000
                            %zu in printf (was: define bool ?) "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2026-09-06 20:09 +0200
                              Re: %zu in printf Michael Bäuerle <michael.baeuerle@stz-e.de> - 2026-09-07 10:46 +0200
        Re: define bool ? "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2026-08-31 20:04 +0200

Page 2 of 2 — ← Prev page 1 [2]


#56351

From"Peter J. Holzer" <hjp-usenet4@hjp.at>
Date2026-09-05 13:13 +0200
Message-ID<slrn119nub2.2udps.hjp-usenet4@trintignant.hjp.at>
In reply to#56350
On 2026-09-05 12:19, Stefan Reuther <stefan.news@arcor.de> wrote:
> Am 04.09.2026 um 22:41 schrieb Thomas Koenig:
>> Hermann Riemann <nospam.ng@hermann-riemann.de> schrieb:
>>> Mal sehen wann es short_bool  bool_16t etc gibt.
>> 
>> Bei Fortran gibt es typischerweise verschiedene LOGICAL-Typen,
>> damit man die mittels EQUIVALENCE mit den verschiedenen INTEGER
>> oder REAL verheiraten kann.
>> 
>> Bei bool in C habe ich noch keine Implementierung gesehen, die nicht
>> ein 8-bit-Datum verwendet hat, mit den Werten 0 und 1.
>
> Na, dann hast du aber noch nicht viel gesehen :-)
>
> 'enum bool { false, true }' gibt normalerweise einen 'int', wie groß der
> auch immer sein mag.

Er spricht vom Standard-Typ bool, nicht von einem selbstdefinierten Typ,
der zufällig so heißt (geht in C23 nicht mehr: bool, false und true sind
jetzt Keywords).

Zur Größe von bool schweigt sich der Standard aus. Ich finde da nur:

| An object declared as type bool is large enough to store the values
| false and true.

Dafür reicht 1 Byte locker, aber mehr ist natürlich auch erlaubt.

| The type bool shall have one value bit and (sizeof(bool)*CHAR_BIT)- 1
| padding bits.

Das impliziert IMHO, dass sizeof(bool) größer als 1 sein kann.

| The rank of bool shall be less than the rank of all other standard
| integer types.

Das legt zwar nahe, dass ein bool höchstens so groß wie ein char sein
sollte, aber »rank« ist ein logisches Konzept, kein physisches. Das
verbietet also sizeof(bool) größer als 1 auch nicht.

TLDR: sizeof(bool) kann standardkonform > 1 sein. Ob man das in der
Praxis irgendwo sieht, ist eine andere Frage.

        hjp

[toc] | [prev] | [next] | [standalone]


#56353

FromMichael Bäuerle <michael.baeuerle@gmx.net>
Date2026-09-05 14:23 +0200
Message-ID<j6etmm-sr2.ln1@micha.freeshell.org>
In reply to#56351
Peter J. Holzer wrote:
>
> [...]
> Er spricht vom Standard-Typ bool, nicht von einem selbstdefinierten Typ,
> der zufällig so heißt (geht in C23 nicht mehr: bool, false und true sind
> jetzt Keywords).
> 
> Zur Größe von bool schweigt sich der Standard aus. Ich finde da nur:
> 
> | An object declared as type bool is large enough to store the values
> | false and true.
> 
> Dafür reicht 1 Byte locker, aber mehr ist natürlich auch erlaubt.
> 
> | The type bool shall have one value bit and (sizeof(bool)*CHAR_BIT)- 1
> | padding bits.
> 
> Das impliziert IMHO, dass sizeof(bool) größer als 1 sein kann.
> 
> | The rank of bool shall be less than the rank of all other standard
> | integer types.
> 
> Das legt zwar nahe, dass ein bool höchstens so groß wie ein char sein
> sollte, aber »rank« ist ein logisches Konzept, kein physisches. Das
> verbietet also sizeof(bool) größer als 1 auch nicht.
> 
> TLDR: sizeof(bool) kann standardkonform > 1 sein. Ob man das in der
> Praxis irgendwo sieht, ist eine andere Frage.

Fußnote 129 im N3220 working draft liest sich auch so:
| 
| [...]
| 129) While the number of bits in a bool object is at least CHAR_BIT,
                                                    ^^^^^^^^^^^^^^^^^
|      the width of a bool is just 1 bit.

[toc] | [prev] | [next] | [standalone]


#56354

From"Peter J. Holzer" <hjp-usenet4@hjp.at>
Date2026-09-05 14:42 +0200
Message-ID<slrn119o3id.31cqd.hjp-usenet4@trintignant.hjp.at>
In reply to#56353
On 2026-09-05 14:23, Michael Bäuerle <michael.baeuerle@gmx.net> wrote:
> Peter J. Holzer wrote:
>> Zur Größe von bool schweigt sich der Standard aus. Ich finde da nur:
>> 
>> | An object declared as type bool is large enough to store the values
>> | false and true.
>> 
>> Dafür reicht 1 Byte locker, aber mehr ist natürlich auch erlaubt.
>> 
>> | The type bool shall have one value bit and (sizeof(bool)*CHAR_BIT)- 1
>> | padding bits.
>> 
>> Das impliziert IMHO, dass sizeof(bool) größer als 1 sein kann.
>> 
>> | The rank of bool shall be less than the rank of all other standard
>> | integer types.
>> 
>> Das legt zwar nahe, dass ein bool höchstens so groß wie ein char sein
>> sollte, aber »rank« ist ein logisches Konzept, kein physisches. Das
>> verbietet also sizeof(bool) größer als 1 auch nicht.
>> 
>> TLDR: sizeof(bool) kann standardkonform > 1 sein. Ob man das in der
>> Praxis irgendwo sieht, ist eine andere Frage.
>
> Fußnote 129 im N3220 working draft liest sich auch so:
>| 
>| [...]
>| 129) While the number of bits in a bool object is at least CHAR_BIT,
>                                                     ^^^^^^^^^^^^^^^^^
>|      the width of a bool is just 1 bit.

Habe ich gesehen, ist aber irrelevant, weil in C keine Typen mit weniger
als CHAR_BIT Bits geben kann. sizeof(char) == 1, per definitionem. Die
Frage stellt sich also nicht, nur ob es mehr sein können. Und da ist "at
least CHAR_BIT" nicht aussagekräftiger als sizeof(bool)*CHAR_BIT), aber
eine Fußnote ist nicht normativ.

        hjp

[toc] | [prev] | [next] | [standalone]


#56359

FromStefan Reuther <stefan.news@arcor.de>
Date2026-09-06 10:31 +0200
Message-ID<117jfej.2pk.1@stefan.msgid.phost.de>
In reply to#56351
Am 05.09.2026 um 13:13 schrieb Peter J. Holzer:
> On 2026-09-05 12:19, Stefan Reuther <stefan.news@arcor.de> wrote:
>> Am 04.09.2026 um 22:41 schrieb Thomas Koenig:
>>> Hermann Riemann <nospam.ng@hermann-riemann.de> schrieb:
>>>> Mal sehen wann es short_bool  bool_16t etc gibt.
>>>
>>> Bei Fortran gibt es typischerweise verschiedene LOGICAL-Typen,
>>> damit man die mittels EQUIVALENCE mit den verschiedenen INTEGER
>>> oder REAL verheiraten kann.
>>>
>>> Bei bool in C habe ich noch keine Implementierung gesehen, die nicht
>>> ein 8-bit-Datum verwendet hat, mit den Werten 0 und 1.
>>
>> Na, dann hast du aber noch nicht viel gesehen :-)
>>
>> 'enum bool { false, true }' gibt normalerweise einen 'int', wie groß der
>> auch immer sein mag.
> 
> Er spricht vom Standard-Typ bool, nicht von einem selbstdefinierten Typ,
> der zufällig so heißt (geht in C23 nicht mehr: bool, false und true sind
> jetzt Keywords).

Ja, und in on-topic'nen C-Versionen heißt der Standard-Typ eben '_Bool',
nicht 'bool', wenn man in einem on-topic'nen Programm also 'bool' sieht,
hat das jemand #definiert oder typedef-iniert :)

> TLDR: sizeof(bool) kann standardkonform > 1 sein. Ob man das in der
> Praxis irgendwo sieht, ist eine andere Frage.

<https://stackoverflow.com/questions/5067492/> nennt ältere
RISC-Architekturen (z.B. PowerMac) als Kandidaten für sizeof(bool) > 1.
Bei jenen Architekturen war ein sub-word-Zugriff ja gerne mal ein
read-modify-write über ein Word-Register, und da ist es effizienter,
wenn man Daten in ganzen Worten speichert.


  Stefan

[toc] | [prev] | [next] | [standalone]


#56360

From"Peter J. Holzer" <hjp-usenet4@hjp.at>
Date2026-09-06 11:32 +0200
Message-ID<slrn119qcqa.hik.hjp-usenet4@trintignant.hjp.at>
In reply to#56359
On 2026-09-06 10:31, Stefan Reuther <stefan.news@arcor.de> wrote:
> Am 05.09.2026 um 13:13 schrieb Peter J. Holzer:
>> On 2026-09-05 12:19, Stefan Reuther <stefan.news@arcor.de> wrote:
>>> Am 04.09.2026 um 22:41 schrieb Thomas Koenig:
>>>> Bei bool in C habe ich noch keine Implementierung gesehen, die nicht
>>>> ein 8-bit-Datum verwendet hat, mit den Werten 0 und 1.
>>>
>>> Na, dann hast du aber noch nicht viel gesehen :-)
>>>
>>> 'enum bool { false, true }' gibt normalerweise einen 'int', wie groß der
>>> auch immer sein mag.
>> 
>> Er spricht vom Standard-Typ bool, nicht von einem selbstdefinierten Typ,
>> der zufällig so heißt (geht in C23 nicht mehr: bool, false und true sind
>> jetzt Keywords).
>
> Ja, und in on-topic'nen C-Versionen heißt der Standard-Typ eben '_Bool',
> nicht 'bool',

Dann ersetze »bool« eben durch »_Bool«. Unverständnis heucheln ist kein
guter Diskussionsstil.


>> TLDR: sizeof(bool) kann standardkonform > 1 sein. Ob man das in der
>> Praxis irgendwo sieht, ist eine andere Frage.
>
><https://stackoverflow.com/questions/5067492/> nennt ältere
> RISC-Architekturen (z.B. PowerMac) als Kandidaten für sizeof(bool) > 1.
> Bei jenen Architekturen war ein sub-word-Zugriff ja gerne mal ein
> read-modify-write über ein Word-Register, und da ist es effizienter,
> wenn man Daten in ganzen Worten speichert.

Konkret genannt wird Mac OS X auf PowerPC. Ich nehme an, es gibt hier
Leute, die das überprüfen können (andere hier on-topice Architekturen
sind natürlich auch interessant):

#include <stdio.h>
#include <stdbool.h>

int main(void) {
    printf("sizeof(bool) = %zu\n", sizeof(bool));
    return 0;
}

Sollte mit allen C-Versionen seit C99 funktionieren. (C89 hatte noch
kein _Bool/bool).

        hjp

[toc] | [prev] | [next] | [standalone]


#56362

FromMichael Bäuerle <michael.baeuerle@gmx.net>
Date2026-09-06 16:45 +0000
Message-ID<AABqnZi0ah8AAC0i.A3.flnews@WStation4.micha.freeshell.org>
In reply to#56360
Peter J. Holzer wrote:
> On 2026-09-06 10:31, Stefan Reuther <stefan.news@arcor.de> wrote:
> > Am 05.09.2026 um 13:13 schrieb Peter J. Holzer:
> > > 
> > > [...]
> > > TLDR: sizeof(bool) kann standardkonform > 1 sein. Ob man das in der
> > > Praxis irgendwo sieht, ist eine andere Frage.
> > 
> > <https://stackoverflow.com/questions/5067492/> nennt ältere
> > RISC-Architekturen (z.B. PowerMac) als Kandidaten für sizeof(bool) > 1.
> > Bei jenen Architekturen war ein sub-word-Zugriff ja gerne mal ein
> > read-modify-write über ein Word-Register, und da ist es effizienter,
> > wenn man Daten in ganzen Worten speichert.
> 
> Konkret genannt wird Mac OS X auf PowerPC. Ich nehme an, es gibt hier
> Leute, die das überprüfen können (andere hier on-topice Architekturen
> sind natürlich auch interessant):
> 
> #include <stdio.h>
> #include <stdbool.h>
> 
> int main(void) {
>     printf("sizeof(bool) = %zu\n", sizeof(bool));
>     return 0;
> }
> 
> Sollte mit allen C-Versionen seit C99 funktionieren. (C89 hatte noch
> kein _Bool/bool).


AIX 5.1 (PowerPC 604)
=====================
$ uname -sp
AIX powerpc
$ gcc --version
gcc (GCC) 3.4.6
$ gcc -std=c99 -o bool bool.c
$ ./bool 
sizeof(bool) = zu

Modifizierte Version deines Programms:
------------------------------------------------------------------------
#include <stdio.h>
#include <stdbool.h>

int main(void) {
    printf("sizeof(bool) = %lu\n", (unsigned long int)sizeof(bool));
    return 0;
}
------------------------------------------------------------------------
$ gcc -std=c99 -o bool_m bool_m.c 
$ ./bool_m 
sizeof(bool) = 1


HP-UX 11.11 (PA7300LC)
======================
$ uname -srm
HP-UX B.11.11 9000/813
$ gcc --version
gcc (GCC) 4.0.1
$ gcc -std=c99 -o bool bool.c
$ ./bool 
sizeof(bool) = zu

$ gcc -std=c99 -o bool_m bool_m.c
$ ./bool_m
sizeof(bool) = 1


Dass selbst GCC 4 nicht mit dem length modifier "z" umgehen kann
überrascht mich jetzt etwas.


GNU/Linux (PowerPC 970FX)
=========================
$ uname -sm
Linux ppc64
$ gcc --version
gcc (GCC) 6.5.0
$ gcc -std=c99 -o bool bool.c 
$ ./bool 
sizeof(bool) = 1


Die letzte Maschine ist ein Mac, mit einem Apple OS kann ich aber leider
nicht dienen.

[toc] | [prev] | [next] | [standalone]


#56363 — %zu in printf (was: define bool ?)

From"Peter J. Holzer" <hjp-usenet4@hjp.at>
Date2026-09-06 20:09 +0200
Subject%zu in printf (was: define bool ?)
Message-ID<slrn119rb28.ech0.hjp-usenet4@trintignant.hjp.at>
In reply to#56362
On 2026-09-06 18:45, Michael Bäuerle <michael.baeuerle@gmx.net> wrote:
> Peter J. Holzer wrote:
>> #include <stdio.h>
>> #include <stdbool.h>
>> 
>> int main(void) {
>>     printf("sizeof(bool) = %zu\n", sizeof(bool));
>>     return 0;
>> }
>> 
>> Sollte mit allen C-Versionen seit C99 funktionieren. (C89 hatte noch
>> kein _Bool/bool).
>

Danke.

Folgendes auf den Output von printf("sizeof(bool) = %zu\n", sizeof(bool))
gekürzt:

> AIX 5.1 (PowerPC 604)
>=====================
> sizeof(bool) = zu
[...]
> HP-UX 11.11 (PA7300LC)
>======================
> sizeof(bool) = zu
[...]
> Dass selbst GCC 4 nicht mit dem length modifier "z" umgehen kann
> überrascht mich jetzt etwas.

Es ist nicht der Compiler, sondern die Implementation von printf.
GCC verwendet auf den meisten Unix-Plattformen einfach die
libc des Betriebssystems. HP-UX 11.11 ist laut Wikipedia im Dezember
2000 erschienen. Es ist wahrscheinlich, dass die HP-Leute damals die
libc noch nicht C99-konform gemacht hatten. Meiner Erinnerung hat es
sowohl nach C89 als auch nach C99 etliche Jahre gedauert, bis man die
neuen Features in (einigermaßen) portablen Programmen nutzen konnte.

Für AIX 5.1 (Mai 2001) gilt vermutlich Ähnliches.

        hjp

PS: Ich habe den C99-Standard nicht zur Hand. Meiner Erinnerung nach
wurde der "z" Modifier mit C99 eingeführt und ChatGPT bestätigt das mit
einem Zitat, aber ich kann das nicht überprüfen.

[toc] | [prev] | [next] | [standalone]


#56364 — Re: %zu in printf

FromMichael Bäuerle <michael.baeuerle@stz-e.de>
Date2026-09-07 10:46 +0200
SubjectRe: %zu in printf
Message-ID<AABqnnn4WlgAAAN4.A3.flnews@WStation5.stz-e.de>
In reply to#56363
Peter J. Holzer wrote:
> On 2026-09-06 18:45, Michael Bäuerle <michael.baeuerle@gmx.net> wrote:
> > Peter J. Holzer wrote:
> > > 
> > > #include <stdio.h>
> > > #include <stdbool.h>
> > > 
> > > int main(void) {
> > >     printf("sizeof(bool) = %zu\n", sizeof(bool));
> > >     return 0;
> > > }
> > > 
> > > Sollte mit allen C-Versionen seit C99 funktionieren. (C89 hatte noch
> > > kein _Bool/bool).
> 
> Danke.
> 
> Folgendes auf den Output von printf("sizeof(bool) = %zu\n", sizeof(bool))
> gekürzt:
> 
> > AIX 5.1 (PowerPC 604)
> > =====================
> > sizeof(bool) = zu
> [...]
> > HP-UX 11.11 (PA7300LC)
> > ======================
> > sizeof(bool) = zu
> [...]
> > Dass selbst GCC 4 nicht mit dem length modifier "z" umgehen kann
> > überrascht mich jetzt etwas.
> 
> Es ist nicht der Compiler, sondern die Implementation von printf.
> GCC verwendet auf den meisten Unix-Plattformen einfach die
> libc des Betriebssystems. HP-UX 11.11 ist laut Wikipedia im Dezember
> 2000 erschienen. Es ist wahrscheinlich, dass die HP-Leute damals die
> libc noch nicht C99-konform gemacht hatten. Meiner Erinnerung hat es
> sowohl nach C89 als auch nach C99 etliche Jahre gedauert, bis man die
> neuen Features in (einigermaßen) portablen Programmen nutzen konnte.
> 
> Für AIX 5.1 (Mai 2001) gilt vermutlich Ähnliches.

Ja, du hast Recht. Es wird auch der Linker des Systems verwendet.

Beide Systeme dürften auf die Anforderungen von POSIX ausgelegt worden
sein, das basiert erst seit POSIX.1-2001 auf C99.
Beide Systeme behaupten aber zu älteren Normen kompatibel zu sein.
GCC ist jeweils nicht der native Compiler, d.h. die zugehörigen
kommerziellen Compiler haben vermutlich auch nur C90 unterstützt.

> PS: Ich habe den C99-Standard nicht zur Hand. Meiner Erinnerung nach
> wurde der "z" Modifier mit C99 eingeführt und ChatGPT bestätigt das mit
> einem Zitat, aber ich kann das nicht überprüfen.

Im Draft N869 von 1999 steht er drin:
| 
| [...]
| z Specifies that a following d, i, o, u, x, or X conversion specifier applies to a
|   size_t or the corresponding signed integer type argument; or that a
|   following n conversion specifier applies to a pointer to a signed integer type
|   corresponding to size_t argument.

[toc] | [prev] | [next] | [standalone]


#56322

From"Peter J. Holzer" <hjp-usenet4@hjp.at>
Date2026-08-31 20:04 +0200
Message-ID<slrn119bggj.17r78.hjp-usenet4@trintignant.hjp.at>
In reply to#56313
On 2026-08-31 13:51, Sebastian Barthel <naitsabes@freenet.de> wrote:
> Am Sun, 30 Aug 2026 21:05:01 +0000 schrubte der Humanoide Christian
> Weisgerber:
>
>> On 2026-08-30, Sebastian Barthel <naitsabes@freenet.de> wrote:
>> 
>>> Was macht man denn mit #define bool ?
>> 
>> $ egrep -R '^#[[:space:]]*define[[:space:]]+bool[[:space:]]'
>> /usr/include
>
>> /usr/include /usr/include/ncurses.h:#define bool NCURSES_BOOL
>> /usr/include/stdbool.h:#define bool _Bool
>> /usr/include/stdbool.h:#define bool     bool
>> /usr/include/sys/types.h:#define bool _Bool
>
> OK. Das ist mal eine schöne Suche. Besonders hübsch ist ja das 3te 
> Beispiel ... . :)

Das zweite und dritte Beispiel sind aus dem selben File. Vermutlich
steht da sowas wie

#if FEATURE_XYZ
#define bool _Bool
#else
#define bool bool
#endif

Wobei FEATURE_XYZ von Sprach-Art (C oder C++) und -Version abhängt.
C++ hat meiner Erinnerung nach recht früh einen Typ »bool« eingeführt,.
C zunächst aus Kompabilitätsgründen »_Bool« und erst vor ein paar Jahren
»bool«.

> Bei mir findet sich damit u.a. auch in slcurses.h (zu slang)
>
> /* These have no place in C */
> #define TRUE 1
> #define FALSE 0
> #define bool int

Ja, die Existenz von Code, der »bool« irgendwie selbst definiert, war
der Grund, warum C zunächst mal »_Bool« eingeführt hat.

        hjp

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | de.alt.folklore.computer


csiph-web