Explain what xstr can and cannot do, and why it is not useful these days.
This commit is contained in:
parent
2fe9365746
commit
6f0701b22e
|
@ -1,4 +1,4 @@
|
||||||
.\" $NetBSD: xstr.1,v 1.11 2003/08/07 11:17:51 agc Exp $
|
.\" $NetBSD: xstr.1,v 1.12 2004/06/06 06:15:45 christos Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 1980, 1993
|
.\" Copyright (c) 1980, 1993
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
|
@ -160,3 +160,43 @@ but the shorter string is seen first by
|
||||||
.Nm
|
.Nm
|
||||||
both strings will be placed in the data base, when just
|
both strings will be placed in the data base, when just
|
||||||
placing the longer one there will do.
|
placing the longer one there will do.
|
||||||
|
.Pp
|
||||||
|
.Nm
|
||||||
|
does not parse the file properly so it does not know not to process:
|
||||||
|
.Bd -literal
|
||||||
|
char var[] = "const";
|
||||||
|
.Ed
|
||||||
|
into:
|
||||||
|
.Bd -literal
|
||||||
|
char var[] = (&xstr[N]);
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
These must be changed manually into an appropriate initialization for
|
||||||
|
the string, or use the following ugly hack.
|
||||||
|
.Pp
|
||||||
|
Also,
|
||||||
|
.Nm
|
||||||
|
cannot initialize structures and unions that contain strings. Those can
|
||||||
|
be fixed by changing from:
|
||||||
|
.Bd -literal
|
||||||
|
struct foo {
|
||||||
|
int i;
|
||||||
|
char buf[10];
|
||||||
|
} = {
|
||||||
|
1, "foo"
|
||||||
|
};
|
||||||
|
.Ed
|
||||||
|
to:
|
||||||
|
.Bd -literal
|
||||||
|
struct foo {
|
||||||
|
int i;
|
||||||
|
char buf[10];
|
||||||
|
} = {
|
||||||
|
1, { 'f', 'o', 'o', '\e0' }
|
||||||
|
};
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
Finally,
|
||||||
|
.Nm
|
||||||
|
is not very useful these days because most of the string merging is done
|
||||||
|
automatically by the compiler and the linker.
|
||||||
|
|
Loading…
Reference in New Issue