digitalmars.D - Replacing the GDB D patch with dfilt
- Downs (65/65) Sep 17 2007 -----BEGIN PGP SIGNED MESSAGE-----
- Alexander Panek (2/3) Sep 17 2007 License? :) (Just in case)
- Downs (16/20) Sep 17 2007 -----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The following modified version of dfilt (see the phobos std.demangle doc for original source) with special handling of the GDB prompt allows for dfilt to be used with gdb like so gdb programname |dfilt The source is import std.stdio; import std.ctype; import std.demangle; void writefl(char c) { writef(c); fflush(null); } void writefl(char[] c) { writef(c); fflush(null); } void mangprint(string line) { bool inword=false; char[] buffer; foreach (ch; line) { if (inword) { if (ch == '_' || isalnum(ch)) buffer ~= ch; else { inword = false; writefl(demangle(buffer)~ch); } } else { if (ch == '_' || isalpha(ch)) { inword=true; buffer=[ch]; } else writefl(ch); } } if (inword) writefl(demangle(buffer)); writefln; } int main() { char[] line; bool immediate=false; int c; while ((c = fgetc(stdin)) != EOF) { char ch=cast(char)c; if (immediate) { if (c == 10) { writefln; immediate=false; } else writefl(ch); continue; } if (c == 10) { mangprint(line); line=""; continue; } line ~= ch; if (line.length!<2 && line[$-2..$]==") ") { immediate=true; writefl(line); line=""; continue; } } return 0; } Enjoy! --downs -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFG7oe1pEPJRr05fBERAuRUAJ9jd2P9uq6kQY+8CrXb1yYwaS6D6gCZAfb2 juWInY7VGoQE5hW7HqeTiIY= =WJ1i -----END PGP SIGNATURE-----
Sep 17 2007
Downs wrote:The source isLicense? :) (Just in case)
Sep 17 2007
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Alexander Panek wrote:Downs wrote:Eh, it's a derivative work of a part of the phobos docs .. So I'm really not sure what applies here. Is it even legal for me to have created this? :o All that notwithstanding, I doubt the program is volumous enough to warrant copyright protection. Why, it's barely more than a sniplet! --downs -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFG7otQpEPJRr05fBERAvA+AJ9TRXJn14IQcsgnEy9dVJeZqsQapACghKM0 mxtugoDx402leUzTLu0XU54= =GgWD -----END PGP SIGNATURE-----The source isLicense? :) (Just in case)
Sep 17 2007