//{{NO_DEPENDENCIES}} // Microsoft Visual C++ generated include file. // Used by Mount.rc // #define IDR_MOUNT_TLB 1 #define IDD_MOUNT_DLG 101 #define IDD_PASSWORDCHANGE_DLG 102 #define IDB_DRIVEICON 103 #define IDD_PASSWORD_DLG 104 #define IDB_DRIVEICON_MASK 105 #define IDR_MENU 106 #define IDD_PREFERENCES_DLG 107 #define IDD_VOLUME_PROPERTIES 108 #define IDR_MOUNT_RSRC_HEADER 109 #define IDS_UACSTRING 110 #define IDB_LOGO_288DPI 111 #define IDB_LOGO_96DPI 112 #define IDB_SYS_DRIVEICON 113 #define IDB_SYS_DRIVEICON_MASK 114 #define IDD_TOKEN_PREFERENCES 115 #define IDD_SYSENC_SETTINGS 116 #define IDD_FAVORITE_VOLUMES 117 #define IDD_DEFAULT_MOUNT_PARAMETERS 118 #define IDC_PREF_MOUNT_READONLY 1000 #define IDC_PREF_MOUNT_REMOVABLE 1001 #define IDC_VERIFY 1002 #define IDC_PREF_BKG_TASK_ENABLE 1003 #define IDC_OLD_PASSWORD 1004 #define IDC_CACHE 1005 #define IDC_NO_HISTORY 1006 #define IDC_DRIVELIST 1007 #define IDC_PREF_OPEN_EXPLORER 1008 #define IDC_ENABLE_KEYFILES 1009 #define IDC_VOLUME_PROPERTIES_LIST 1010 #define IDC_PREF_USE_DIFF_TRAY_ICON_IF_VOL_MOUNTED 1011 #define IDC_ENABLE_NEW_KEYFILES 1012 #define IDC_PRESERVE_TIMESTAMPS 1013 #define IDC_PREF_WIPE_CACHE_ON_EXIT 1014 #define IDC_PREF_CACHE_PASSWORDS 1016 #define IDC_DIRECTORY 1017 #define IDC_PREF_DISMOUNT_LOGOFF 1018 #define IDC_BROWSE_DIRS 1019 #define IDC_PREF_DISMOUNT_INACTIVE 1020 #define IDC_AUTORUN_DISABLE 1021 #define IDC_AUTORUN_START 1022 #define IDC_BENCHMARK 1023 #define IDC_AUTORUN_MOUNT 1024 #define IDC_VOLUME_NAME 1025 #define IDC_COPY_WIZARD 1026 #define IDC_MOUNT_OPTIONS 1027 #define IDT_TRAVELER_MOUNT 1028 #define IDT_MOUNT_LETTER 1029 #define IDT_MOUNT_SETTINGS 1030 #define IDC_KEY_FILES 1031 #define IDC_NEW_KEYFILES 1032 #define IDC_KEYFILES 1033 #define IDC_VOLUME 1034 #define IDC_PASSWORD 1035 #define IDC_BROWSE_FILES 1036 #define IDC_SELECT_DEVICE 1037 #define IDC_CREATE_VOLUME 1038 #define IDC_VOLUME_TOOLS 1039 #define IDC_WIPE_CACHE 1040 #define IDC_MOUNTALL 1041 #define IDD_TRAVELER_DLG 1042 #define IDC_SELECT_FILE 1043 #define IDD_HOTKEYS_DLG 1044 #define IDC_VOLUME_PROPERTIES 1045 #define IDT_FILE_SETTINGS 1046 #define IDD_PERFORMANCE_SETTINGS 1047 #define IDT_AUTORUN 1048 #define IDT_TRAVEL_INSERTION 1049 #define IDT_TRAVEL_ROOT 1050 #define IDT_VOLUME 1051 #define IDT_PASSWORD 1052 #define IDT_CURRENT 1053 #define IDT_NEW 1054 #define IDT_NEW_PASSWORD 1055 #define IDT_CONFIRM_PASSWORD 1056 #define IDT_PW_CACHE_OPTIONS 1058 #define IDT_DEFAULT_MOUNT_OPTIONS 1059 #define IDT_WINDOWS_RELATED_SETTING 1060 #define IDC_CREATE 1061 #define IDC_EXIT 1062 #define IDC_TRAVEL_OPEN_EXPLORER 1063 #define IDC_TRAV_CACHE_PASSWORDS 1064 #define IDC_UNMOUNTALL 1065 #define IDT_TASKBAR_ICON 1066 #define IDT_AUTO_DISMOUNT 1067 #define IDC_PREF_FORCE_AUTO_DISMOUNT 1068 #define IDC_PREF_DISMOUNT_INACTIVE_TIME 1069 #define IDT_MINUTES 1070 #define IDC_PREF_DISMOUNT_SCREENSAVER 1071 #define IDC_PREF_DISMOUNT_POWERSAVING 1072 #define IDT_AUTO_DISMOUNT_ON 1073 #define IDC_PREF_WIPE_CACHE_ON_AUTODISMOUNT 1074 #define IDC_CLOSE_BKG_TASK_WHEN_NOVOL 1075 #define IDC_MORE_INFO_ON_HW_ACCELERATION 1076 #define IDT_LOGON 1077 #define IDC_MORE_INFO_ON_THREAD_BASED_PARALLELIZATION 1078 #define IDC_PREF_LOGON_START 1079 #define IDC_PREF_LOGON_MOUNT_DEVICES 1080 #define IDC_SHOW_PASSWORD_CHPWD_NEW 1081 #define IDC_HK_DISMOUNT_BALLOON_TOOLTIP 1082 #define IDC_SHOW_PASSWORD_CHPWD_ORI 1083 #define IDC_HK_DISMOUNT_PLAY_SOUND 1084 #define IDC_HOTKEY_ASSIGN 1085 #define IDC_WIPE_MODE 1085 #define IDC_HOTKEY_REMOVE 1086 #define IDC_HOTKEY_KEY 1087 #define IDT_HOTKEY_KEY 1088 #define IDC_HOTKEY_LIST 1089 #define IDC_RESET_HOTKEYS 1090 #define IDT_WIPE_MODE 1090 #define IDT_DISMOUNT_ACTION 1091 #define IDT_ASSIGN_HOTKEY 1092 #define IDC_HK_MOD_SHIFT 1093 #define IDC_HK_MOD_CTRL 1094 #define IDC_HK_MOD_ALT 1095 #define IDC_HK_MOD_WIN 1096 #define IDC_SHOW_PASSWORD 1097 #define IDC_LOGO 1098 #define IDT_PKCS11_LIB_PATH 1099 #define IDC_PKCS11_MODULE 1100 #define IDC_SELECT_PKCS11_MODULE 1101 #define IDC_AUTO_DETECT_PKCS11_MODULE 1102 #define IDC_CLOSE_TOKEN_SESSION_AFTER_MOUNT 1103 #define IDT_SECURITY_OPTIONS 1104 #define IDC_DISAB
/*
zip_source_free.c -- free zip data source
Copyright (C) 1999-2015 Dieter Baron and Thomas Klausner
This file is part of libzip, a library to manipulate ZIP archives.
The authors can be contacted at <libzip@nih.at>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The names of the authors may not be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <stdlib.h>
#include "zipint.h"
ZIP_EXTERN void
zip_source_free(zip_source_t *src) {
if (src == NULL)
return;
if (src->refcount > 0) {
src->refcount--;
}
if (src->refcount > 0) {
return;
}
if (ZIP_SOURCE_IS_OPEN_READING(src)) {
src->open_count = 1; /* force close */
zip_source_close(src);
}
if (ZIP_SOURCE_IS_OPEN_WRITING(src)) {
zip_source_rollback_write(src);
}
if (src->source_archive && !src->source_closed) {
_zip_deregister_source(src->source_archive, src);
}
(void)_zip_source_call(src, NULL, 0, ZIP_SOURCE_FREE);
if (src->src) {
zip_source_free(src->src);
}
free(src);
}