On Tue, 16 Apr 1996, Hades wrote:
> Ok, when the olc saves the file (I use iedit/redit) it leaves those damn
> annoying M's at the end of any line with a CR in it. ANyone know a way to
> take those damn things out? Or a function they made to lose the CR's?
Well after several attempts over the past several months I think I've
finally found the answer. Other people have posted code to fix this, but
it's been a personal goal to figure it out for myself since strings give
me such a hard time :)
This is actual working (and probably inefficient, but hey) code from the
upcoming release of obuild:
void kill_ems(char *str)
{
char *ptr1, *ptr2, *tmp;
tmp = str;
ptr1 = str;
ptr2 = str;
while(*ptr1) {
if((*(ptr2++) = *(ptr1++)) == '\r')
if(*ptr1 == '\r')
ptr1++;
}
*ptr2 = '\0';
}
In actual use, what I do is something like this:
#define CHECK_NULL(string) ((string) ? (string) : "")
void save_rooms(int zone)
{
char *temp;
/* snip */
temp = str_dup(CHECK_NULL(world[rnum].description));
kill_ems(temp);
fprintf(outfile, "%s\n", temp);
free(temp);
}
Sam
This archive was generated by hypermail 2b30 : 12/18/00 PST