Subversion Repositories filter_foundry

Rev

Rev 495 | Rev 522 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.     This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
  3.     Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
  4.     Copyright (C) 2018-2022 Daniel Marschall, ViaThinkSoft
  5.  
  6.     This program is free software; you can redistribute it and/or modify
  7.     it under the terms of the GNU General Public License as published by
  8.     the Free Software Foundation; either version 2 of the License, or
  9.     (at your option) any later version.
  10.  
  11.     This program is distributed in the hope that it will be useful,
  12.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.     GNU General Public License for more details.
  15.  
  16.     You should have received a copy of the GNU General Public License
  17.     along with this program; if not, write to the Free Software
  18.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19. */
  20.  
  21. #include "ff.h"
  22.  
  23. void strcpy_advance_id(TCHAR** str, int msgid) {
  24.     TCHAR tmp[1000];
  25.  
  26.     FF_GetMsg(*str, msgid);
  27.  
  28.     FF_GetMsg(&tmp[0], msgid);
  29.     *str += xstrlen(&tmp[0]);
  30. }
  31.  
  32. // Attention: No bounds checking!
  33. void FF_GetMsg(TCHAR* ret, int MsgId) {
  34. #ifdef WIN_ENV
  35.         TCHAR* szMsg;
  36.     int len;
  37.     len = LoadString(hDllInstance, MsgId, (LPTSTR)&szMsg, 0);
  38.     LoadString(hDllInstance, MsgId, ret, len+1);
  39. #else
  40.         Str255 msg;
  41.         GetIndString(msg, 1000, MsgId);
  42.     myp2cstrcpy(ret, msg);
  43. #endif
  44. }
  45.  
  46. // Attention: Requires FF_GetMsg_Free(), otherwise memory is leaked
  47. TCHAR* FF_GetMsg_Cpy(int MsgId) {
  48. #ifdef WIN_ENV
  49.     TCHAR* szMsg;
  50.     int len;
  51.     TCHAR* ret;
  52.     len = LoadString(hDllInstance, MsgId, (LPTSTR)&szMsg, 0);
  53.     ret = (TCHAR*)malloc((len+1) * sizeof(TCHAR));
  54.     if (ret == NULL) return NULL;
  55.     LoadString(hDllInstance, MsgId, ret, len+1);
  56.     return ret;
  57. #else
  58.     Str255 msg;
  59.     TCHAR* ret;
  60.     ret = (TCHAR*)malloc((len + 1) * sizeof(TCHAR));
  61.     GetIndString(msg, 1000, MsgId);
  62.     myp2cstrcpy(ret, msg);
  63.     return ret;
  64. #endif
  65. }
  66.  
  67. void FF_GetMsg_Free(TCHAR* str) {
  68.     free(str);
  69. }