----- Original Message ----- From: "Mysidia" <jmhess@I-55.COM> > Darn tildes and strings! > > Couldn't they think of a better terminating character that builders > wouldn't want to include verbatim via OLC, ie ^L, ^P, \xFF, whatever! > > And a blanket application of smash_tilde to the line editor is > an annoying proposal -- mainly because it strips tildes out of urls, > ie http://foo.com/~joeuser/joefile gets messed up. > > Maybe there should be some kind of quoting mechanism to stick a > tilde inside a string, ie: \~, E;, $~, or ~~ dunno. In any new files that I create, I no longer use tildes to terminate long strings. Instead, I use a single line by parsing off cr/lf/tab/etc and translating them to \r, \n, \t using the following functions: void string_to_store(char *target, char *source) { *target = 0; while(source) { switch(*source) { case 0: return; case '\r': strcat(target, "\\r"); break; case '\n': strcat(target, "\\n"); break; case '\t': strcat(target, "\\t"); break; case '\\': strcat(target, "\\\\"); break; default: strncat(target, source, 1); break; } source++; } } void store_to_string(char *target, char *source) { *target = 0; while(source) { switch(*source) { case 0: return; case '\\': source++; switch(*source) { case 'r': strcat(target, "\r"); break; case 'n': strcat(target, "\n"); break; case 't': strcat(target, "\t"); break; case '\\': strcat(target, "\\"); break; default: return; /* Error */ } break; default: strncat(target, source, 1); break; } source++; } } -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST