����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 3.128.95.177 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/usr/include/vips/ |
Upload File : |
/* memory utilities * * J.Cupitt, 8/4/93 */ /* This file is part of VIPS. VIPS is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk */ #ifndef VIPS_MEMORY_H #define VIPS_MEMORY_H #ifdef __cplusplus extern "C" { #endif /*__cplusplus*/ #define VIPS_FREEF(F, S) \ G_STMT_START \ { \ if (S) { \ (void) F((S)); \ (S) = 0; \ } \ } \ G_STMT_END #define VIPS_FREE(S) VIPS_FREEF(g_free, (S)); #define VIPS_SETSTR(S, V) \ G_STMT_START \ { \ const char *sst = (V); \ \ if ((S) != sst) { \ if (!(S) || !sst || strcmp((S), sst) != 0) { \ VIPS_FREE(S); \ if (sst) \ (S) = g_strdup(sst); \ } \ } \ } \ G_STMT_END #define VIPS_MALLOC(OBJ, S) \ (vips_malloc(VIPS_OBJECT(OBJ), S)) #define VIPS_NEW(OBJ, T) \ ((T *) VIPS_MALLOC(OBJ, sizeof(T))) #define VIPS_ARRAY(OBJ, N, T) \ ((T *) VIPS_MALLOC(OBJ, (N) * sizeof(T))) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsImage, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsObject, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsRegion, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsConnection, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsSource, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsSourceCustom, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsGInputStream, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsSourceGInputStream, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsTarget, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsTargetCustom, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsSbuf, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsInterpolate, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsOperation, g_object_unref) // FIXME ... need more of these G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsArrayDouble, VipsArrayDouble_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsArrayImage, VipsArrayImage_unref) VIPS_API void *vips_malloc(VipsObject *object, size_t size); VIPS_API char *vips_strdup(VipsObject *object, const char *str); VIPS_API void vips_tracked_free(void *s); VIPS_API void vips_tracked_aligned_free(void *s); VIPS_API void *vips_tracked_malloc(size_t size); VIPS_API void *vips_tracked_aligned_alloc(size_t size, size_t align); VIPS_API size_t vips_tracked_get_mem(void); VIPS_API size_t vips_tracked_get_mem_highwater(void); VIPS_API int vips_tracked_get_allocs(void); VIPS_API int vips_tracked_open(const char *pathname, int flags, int mode); VIPS_API int vips_tracked_close(int fd); VIPS_API int vips_tracked_get_files(void); #ifdef __cplusplus } #endif /*__cplusplus*/ #endif /*VIPS_MEMORY_H*/