[haiku-commits] r36711 - haiku/trunk/src/apps/terminal

  • From: axeld@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 7 May 2010 11:25:54 +0200 (CEST)

Author: axeld
Date: 2010-05-07 11:25:53 +0200 (Fri, 07 May 2010)
New Revision: 36711
Changeset: http://dev.haiku-os.org/changeset/36711/haiku

Modified:
   haiku/trunk/src/apps/terminal/Shell.cpp
Log:
* Changed the alert message translation to something which makes a bit more
  sense, and is less error prone.


Modified: haiku/trunk/src/apps/terminal/Shell.cpp
===================================================================
--- haiku/trunk/src/apps/terminal/Shell.cpp     2010-05-07 09:25:18 UTC (rev 
36710)
+++ haiku/trunk/src/apps/terminal/Shell.cpp     2010-05-07 09:25:53 UTC (rev 
36711)
@@ -511,23 +511,26 @@
 
                execve(argv[0], (char * const *)argv, environ);
 
-               /*
-                * Exec failed.
-                * TODO: This doesn't belong here.
-                */
+               // Exec failed.
+               // TODO: This doesn't belong here.
 
                sleep(1);
-               BString knonLocalizedPart = "alert --stop ";
-               const char *kLocalizedPart =
-                       B_TRANSLATE("'Cannot execute \"%s\":\n\t%s' 'Use 
default shell' 'Abort'");
-               const char *spawnAlertMessage = knonLocalizedPart << 
kLocalizedPart;
-               char errorMessage[256];
-               snprintf(errorMessage, sizeof(errorMessage), spawnAlertMessage, 
argv[0], strerror(errno));
 
-               int returnValue = system(errorMessage);
-               if (returnValue == 0)
+               BString alertCommand = "alert --stop '";
+               alertCommand += B_TRANSLATE("Cannot execute 
\"%command\":\n\t%error");
+               alertCommand += "' '";
+               alertCommand += B_TRANSLATE("Use default shell");
+               alertCommand += "' '";
+               alertCommand += B_TRANSLATE("Abort");
+               alertCommand += "'";
+               alertCommand.ReplaceFirst("%command", argv[0]);
+               alertCommand.ReplaceFirst("%error", strerror(errno));
+
+               int returnValue = system(alertCommand.String());
+               if (returnValue == 0) {
                        execl(kDefaultShellCommand[0], kDefaultShellCommand[0],
                                kDefaultShellCommand[1], NULL);
+               }
 
                exit(1);
        }


Other related posts: