mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-03-22 10:41:43 +00:00
Implemented __DATE__ for ftepp
This commit is contained in:
parent
e08e4a9ce0
commit
908f6ded8a
1 changed files with 20 additions and 0 deletions
20
ftepp.c
20
ftepp.c
|
@ -21,6 +21,7 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
#include <time.h>
|
||||
#include "gmqcc.h"
|
||||
#include "lexer.h"
|
||||
|
||||
|
@ -81,6 +82,24 @@ typedef struct {
|
|||
static uint32_t ftepp_predef_countval = 0;
|
||||
static uint32_t ftepp_predef_randval = 0;
|
||||
|
||||
/* __DATE__ */
|
||||
char *ftepp_predef_date(lex_file *context) {
|
||||
struct tm *itime;
|
||||
time_t rtime;
|
||||
char *value = mem_a(82);
|
||||
/* 82 is enough for strftime but we also have " " in our string */
|
||||
|
||||
(void)context;
|
||||
|
||||
/* get time */
|
||||
time (&rtime);
|
||||
itime = localtime(&rtime);
|
||||
|
||||
strftime(value, 82, "\"%b %d %Y\"", itime);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
/* __LINE__ */
|
||||
char *ftepp_predef_line(lex_file *context) {
|
||||
char *value;
|
||||
|
@ -138,6 +157,7 @@ static const predef_t ftepp_predefs[] = {
|
|||
{ "__COUNTER_LAST__", &ftepp_predef_counterlast },
|
||||
{ "__RANDOM__", &ftepp_predef_random },
|
||||
{ "__RANDOM_LAST__", &ftepp_predef_randomlast },
|
||||
{ "__DATE__", &ftepp_predef_date }
|
||||
};
|
||||
|
||||
#define ftepp_tokval(f) ((f)->lex->tok.value)
|
||||
|
|
Loading…
Reference in a new issue