Add gsu_make_tempfile() and fix bug in gui module.
[gsu.git] / gui
diff --git a/gui b/gui
index fa3ae4826a9e96062e5455c3969c6a9290ea4a26..34f732e27bacc9646710efb0c11eef09659a2ce4 100644 (file)
--- a/gui
+++ b/gui
@@ -80,15 +80,13 @@ gsu_textbox()
 # This is like gsu_textbox() but the text is passed as a string.
 gsu_msgbox()
 {
+       local tmp
+
        # Some versions of dialog segfault if the text is too long. Hence we
        # always use a temporary file.
-       local tmp="$(mktemp gsu_msgbox.XXXXXXXXXX)"
-
-       if (($? != 0)); then
-               ret=-$E_GSU_MKTEMP
-               result='temp file for textbox'
-               return
-       fi
+       gsu_make_tempfile 'gsu_msgbox.XXXXXXXXXX'
+       (($ret < 0)) && return
+       tmp="$result"
        trap "rm -f $tmp" EXIT
        echo "$1" > "$tmp"
        gsu_textbox "$tmp"