/[winpt]/trunk/Src/wptMDSumDlg.cpp
ViewVC logotype

Diff of /trunk/Src/wptMDSumDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 129 by twoaday, Fri Dec 9 08:04:51 2005 UTC revision 130 by twoaday, Fri Dec 30 14:06:39 2005 UTC
# Line 32  Line 32 
32  #include "wptContext.h"  #include "wptContext.h"
33  #include "wptNLS.h"  #include "wptNLS.h"
34  #include "wptErrors.h"  #include "wptErrors.h"
35  #include "wptCrypto.h"  
36    
37  /* Return a printable digest of the buffer @mdbuf. */  /* Return a printable digest of the buffer @mdbuf. */
38  static const char*  static const char*
# Line 46  printable_digest (byte *mdbuf, size_t n) Line 46  printable_digest (byte *mdbuf, size_t n)
46  }  }
47    
48    
49    static const char*
50    id2algo (int mdalgo)
51    {
52        gpgme_hash_algo_t md = (gpgme_hash_algo_t)mdalgo;
53    
54        switch (md) {
55        case GPGME_MD_MD5:      return "MD5";
56        case GPGME_MD_SHA1:     return "SHA1";
57        case GPGME_MD_RMD160:   return "RMD160";
58        case GPGME_MD_SHA256:   return "SHA256";
59        }
60        return "";
61    }
62    
63    
64  /* Dialog box procedure to show and calculate file digests. */  /* Dialog box procedure to show and calculate file digests. */
65  BOOL CALLBACK  BOOL CALLBACK
66  mdsum_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)  mdsum_dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam)
# Line 58  mdsum_dlg_proc (HWND dlg, UINT msg, WPAR Line 73  mdsum_dlg_proc (HWND dlg, UINT msg, WPAR
73          {0, 0, 0}          {0, 0, 0}
74      };      };
75      gpgme_data_t sumlist;      gpgme_data_t sumlist;
76        const char *name;
77      char fname[300], mdasc[64];      char fname[300], mdasc[64];
78      byte mdbuf[20];      byte mdbuf[20];
79      int i;      int i;
# Line 89  mdsum_dlg_proc (HWND dlg, UINT msg, WPAR Line 105  mdsum_dlg_proc (HWND dlg, UINT msg, WPAR
105          SetForegroundWindow (dlg);          SetForegroundWindow (dlg);
106          break;          break;
107    
108        case WM_SYSCOMMAND:
109            if (wparam == SC_CLOSE)
110                EndDialog (dlg, TRUE);
111            return TRUE;
112    
113      case WM_DESTROY:      case WM_DESTROY:
114          if( lv ) {          if( lv ) {
115              listview_release( lv );              listview_release( lv );
# Line 105  mdsum_dlg_proc (HWND dlg, UINT msg, WPAR Line 126  mdsum_dlg_proc (HWND dlg, UINT msg, WPAR
126          case IDC_MDSUM_COPY:          case IDC_MDSUM_COPY:
127              if (gpgme_data_new (&sumlist))              if (gpgme_data_new (&sumlist))
128                  BUG(0);                  BUG(0);
129              if (md->mdalgo == 3) {/* rmd160 */              if (md->mdalgo == (int)GPGME_MD_RMD160) {
130                  const char *s = "# warning rmd160sum is not yet available\r\n";                  const char *s = "# warning rmd160sum is not yet available\r\n";
131                  gpgme_data_write (sumlist, s, strlen (s));                  gpgme_data_write (sumlist, s, strlen (s));
132              }              }
# Line 118  mdsum_dlg_proc (HWND dlg, UINT msg, WPAR Line 139  mdsum_dlg_proc (HWND dlg, UINT msg, WPAR
139                  gpgme_data_write (sumlist, fname, strlen (fname));                  gpgme_data_write (sumlist, fname, strlen (fname));
140                  gpgme_data_write (sumlist, "\r\n", 2);                  gpgme_data_write (sumlist, "\r\n", 2);
141              }              }
142              const char *name = get_filesave_dlg (dlg, _("Select file to save checksums"), NULL, NULL);              _snprintf (fname, sizeof (fname)-1, "%s_sums.txt", id2algo (md->mdalgo));
143                name = get_filesave_dlg (dlg, _("Select file to save checksums"),
144                                         NULL, fname);
145              if (name && *name) {              if (name && *name) {
146                  gpg_data_release_and_set_file (sumlist, name);                  gpg_data_release_and_set_file (sumlist, name);
147                  log_box (_("File Manager"), MB_OK, "Checksums successfully saved in '%s'", name);                  log_box (_("File Manager"), MB_OK,
148                             _("Checksums successfully saved in '%s'"), name);
149              }              }
150              else              else
151                  gpgme_data_release (sumlist);                  gpgme_data_release (sumlist);

Legend:
Removed from v.129  
changed lines
  Added in v.130

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26