summaryrefslogtreecommitdiff
path: root/epgsearchtools.c
diff options
context:
space:
mode:
authorChristian Wieninger <cwieninger (at) gmx (dot) de>2009-05-06 23:02:32 +0200
committerChristian Wieninger <cwieninger (at) gmx (dot) de>2009-05-06 23:02:32 +0200
commitc0cadf7fbf8a9df4273fcd6757debefb86c7a4aa (patch)
tree05c68cbef2995176476150a330ceb8a27ffdde59 /epgsearchtools.c
parente6bd92773bdd36685070a1e06b677fd6bc539a70 (diff)
downloadvdr-plugin-epgsearch-c0cadf7fbf8a9df4273fcd6757debefb86c7a4aa.tar.gz
vdr-plugin-epgsearch-c0cadf7fbf8a9df4273fcd6757debefb86c7a4aa.tar.bz2
some speed enhancements
Diffstat (limited to 'epgsearchtools.c')
-rw-r--r--epgsearchtools.c75
1 files changed, 20 insertions, 55 deletions
diff --git a/epgsearchtools.c b/epgsearchtools.c
index 8021c12..89f820c 100644
--- a/epgsearchtools.c
+++ b/epgsearchtools.c
@@ -537,45 +537,6 @@ char *strreplacei(char *s, const char *s1, const char *s2)
return s;
}
-unsigned int strcharcount(char* source, char ch)
-{
- unsigned int count;
-
- for (count = 0; *source; source++)
- if (*source == ch)
- count++;
- return (count);
-}
-
-char *strreplaceall(char* source, char ch, const char* replacement)
-{
- int replen;
- int srclen;
- unsigned int chnum;
- register char *sptr, *nptr;
- char *newval;
-
- chnum = strcharcount(source, ch);
-
- if (chnum == 0)
- return (NULL);
-
- srclen = strlen(source);
- replen = strlen(replacement);
- newval = (char*) malloc(srclen + (chnum * replen) + 1);
- nptr = newval;
- for (sptr = source; chnum > 0; sptr++)
- if (*sptr == ch) {
- memcpy(nptr, replacement, replen);
- nptr += replen;
- chnum--;
- }
- else
- *nptr++ = *sptr;
- memcpy(nptr, sptr, srclen - (sptr - source) + 1);
- return (newval);
-}
-
void sleepMSec(long ms)
{
cCondWait::SleepMs(ms);
@@ -898,22 +859,26 @@ void DelTimer(int index)
char* FixSeparators(char* buffer, char sep)
{
- char tmp[5];
- sprintf(tmp, "%c\t", sep);
- buffer = strreplacei(buffer, tmp, "\t");
- sprintf(tmp, "%c \t", sep);
- buffer = strreplacei(buffer, tmp, "\t");
- sprintf(tmp, "%c ", sep);
- if (strstr(buffer, tmp) == buffer + strlen(buffer) - 2) buffer[strlen(buffer) - 2] = 0;
- if (buffer[strlen(buffer)-1] == sep) buffer[strlen(buffer) - 1] = 0;
-
- sprintf(tmp, "\t%c", sep);
- buffer = strreplacei(buffer, tmp, "\t");
- sprintf(tmp, "\t %c", sep);
- buffer = strreplacei(buffer, tmp, "\t");
- sprintf(tmp, "\t %c", sep);
- buffer = strreplacei(buffer, tmp, "\t");
- return buffer;
+ char tmp[5];
+ tmp[0] = sep; tmp[1] = '\t'; tmp[2] = '\0';
+ buffer = strreplacei(buffer, tmp, '\t');
+ tmp[0] = sep; tmp[1] = ' '; tmp[2] = '\t'; tmp[3] = '\0';
+ buffer = strreplacei(buffer, tmp, '\t');
+ tmp[0] = sep; tmp[1] = ' '; tmp[2] = '\0';
+
+ unsigned int len = strlen(buffer);
+ if (strstr(buffer, tmp) == buffer + len - 2)
+ buffer[len-2] = '\0';
+ if (buffer[len-1] == sep)
+ buffer[len-1] = '\0';
+
+ tmp[0] = '\t'; tmp[1] = sep; tmp[2] = '\0';
+ buffer = strreplacei(buffer, tmp, '\t');
+ tmp[0] = '\t'; tmp[1] = ' '; tmp[2] = sep; tmp[3] = '\0';
+ buffer = strreplacei(buffer, tmp, '\t');
+ tmp[0] = '\t'; tmp[1] = ' '; tmp[2] = ' '; tmp[3] = sep; tmp[4] = '\0';
+ buffer = strreplacei(buffer, tmp, '\t');
+ return buffer;
}
cString DateTime(time_t t)