Merge branch 'v4.7.x' into master
[xboard.git] / usystem.c
index bab1303..2334572 100644 (file)
--- a/usystem.c
+++ b/usystem.c
@@ -1,11 +1,11 @@
 /*
- * usystem.c -- X-free, but Unix-like code for XBoard front end 
+ * usystem.c -- X-free, but Unix-like code for XBoard front end
  *
  * Copyright 1991 by Digital Equipment Corporation, Maynard,
  * Massachusetts.
  *
  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
- * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
  *
  * The following terms apply to Digital Equipment Corporation's copyright
  * interest in XBoard:
@@ -227,7 +227,7 @@ static int
 parse_cpair (ColorClass cc, char *str)
 {
     if ((textColors[(int)cc].fg=parse_color(str, 0)) == -2) {
-       fprintf(stderr, _("%s: can't parse foreground color in `%s'\n"),
+       fprintf(stderr, _("%s: can't parse foreground color in '%s'\n"),
                programName, str);
        return -1;
     }
@@ -358,6 +358,9 @@ ExpandPathName (char *path)
     }
 
     if (*s == '~') {
+       if(s[1] == '~') { // use ~~ for XBoard's private data directory
+         snprintf(d, 4*MSG_SIZ, DATADIR "%s", s+2);
+       } else
        if (*(s+1) == '/') {
          safeStrCpy(d, getpwuid(getuid())->pw_dir, 4*MSG_SIZ );
          strcat(d, s+1);
@@ -572,7 +575,7 @@ OpenTCP (char *host, char *port, ProcRef *pr)
              host, port, gai_strerror(error));
       return ENOENT;
     }
-     
+
     for (ai = ais; ai != NULL; ai = ai->ai_next) {
       if ((s = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol)) < 0) {
        error = errno;
@@ -790,5 +793,3 @@ NotifyFrontendLogin ()
 {
     update_ics_width();
 }
-
-