Changeset 350 for trunk/dll/grep.c


Ignore:
Timestamp:
Jul 26, 2006, 9:01:20 PM (19 years ago)
Author:
root
Message:

Use Runtime_Error

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/grep.c

    r281 r350  
    44  $Id$
    55
    6   Info window
     6  grep tools
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2005 Steven H. Levine
     9  Copyright (c) 2001, 2006 Steven H. Levine
    1010
    1111  12 Feb 03 SHL insert_grepfile: standardize EA math
     
    1515  06 Jun 05 SHL Drop unused code
    1616  24 Oct 05 SHL dononefile: do not free EA list twice
     17  22 Jul 06 SHL Use Runtime_Error
    1718
    1819***********************************************************************/
     
    3435
    3536#pragma data_seg(DATA2)
     37
     38static PSZ pszSrcFile = __FILE__;
     39
    3640#pragma alloc_text(GREP,SecsSince1980,match,mmatch,dogrep)
    3741#pragma alloc_text(GREP,doallsubdirs,domatchingfiles)
     
    464468  /* process all matching files in a directory */
    465469
    466   PFILEFINDBUF4  findBuffer = malloc(grep->FilesToGet * sizeof(FILEFINDBUF4));
     470  PFILEFINDBUF4  findBuffer;
    467471  PFILEFINDBUF4  pffbFile;
    468472  register PBYTE fb;
     
    473477  APIRET         rc;
    474478
     479  findBuffer = xmalloc(grep->FilesToGet * sizeof(FILEFINDBUF4),pszSrcFile,__LINE__);
    475480  if(!findBuffer)
    476481    return 0;
     
    648653      *p = 0;
    649654      if(!grep->insertffb) {
    650         grep->insertffb = malloc(sizeof(FILEFINDBUF4 *) *
    651                                  (grep->FilesToGet + 1));
     655        grep->insertffb = xmallocz(sizeof(FILEFINDBUF4 *) *
     656                                   (grep->FilesToGet + 1),pszSrcFile,__LINE__);
    652657        if(!grep->insertffb)
    653658          return FALSE;
    654         memset(grep->insertffb,0,sizeof(FILEFINDBUF4 *) *
    655                (grep->FilesToGet + 1));
    656         grep->dir = malloc(sizeof(CHAR *) * (grep->FilesToGet + 1));
     659        grep->dir = xmallocz(sizeof(CHAR *) * (grep->FilesToGet + 1),pszSrcFile,__LINE__);
    657660        if(!grep->dir) {
    658661          free(grep->insertffb);
    659662          return FALSE;
    660663        }
    661         memset(grep->dir,0,sizeof(CHAR *) * (grep->FilesToGet + 1));
    662       }
    663       grep->insertffb[grep->toinsert] = malloc(sizeof(FILEFINDBUF4));
     664      }
     665      grep->insertffb[grep->toinsert] = xmalloc(sizeof(FILEFINDBUF4),pszSrcFile,__LINE__);
    664666      if(!grep->insertffb[grep->toinsert])
    665667        return FALSE;
    666668      memcpy(grep->insertffb[grep->toinsert],f,sizeof(FILEFINDBUF4));
    667       grep->dir[grep->toinsert] = strdup(szDirectory);
     669      grep->dir[grep->toinsert] = xstrdup(szDirectory,pszSrcFile,__LINE__);
    668670      if(!grep->dir) {
    669671        free(grep->insertffb[grep->toinsert]);
     
    856858
    857859  if(grep->searchFiles) {
    858     input = malloc(65537);
     860    input = xmalloc(65537,pszSrcFile,__LINE__);
    859861    if(input) {
    860 
    861862      LONG len;
    862 
    863       if((inputFile = _fsopen(filename,"rb",SH_DENYNO)) != NULL) {
     863      inputFile = _fsopen(filename,"rb",SH_DENYNO);
     864      if (inputFile) {
    864865        pos = ftell(inputFile);
    865866        while(!feof(inputFile)) {
     
    992993
    993994  *error = 0;
    994   buffer = malloc(65535);
    995   if(buffer) {
     995  buffer = xmalloc(65535,pszSrcFile,__LINE__);
     996  if (!buffer)
     997    *error = -1;
     998  else {
    996999    fp = _fsopen(filename,"rb",SH_DENYNO);
    997     if(fp) {
     1000    if (!fp)
     1001      *error = -2;
     1002    else {
    9981003      while(!feof(fp)) {
    9991004        len = fread(buffer,1,65535,fp);
     
    10071012      DosSleep(1L);
    10081013    }
    1009     else
    1010       *error = -2;
    10111014    free(buffer);
    10121015  }
    1013   else
    1014     *error = -1;
    10151016  return CRC;
    10161017}
     
    11801181    cntr = 50;
    11811182  i = g->dupehead;
    1182   while(i) {
     1183  while (i) {
    11831184    x++;
    11841185    i = i->next;
    11851186  }
    1186   if(x) {
     1187  if (x) {
    11871188    WinSetWindowText(g->hwndCurFile,
    11881189                     GetPString(IDS_GREPDUPESORTINGTEXT));
    11891190    DosSleep(1L);
    11901191    g->dupenames = malloc(sizeof(DUPES *) * (x + 1));
    1191     if(!g->nosizedupes)
     1192    if (!g->nosizedupes)
    11921193      g->dupesizes = malloc(sizeof(DUPES *) * (x + 1));
    1193     if(g->dupenames && (g->nosizedupes || g->dupesizes)) {
     1194    if (g->dupenames && (g->nosizedupes || g->dupesizes)) {
    11941195      i = g->dupehead;
    11951196      while(i) {
     
    12011202      }
    12021203      g->dupenames[y] = NULL;
    1203       if(!g->nosizedupes)
     1204      if (!g->nosizedupes)
    12041205        g->dupesizes[y] = NULL;
    12051206      DosSleep(1L);
     
    12111212             comparenamesq));
    12121213      DosSleep(1L);
    1213       if(!g->nosizedupes) {
     1214      if (!g->nosizedupes) {
    12141215        qsort(g->dupesizes,
    12151216              x,
     
    13801381    }
    13811382    else {
     1383      // Insufficient memory - fall back
    13821384      DosBeep(50,100);
    13831385      WinSetWindowText(g->hwndCurFile,
     
    14611463                             &numfiles,
    14621464                             &numalloced))
    1463                   goto BreakOut;
     1465                  goto BreakOut;                // Failed
    14641466                if(!(i->flags & GF_INSERTED)) {
    14651467                  if(AddToList(i->name,
     
    14671469                               &numfiles,
    14681470                               &numalloced))
    1469                     goto BreakOut;
     1471                    goto BreakOut;              // Failed
    14701472                }
    14711473                if(g->sayfiles)
     
    15071509  DUPES *info;
    15081510
    1509   if(*dir) {
    1510     info = malloc(sizeof(DUPES));
    1511     if(info) {
    1512       memset(info,0,sizeof(DUPES));
    1513       info->name = strdup(dir);
    1514       if(info->name) {
     1511  if (*dir) {
     1512    info = xmallocz(sizeof(DUPES),pszSrcFile,__LINE__);
     1513    if (!info)
     1514      return FALSE;
     1515    else {
     1516      info->name = xstrdup(dir,pszSrcFile,__LINE__);
     1517      if (!info->name) {
     1518        free(info);
     1519        return FALSE;
     1520      }
     1521      else {
    15151522        info->size = f->cbFile;
    15161523        info->date = f->fdateLastWrite;
     
    15181525        info->CRC = -1L;
    15191526        g->numfiles++;
    1520         if(!g->dupehead)
     1527        if (!g->dupehead)
    15211528          g->dupehead = info;
    1522         if(g->dupelast)
     1529        if (g->dupelast)
    15231530          g->dupelast->next = info;
    15241531        g->dupelast = info;
    15251532        info->next = NULL;
    1526         return TRUE;
    1527       }
    1528       else
    1529         free(info);
    1530     }
    1531     DosBeep(50,100);
    1532     return FALSE;
     1533      }
     1534    }
    15331535  }
    15341536  return TRUE;
Note: See TracChangeset for help on using the changeset viewer.