Some hosts don't have TIOCSCTTY. Don't try to use it on them.
[sgt/putty] / unix / uxstore.c
index 922462f..85d72ca 100644 (file)
@@ -85,6 +85,8 @@ static void make_filename(char *filename, int index, const char *subname)
     char *home;
     int len;
     home = getenv("HOME");
+    if (!home)
+        home="/";
     strncpy(filename, home, FILENAME_MAX);
     len = strlen(filename);
     if (index == INDEX_SESSION) {
@@ -105,29 +107,6 @@ static void make_filename(char *filename, int index, const char *subname)
     filename[FILENAME_MAX-1] = '\0';
 }
 
-/*
- * Read an entire line of text from a file. Return a buffer
- * malloced to be as big as necessary (caller must free).
- */
-static char *fgetline(FILE *fp)
-{
-    char *ret = snewn(512, char);
-    int size = 512, len = 0;
-    while (fgets(ret + len, size - len, fp)) {
-       len += strlen(ret + len);
-       if (ret[len-1] == '\n')
-           break;                     /* got a newline, we're done */
-       size = len + 512;
-       ret = sresize(ret, size, char);
-    }
-    if (len == 0) {                   /* first fgets returned NULL */
-       sfree(ret);
-       return NULL;
-    }
-    ret[len] = '\0';
-    return ret;
-}
-
 void *open_settings_w(const char *sessionname, char **errmsg)
 {
     char filename[FILENAME_MAX];