#include <stdlib.h> #include <unistd.h> #include <stdio.h> char *strip_path(char *cfilename) { int lpos, i, n; char *filename; lpos = 0; for (i=0; i < (int)strlen(cfilename); i++) if (cfilename[i] == '/') lpos = i; if (lpos != 0) lpos++; n = 0; filename = (char*)malloc((sizeof(char*) * strlen(cfilename)) + 2); for (i=lpos; i < (int)strlen(cfilename); i++) { filename[n] = cfilename[i]; n++; } filename[n] = '\0'; return filename; } char *shorten_path(char *cfilename) { char *filename; int i,n; if (strlen(cfilename) < 30) return cfilename; filename = (char*)malloc(sizeof(char*) * 31); n = 0; for (i=0; i < 10; i++) { filename[n] = cfilename[i]; n++; } for (i=0; i < 3; i++) { filename[n] = '.'; n++; } for (i=(int)strlen(cfilename)-17; i < (int)strlen(cfilename); i++) { filename[n] = cfilename[i]; n++; } filename[30] = '\0'; return filename; }