gonso
15-01-2007, 12:46
char *
extract_filename(char *dst, const char *src, size_t n)
{
int i;
char *filename;
char tmp[n];// ???
normalize_path(tmp, src, n);
i = strlen(tmp);
/* remove trailing slashes */
while (i > 0 && tmp[i-1] == '\\') {
--i;
}
if (i == 0) {
tmp[i++] = '\\';
}
/* NULL terminate destination string */
tmp[i] = '\0';
while (--i >= 0 && tmp[i] != '\\');
filename = tmp + i + 1;
memset(dst, 0, n);
strncpy(dst, filename, n);
IRIVER_LOG(6,
"extract_filename\n"
"\tsrc = %s;\n"
"\tdst = %s;\n",
src,
dst);
return dst;
}
Es geht um char tmp[n]. Geht sowas ?
Ich habe das code mit google gefunden.
extract_filename(char *dst, const char *src, size_t n)
{
int i;
char *filename;
char tmp[n];// ???
normalize_path(tmp, src, n);
i = strlen(tmp);
/* remove trailing slashes */
while (i > 0 && tmp[i-1] == '\\') {
--i;
}
if (i == 0) {
tmp[i++] = '\\';
}
/* NULL terminate destination string */
tmp[i] = '\0';
while (--i >= 0 && tmp[i] != '\\');
filename = tmp + i + 1;
memset(dst, 0, n);
strncpy(dst, filename, n);
IRIVER_LOG(6,
"extract_filename\n"
"\tsrc = %s;\n"
"\tdst = %s;\n",
src,
dst);
return dst;
}
Es geht um char tmp[n]. Geht sowas ?
Ich habe das code mit google gefunden.