From 5cf2dd2632aae8314f15730a1d57d18172f01416 Mon Sep 17 00:00:00 2001
From: Rob <rob@synchro.net>
Date: Wed, 14 Oct 2020 20:56:32 -0700
Subject: [PATCH] New @-code: BIRTH for full-format user birthdate

Use BIRTH instead of BDATE if you want MM/DD/YYYY (or DD/MM/YYYY) instead of MM/DD/YY or DD/MM/YY formatted birthdate display.

New aliases (for consistency): BIRTHFMT -> BDATEFMT and BIRTH:<fmt> -> BDATE:<fmt>
---
 src/sbbs3/atcodes.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp
index fbf75d08c4..8f9664d3fe 100644
--- a/src/sbbs3/atcodes.cpp
+++ b/src/sbbs3/atcodes.cpp
@@ -577,7 +577,7 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen, long* pmode, bool
 		return cfg.sys_misc&SM_EURODATE ? "DD/MM/YY" : "MM/DD/YY";
 	}
 
-	if(strcmp(sp, "BDATEFMT") == 0) {
+	if(strcmp(sp, "BDATEFMT") == 0 || strcmp(sp, "BIRTHFMT") == 0) {
 		return birthdate_format(&cfg);
 	}
 
@@ -838,7 +838,10 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen, long* pmode, bool
 	if(!strcmp(sp,"BDATE"))
 		return getbirthdstr(&cfg, useron.birth, str, maxlen);
 
-	if(strncmp(sp, "BDATE:", 6) == 0) {
+	if(strcmp(sp, "BIRTH") == 0)
+		return format_birthdate(&cfg, useron.birth, str, maxlen);
+
+	if(strncmp(sp, "BDATE:", 6) == 0 || strncmp(sp, "BIRTH:", 6) == 0) {
 		sp += 6;
 		c_unescape_str(sp);
 		memset(&tm,0,sizeof(tm));
-- 
GitLab