Re: [Circle][Code] Help again :9

From: John (witpens@optushome.com.au)
Date: 12/01/01


Sorry, forgot to mention, please ignore the log statements (just
debugging tools). And also,
even if I call strncpy(result, input_str, 20) it copies 20 characters,
then adds funny characters after that.

> I tried to resist the temptation of going to the group for help, but
> after another full day of banging my head against the computer desk, I
> caved in.
> I am trying to delete a certain line from the room description and this
> line is usually at the end of the description. It works fine except for
> the fact that
> the final room description has an unusual character repeated like twenty
> times at the end. This only happens whenever I use strncpy.
>
> PS: I am using MSVC++ under W2K.
>
> Please find a cure for my splitting headache. Thanks :)
>
>
> char input_str[MAX_INPUT_LENGTH], *tmp2, result[MAX_INPUT_LENGTH];
>
>  if (full_ex) {
>   log("world descript: %s\r\n", world[room].description);
>   strcpy(input_str, world[room].description);
>   log("input_str = %s\r\n", input_str);
>   tmp2 = strstr(input_str, "There is a huge gaping hole in the
> ground!\r\n");
>
>   if (tmp2 != NULL) {
>    log("tmp2 = %s", tmp2);
>    log("strlen of input_str: %d\r\n", strlen(input_str));
>    log("input_str inside: %s\r\n", input_str);
>    strncpy(result, input_str, strlen(input_str) - strlen(tmp2));
>    log("result: %s\r\n", result);
>    free(world[room].description);
>    world[room].description = str_dup(result);
>   }
>  }

--
   +---------------------------------------------------------------+
   | 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 : 06/24/03 PDT