+void new_file_suffix(char *result, size_t maxlen, const char *src, const char *newsuffix)
+{
+ strncpy(result, src, maxlen);
+ char *p = strrchr(result, '.');
+ if (p && strchr(p, '/'))
+ p = NULL;
+ if (p)
+ {
+ strncpy(p, newsuffix, maxlen - (p - result));
+ }
+ else
+ {
+ strncat(result, newsuffix, maxlen);
+ }
+ result[maxlen] = 0;
+}
+