MudOSa4DGD/
MudOSa4DGD/bin/
MudOSa4DGD/data/
MudOSa4DGD/doc/
MudOSa4DGD/doc/driver/
MudOSa4DGD/doc/efun/bitstrings/
MudOSa4DGD/doc/efun/command/
MudOSa4DGD/doc/efun/communication/
MudOSa4DGD/doc/efun/heart_beat/
MudOSa4DGD/doc/efun/interactive/
MudOSa4DGD/doc/efun/inventory/
MudOSa4DGD/doc/efun/living/
MudOSa4DGD/doc/efun/mappings/
MudOSa4DGD/doc/efun/strings/
MudOSa4DGD/doc/efun/uid/
MudOSa4DGD/doc/funs/
MudOSa4DGD/doc/language/
MudOSa4DGD/mudlib/dgd/doc/
MudOSa4DGD/mudlib/dgd/lib/include/dgd/
MudOSa4DGD/mudlib/dgd/lib/std/
MudOSa4DGD/mudlib/dgd/lib/sys/
MudOSa4DGD/mudlib/dgd/log/
MudOSa4DGD/mudlib/log/
MudOSa4DGD/mudlib/std/include/
MudOSa4DGD/mudlib/std/obj/
/*
 * make_punctation.c
 *
 * SFUN: End a sentece with a .
 *
 * (C) Frank Schmidt, Jesus@NorseMUD
 *
 */

/* get rid of "blablabla. ." */
#define STRIP_TRAILING_WHITESPACE


/* end a sentence with a puntuation */
static varargs string make_punctation(string str, string end) {
  int t;
  string strorig;

  strorig = str;
  t = str[strlen(str)-1];

#ifdef STRIP_TRAILING_WHITESPACE
  while (t == ' ') {
    str = str[0..strlen(str)-2];
    t = str[strlen(str)-1];
  }
#endif

  /* default <end> is "." */
  if (!end) end = ".";

  /* return original string? */
  switch (t) {
  case '!':
  case '?':
  case '.':
    return strorig;
  }
  if (t == end[strlen(end)-1]) return strorig;

  /* make punctation at end */
  return str+end;
}