code:

Can't Copy and Paste this?

Click here for a copy-and-paste friendly version of this code!

 

Terms of Agreement:   

By using this code, you agree to the following terms...   

1) You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for langauges that allow it) freely and with no charge.   

2) You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   

3) You may link to this code from another website, but ONLY if it is not wrapped in a frame. 

4) You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.  

//     

/* +++Date last modified: 05-Jul-1997 */

/*

** public domain by Bob Stout

*/

#if !defined(__TURBOC__) && !defined(__SC__)

#include "ftime.h"

#endif

#include 

#include 

#include "ftime.h"

#include "scaldate.h"

/*

** getfdate() - return DOS file (handle) date as a SNIPPETS scalar date

*/

int getfdate (int handle, long *date)

    {

    static struct ftime ftimep;

    int retval = 0;

    if (0 == (retval = getftime(handle, &ftimep)))

        {

        *date = ymd_to_scalar(ftimep.ft_year + 1980, ftimep.ft_month,

        ftimep.ft_day);

    }

    return retval;

}

/*

** getdatef() - return DOS file (filename) date as a SNIPPETS scalar date

*/

int getdatef (char *fname, long *date)

    {

    int fh;

    if (-1 != (fh = open(fname, O_RDONLY, 0)))

        {

        int retval;

        retval = getfdate(fh, date);

        close(fh);

        return retval;

    }

    else return fh;

}

#ifdef TEST

#include 

main(int argc, char *argv[])

    {

    long date;

    while (--argc)

        {

        if (0 == getdatef(*++argv, &date))

            {

            unsigned yr, mo, dy;

            scalar_to_ymd(date, &yr, &mo, &dy);

            printf("%-15s: %2d/%02d/%04d\n", *argv, mo, dy, yr);

        }

    }

    return 0;

}

#endif /* TEST */