Example #1
0
char *jjudge_replace_char(char *buf, int from, int to)
{
  char *p = buf;

  jjudge_t judger;
  jjudge_init(&judger);

  while (*p) {
    unsigned char jc = *p;
    unsigned char c = from;
    if (jjudge_equal(&judger, jc, c)) *p = to;
    p++;
  }
  return buf;
}
Example #2
0
char *fname_as_file(char *buf)
{
	char *mark = NULL;
	char *p = buf;

	jjudge_t judger;
	jjudge_init(&judger);

	while (*p) {
		unsigned char c = *p;
		if (jjudge_equal(&judger, c, FNAME_FS_CHAR)) { if (!mark) mark = p; }
		else mark = NULL;
		p++;
	}

	if (mark) *mark = '\0';
	return buf;
}
Example #3
0
char *fname_get_file(char *buf)
{
	char *mark = NULL;
	char *p = buf;

	jjudge_t judger;
	jjudge_init(&judger);

	fname_as_file(buf);

	while (*p) {
		unsigned char c = *p;
		if (jjudge_equal(&judger, c, FNAME_FS_CHAR)) { mark = p; }
		p++;
	}

	if (mark) {
		mark++;
		p = buf;
		while ((*p++ = *mark++));
	}

	return buf;
}
Example #4
0
char *fname_get_parent(char *buf)
{
	char *mark = NULL;
	char *p = buf;
	int conti = 0;

	jjudge_t judger;
	jjudge_init(&judger);

	fname_as_file(buf);

	while (*p) {
		unsigned char c = *p;
		if (jjudge_equal(&judger, c, FNAME_FS_CHAR))
		{
			if (!conti) { mark = p; conti++; }
		}
		else conti = 0;
		p++;
	}

	if (mark) { *mark = '\0'; return buf; }
	return NULL;
}