| iMatix home page
| << | < | > | >>
SFL Logo SFL
Version 2.11

 

default_extension

#include "sflfile.h"
char *
default_extension (
    char *dest,
    const char *src,
    const char *ext)

Synopsis

Copies src to dest and adds ext if necessary. Returns dest. Dest must be large enough for a fully-formatted filename; define it as char [FILE_NAME_MAX + 1]. The ext argument can start with or without a dot. If ext is null or empty, does nothing.

Source Code - (sflfile.c)

{
    int len, i;
    char *ptr;

    ASSERT (dest);
    ASSERT (src);

    if (dest != src)                    /*  Copy src to dest if not same     */
        strcpy (dest, src);

    if (ext != NULL && *ext != 0)
      {
        len = strlen (dest);
        for (i = len - 1, ptr = dest + i; i >= 0; i--, ptr--)
            if (*ptr == '\\' || *ptr == '/' || *ptr == '.')
                break;

        if (i < 0 || *ptr != '.')
          {
            if (*ext != '.')
              {
                dest [len++] = '.';
                dest [len] = '\0';
              }
            strcat (dest + len, ext);
          }
      }
    return (dest);
}

| << | < | > | >> iMatix Copyright © 1996-2000 iMatix Corporation