Пример #1
0
static void ask_params(void)
{
	if (!*search_str) {
		char buffer[512], *s = buffer;
		ddprintf("%s", errstr[TS_STRING_PROMPT]);
		buffer[0] = 0;
		if (!Prompt(buffer, 512, 0))
			return;
		
		quoted2plain(&s, search_str);
		if (!*search_str) {
			ddprintf("%s", errstr[TS_CANCEL]);
			return;
		}
	}
	
	if (pattern_type < 2)
		shrink_spaces(search_str);
}
Пример #2
0
static int simple_search(int num)
{
	int fd, retcode;
	struct stat st;
	char fname[PATH_MAX + 1], *contents;

	snprintf(fname, PATH_MAX + 1, "%s/messages/base%3.3d/msg%5.5d",
		 conference()->conf.CONF_PATH,
		 current_msgbase->MSGBASE_NUMBER, num);
	if ((fd = open(fname, O_RDONLY)) == -1)
		return 0;
	fstat(fd, &st);
	contents = (char *) xmalloc(st.st_size + 1);
	contents[st.st_size] = 0;
	read(fd, contents, st.st_size);
	close(fd);
	if (pattern_type < 2)
		shrink_spaces(contents);
	retcode = strstr(contents, search_str) != NULL;
	free(contents);
	return retcode;
}
Пример #3
0
int
main (int argc, char *argv[])
{
  FILE *fp;
  int space_count;
  int script_type;
  char buf[10024], convo[10024], convo_nick[124], convo_nick_prev[124];
  char *str_ptr;


//vflag = 1;

  if (argc < 2)
    {
      exit (-1);
    }

  fp = fopen (argv[1], "r");
  if (!fp)
    exit (-1);

  while (1)
    {
      _memset (buf, 0, sizeof (buf));
      if (fgets (buf, sizeof (buf) - 10, fp) == NULL)
	break;
      _strstrip_nl (buf);

if(vflag)
printf(":::rawbuf=[%s]\n",buf);

      for (space_count = 0; space_count < strlen (buf); space_count++)
	{
	  if (buf[space_count] != ' ')
	    break;
	}



      if (space_count > 7)

	{

	  if (script_type == SCRIPT_NOCONVO)
	    {

if(vflag) {
puts(":::type=NOCONVO, setting=INCONVO");
}

	      script_type = SCRIPT_INCONVO;
	      str_ptr = buf;
	      if (str_ptr)
		{
		  if (str_allcaps (_eat_whitespace(str_ptr)))
		    {
if(vflag)
puts(":::ALL_CAPS");
		      _memset (convo_nick, 0, sizeof (convo_nick));
		      strlcpy_buf (convo_nick, str_ptr, sizeof (convo_nick) - 1);
		    }

		}
	    }
	  else
	    {
	      strlcat_buf (convo, buf, sizeof (convo) - 1);
	    }


	}
      else
	{

	  if (script_type == SCRIPT_INCONVO)
	    {

/* write buf out */
	      if (convo[0])
		{
		  fill_brackets (convo);
		  fill_brackets (convo_nick);
		  shrink_spaces (convo);
		  shrink_all_spaces (convo_nick);

//puts("---");
if(!strcasecmp(convo_nick_prev, convo_nick) && str_allcaps(_eat_whitespace(convo_nick))) {
printf(" %s", _eat_whitespace(convo));
}
else {
_memset(convo_nick_prev,0,sizeof(convo_nick_prev));
strlcpy_buf(convo_nick_prev, convo_nick, sizeof(convo_nick_prev)-1);
if(str_allcaps(_eat_whitespace(convo_nick))){
		  printf ("\n%s:%s", _eat_whitespace (convo_nick),
			  _eat_whitespace (convo));
}
		}

}

	    }

if(vflag)
puts(":::type=INCONVO, setting=NOCONVO);");
 
	  script_type = SCRIPT_NOCONVO;
	  _memset (&convo, 0, sizeof (convo));
	  continue;
	}


    }


  return 0;
}