home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d6xx / d658 / view.lha / View / Source / Editor.c < prev    next >
C/C++ Source or Header  |  1992-05-15  |  2KB  |  73 lines

  1. /*-- AutoRev header do NOT edit!
  2. *
  3. *   Program         :   Editor.c
  4. *   Copyright       :   Copyright  1991-92 Jaba Development
  5. *   Author          :   Jan van den Baard
  6. *   Creation Date   :   05-Apr-92
  7. *   Current version :   2.0
  8. *   Translator      :   Dice v2.06.40
  9. *
  10. *   REVISION HISTORY
  11. *
  12. *   Date          Version         Comment
  13. *   ---------     -------         ------------------------------------------
  14. *   05-Apr-92     2.0             Calling the editor. (rewrite)
  15. *
  16. *-- REV_END --*/
  17.  
  18. #ifndef __DETACH
  19.  
  20. #include "View.h"
  21.  
  22. Prototype void EditFile( void );
  23.  
  24. extern struct WBStartup *WBenchMsg;
  25. extern struct Screen    *vwScreen;
  26. extern struct Window    *vwWindow;
  27. extern struct MsgPort   *vwIdPort;
  28. extern struct AsciiText *vwText;
  29. extern UBYTE             vwName[];
  30.  
  31.  
  32. void EditFile( void )
  33. {
  34.     WORD                 rc, unload = TRUE;
  35.     UBYTE                ebuf[ 256 ];
  36.  
  37.     if ( ! vwText )     return;
  38.  
  39.     if ( ! WBenchMsg ) {
  40.         if ( GetVar( "EDITOR", ebuf, 256, NULL ) > 0 ) {
  41.             strcat( ebuf, " \"" );
  42.             strcat( ebuf, vwName );
  43.             strcat( ebuf, "\"" );
  44.             ScreenToBack( vwScreen );
  45.             ErrorLine( "Running the editor..." );
  46.             Busy();
  47.  
  48.             rc = SystemTags( ebuf, SYS_Input,   Input(),
  49.                                    SYS_Output,  Output(),
  50.                                    TAG_DONE );
  51.  
  52.             if ( rc == -1 ) {
  53.                 Error( "Could not run the editor." );
  54.                 goto CleanExit;
  55.             }
  56.         } else {
  57.             Error( "ENV:EDITOR environment variable not set (Use SetEnv)." );
  58.             goto CleanExit;
  59.         }
  60.     } else {
  61.         Error( "Option not available with Workbench." );
  62.         goto CleanExit;
  63.     }
  64.  
  65.     sprintf( ebuf, "Editor return code : %ld", rc );
  66.     ErrorLine( ebuf );
  67. CleanExit:
  68.     ClearMsgPort( vwIdPort );
  69.     ScreenToFront( vwScreen );
  70.     Ready();
  71. }
  72. #endif
  73.