Changeset 345 for trunk/dll/cmdline.c


Ignore:
Timestamp:
Jul 26, 2006, 7:34:36 AM (19 years ago)
Author:
root
Message:

Check more run time errors

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/cmdline.c

    r186 r345  
    44  $Id$
    55
     6  User defined commands support
     7
    68  Copyright (c) 1993-98 M. Kimes
    7   Copyright (c) 2004, 2005 Steven H.Levine
     9  Copyright (c) 2004, 2006 Steven H.Levine
    810
    911  01 Aug 04 SHL Rework lstrip/rstrip usage
    1012  05 Jun 05 SHL Use QWL_USER
     13  22 Jul 06 SHL Check more run time errors
    1114
    1215***********************************************************************/
     
    1417#define INCL_DOS
    1518#define INCL_WIN
    16 
    1719#include <os2.h>
     20
    1821#include <stdio.h>
    1922#include <stdlib.h>
     
    2124#include <ctype.h>
    2225#include <share.h>
     26
    2327#include "fm3dll.h"
    2428#include "fm3dlg.h"
     
    2630#include "mle.h"
    2731
     32static PSZ pszSrcFile = __FILE__;
     33
    2834#pragma alloc_text(CMDLINE1,CmdLineDlgProc,CmdListSubProc,CmdLine2DlgProc,CmdBtnSubProc)
    2935#pragma alloc_text(CMDLINE2,save_cmdlines,load_cmdlines,add_cmdline,remove_cmdline,free_cmdlines)
     
    4046
    4147
    42 VOID load_cmdlines (BOOL big) {
    43 
     48VOID load_cmdlines (BOOL big)
     49{
    4450  /* load linked list of cmdlines from CMDLINES.DAT file */
    4551
     
    5965  strcat(s,(big) ? "CMDLINES.DAT" : "CMDMINI.DAT");
    6066  fp = _fsopen(s,"r",SH_DENYWR);
    61   if(fp) {
    62     while(x < MAXNUMCLS && !feof(fp)) {
    63       if(!fgets(s,sizeof(s),fp))
     67  if (fp) {
     68    while (x < MAXNUMCLS && !feof(fp)) {
     69      if (!fgets(s,sizeof(s),fp))
    6470        break;
    6571      s[sizeof(s) - 1] = 0;
    6672      bstripcr(s);
    67       if(*s && *s != ';') {
    68         info = malloc(sizeof(LINKCLS));
    69         if(info) {
     73      if (*s && *s != ';') {
     74        info = xmalloc(sizeof(LINKCLS), pszSrcFile, __LINE__);
     75        if (info) {
    7076          x++;
    71           info->cl = strdup(s);
    72           if(info->cl) {
     77          info->cl = xstrdup(s, pszSrcFile, __LINE__);
     78          if (!info->cl)
     79            free(info);
     80          else {
    7381            info->next = NULL;
    74             if(!clhead)
     82            if (!clhead)
    7583              clhead = info;
    7684            else
     
    7886            last = info;
    7987          }
    80           else
    81             free(info);
    8288        }
    8389      }
     
    8591    fclose(fp);
    8692  }
    87   if(big)
     93  if (big)
    8894    clbig = clhead;
    8995  else
     
    9298
    9399
    94 VOID save_cmdlines (BOOL big) {
    95 
     100VOID save_cmdlines (BOOL big)
     101{
    96102  /* save linked list of cmdlines to CMDLINES.DAT file */
    97103
     
    107113    strcat(s,"\\");
    108114  strcat(s,(big) ? "CMDLINES.DAT" : "CMDMINI.DAT");
    109   if(clhead) {
    110     fp = fopen(s,"w");
    111     if(fp) {
     115  if (clhead) {
     116    fp = xfopen(s,"w",pszSrcFile,__LINE__);
     117    if (fp) {
    112118      fputs(GetPString(IDS_COMMANDFILE2TEXT),fp);
    113119      info = clhead;
     
    121127  else
    122128    unlink(s);
    123   if(big)
     129  if (big)
    124130    clbig = clhead;
    125131  else
     
    128134
    129135
    130 BOOL add_cmdline (CHAR *cl,BOOL big) {
    131 
     136BOOL add_cmdline (CHAR *cl,BOOL big)
     137{
    132138  LINKCLS *info,*last = NULL,*clhead;
    133139  INT      x = 0;
     
    139145    load_cmdlines(big);
    140146  info = clhead;
    141   while(info) {
    142     if(!stricmp(info->cl,cl))
     147  while (info) {
     148    if (!stricmp(info->cl,cl))
    143149      return FALSE;
    144150    last = info;
     
    146152    x++;
    147153  }
    148   info = malloc(sizeof(LINKCLS));
    149   if(info) {
    150     info->cl = strdup(cl);
    151     if(info->cl) {
     154  info = xmalloc(sizeof(LINKCLS), pszSrcFile, __LINE__);
     155  if (info) {
     156    info->cl = xstrdup(cl, pszSrcFile, __LINE__);
     157    if (!info->cl)
     158      free(info);
     159    else {
    152160      info->next = NULL;
    153       if(!clhead)
     161      if (!clhead)
    154162        clhead = info;
    155163      else
    156164        last->next = info;
    157       if(x > MAXNUMCLS) {
     165      if (x > MAXNUMCLS) {
    158166        info = clhead;
    159167        clhead = clhead->next;
     
    166174      return TRUE;
    167175    }
    168     else
    169       free(info);
    170176  }
    171177  return FALSE;
     
    173179
    174180
    175 BOOL remove_cmdline (CHAR *cl,BOOL big) {
    176 
     181BOOL remove_cmdline (CHAR *cl,BOOL big)
     182{
    177183  LINKCLS *info,*last = NULL,*clhead;
    178184
     
    204210
    205211
    206 VOID free_cmdlines (BOOL big) {
    207 
     212VOID free_cmdlines (BOOL big)
     213{
    208214  LINKCLS *info,*next,*clhead;
    209215
     
    225231
    226232
    227 MRESULT EXPENTRY CmdBtnSubProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    228 
     233MRESULT EXPENTRY CmdBtnSubProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     234{
    229235  switch(msg) {
    230236    case WM_MOUSEMOVE:
     
    274280
    275281
    276 MRESULT EXPENTRY CmdListSubProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    277 
     282MRESULT EXPENTRY CmdListSubProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     283{
    278284  PFNWP oldproc = (PFNWP)WinQueryWindowPtr(hwnd,0);
    279285
     
    302308
    303309
    304 MRESULT EXPENTRY CmdLineDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    305 
     310MRESULT EXPENTRY CmdLineDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     311{
    306312  EXECARGS *ex;
    307313
     
    781787
    782788
    783 MRESULT EXPENTRY CmdLine2DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    784 
     789MRESULT EXPENTRY CmdLine2DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     790{
    785791  switch(msg) {
    786792    case WM_INITDLG:
Note: See TracChangeset for help on using the changeset viewer.