home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Basic / MAXONB32.DMS / in.adf / Includes.lha / BH / BLib / GetCString.bas < prev    next >
Encoding:
BASIC Source File  |  1994-05-12  |  850 b   |  31 lines

  1. ''
  2. '' $Id: GetCString.bas,v 1.3 1994/05/12 14:20:53 alex Rel $
  3. ''
  4. '' Function to get a C-String from a localization catalog
  5. ''
  6. '' (c) Copyright 1994 HiSoft
  7. ''
  8.  
  9. 'REM $INCLUDE Exec.bh
  10.  
  11. DIM SHARED GetStringGlue&(2)
  12.  
  13. FUNCTION GetCString&(BYVAL li&, BYVAL id&)
  14.     STATIC r&
  15.     SHARED GetString&()
  16.  
  17.     IF GetStringGlue&(0) = 0 THEN
  18.     ' OToTagList generated code for GetStringGlue.s
  19.         TAGLIST VARPTR(GetStringGlue&(0)), &H4CEF2301, &H44E91, &H2A804E75
  20.  
  21.         IF PEEKW(LIBRARY("exec.library") + LibNode + lib_Version) >= 37 THEN
  22.             ' CacheClearE is >= V37 only, without the flush this code will
  23.             ' certainly not work on a 68040 (but does 1.3 work on an '040?)
  24.  
  25.             CacheClearE VARPTR(GetStringGlue&(0)), 12, CACRF_ClearI& OR CACRF_ClearD&
  26.         END IF
  27.     END IF
  28.     CALL LOC VARPTR(GetStringGlue&(0)), id&, li&, VARPTR(GetString&(0)), VARPTR(r&)
  29.     GetCString& = r&
  30. END FUNCTION
  31.