Annotation of pmsdk/samples/opendlg/init.c, revision 1.1.1.1

1.1       root        1: /***************************************************************************\
                      2: * INIT.C -- Library initialization funcitons
                      3: * Created by Microsoft Corporation, 1989
                      4: \***************************************************************************/
                      5: 
                      6: #include "tool.h"
                      7: /****************************************************************************\
                      8: * This function initializes the file dialog library (by loading strings).
                      9: *
                     10: * Note: Initialization will fail if CCHSTRINGSMAX is smaller than the
                     11: *       space taken up by all strings in the .rc file.  Fix by increasing
                     12: *       CCHSTRINGSMAX in wintool.h and maybe also the initial heap size
                     13: *       in wintool.def.
                     14: *
                     15: * Returns:
                     16: *   TRUE if initialization successful
                     17: *   FALSE otherwise
                     18: \***************************************************************************/
                     19: 
                     20: BOOL PASCAL InitLibrary()
                     21: {
                     22:     int i;
                     23:     int cch;
                     24:     PSTR pch;
                     25:     PSTR pmem;
                     26:     int cchRemaining;
                     27: 
                     28:     /* allocate memory for strings */
                     29:     if (!(pch = (pmem = WinAllocMem(vhheap, cchRemaining = CCHSTRINGSMAX))))
                     30:         return FALSE;
                     31: 
                     32:     /* load strings from resource file */
                     33:     for (i = 0; i < CSTRINGS; i++) {
                     34:         cch = 1 + WinLoadString(HABX, vhModule, i, cchRemaining, (PSZ)pch);
                     35:         if (cch < 2)
                     36:             /* loadstring failed */
                     37:             return FALSE;
                     38:         vrgsz[i] = pch;
                     39:         pch += cch;
                     40: 
                     41:         if ((cchRemaining -= cch) <= 0)
                     42:             /* ran out of space */
                     43:             return FALSE;
                     44:     }
                     45: 
                     46:     /* reallocate string space to size actually needed */
                     47:     WinReallocMem(vhheap, pmem, CCHSTRINGSMAX, CCHSTRINGSMAX - cchRemaining);
                     48: 
                     49:     return TRUE;
                     50: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.