diff --git a/dgl-common.c b/dgl-common.c index 2ccb723..67581e8 100644 --- a/dgl-common.c +++ b/dgl-common.c @@ -113,6 +113,7 @@ dgl_find_menu(char *menuname) * %n == user name (string; gotten from 'me', or from 'plrname' if 'me' is null) * %r == chroot (string) (aka "dglroot" config var) * %g == game name + * %s == short game name */ char * dgl_format_str(int game, struct dg_user *me, char *str, char *plrname) @@ -148,6 +149,12 @@ dgl_format_str(int game, struct dg_user *me, char *str, char *plrname) while (*p != '\0') p++; break; + case 's': + if (game >= 0 && game < num_games && myconfig[game]) snprintf (p, end + 1 - p, "%s", myconfig[game]->shortname); + else return NULL; + while (*p != '\0') + p++; + break; case 'r': snprintf (p, end + 1 - p, "%s", globalconfig.dglroot); while (*p != '\0') diff --git a/examples/dgamelaunch.conf b/examples/dgamelaunch.conf index 1bf44d1..868e644 100644 --- a/examples/dgamelaunch.conf +++ b/examples/dgamelaunch.conf @@ -105,6 +105,7 @@ lockfile = "/dgl-lock" # %n = user nick, if user is logged in # %u = shed_uid, as defined above, but numeric # %g = game name, if user has selected a game. +# %s = short game name, if user has selected a game. # # eg. commands[login] = mkdir "foo", unlink "bar", setenv "Z" "foo" #