diff options
| author | Přemysl Eric Janouch <p@janouch.name> | 2020-10-10 04:37:08 +0200 | 
|---|---|---|
| committer | Přemysl Eric Janouch <p@janouch.name> | 2020-10-10 04:37:08 +0200 | 
| commit | 59ac02d91f83521e31fbc56745496f8754765965 (patch) | |
| tree | f4bd3c6d50dc5323db589c48960390faef64332a /common.c | |
| parent | d78cf10f04723b513e8b7b065a878643de777ed8 (diff) | |
| download | xK-59ac02d91f83521e31fbc56745496f8754765965.tar.gz xK-59ac02d91f83521e31fbc56745496f8754765965.tar.xz xK-59ac02d91f83521e31fbc56745496f8754765965.zip  | |
Bump liberty
resolve_relative_runtime_unique_filename() used to have a bug.
Diffstat (limited to 'common.c')
| -rw-r--r-- | common.c | 52 | 
1 files changed, 0 insertions, 52 deletions
@@ -50,13 +50,6 @@ init_openssl (void)  // --- To be moved to liberty -------------------------------------------------- -static void -cstr_set (char **s, char *new) -{ -	free (*s); -	*s = new; -} -  static ssize_t  strv_find (const struct strv *v, const char *s)  { @@ -81,51 +74,6 @@ unixtime_msec (long *msec)          return tp.tv_sec;  } -/// This differs from the non-unique version in that we expect the filename -/// to be something like a pattern for mkstemp(), so the resulting path can -/// reside in a system-wide directory with no risk of a conflict. -static char * -resolve_relative_runtime_unique_filename (const char *filename) -{ -	const char *runtime_dir = getenv ("XDG_RUNTIME_DIR"); -	const char *tmpdir = getenv ("TMPDIR"); - -	struct str path = str_make (); -	if (runtime_dir && *runtime_dir == '/') -		str_append (&path, runtime_dir); -	else if (tmpdir && *tmpdir == '/') -		str_append (&path, tmpdir); -	else -		str_append (&path, "/tmp"); -	str_append_printf (&path, "/%s/%s", PROGRAM_NAME, filename); - -	// Try to create the file's ancestors; -	// typically the user will want to immediately create a file in there -	const char *last_slash = strrchr (path.str, '/'); -	if (last_slash && last_slash != path.str) -	{ -		char *copy = xstrndup (path.str, last_slash - path.str); -		(void) mkdir_with_parents (copy, NULL); -		free (copy); -	} -	return str_steal (&path); -} - -static bool -xwrite (int fd, const char *data, size_t len, struct error **e) -{ -	size_t written = 0; -	while (written < len) -	{ -		ssize_t res = write (fd, data + written, len - written); -		if (res >= 0) -			written += res; -		else if (errno != EINTR) -			return error_set (e, "%s", strerror (errno)); -	} -	return true; -} -  // --- Logging -----------------------------------------------------------------  static void  | 
