home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / SOURCE / CSSRC / SDDELFLD.C < prev    next >
C/C++ Source or Header  |  1990-03-28  |  945b  |  45 lines

  1. /*
  2.     sddelfld.c     4/10/88
  3.  
  4.     % sed_DeleteField
  5.  
  6.     C-scape 3.2
  7.     Copyright (c) 1988, by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.     Revision History:
  11.     -----------------
  12.      2/02/89 jdc    added sed currfield = NULL when no fields
  13.  
  14.      3/28/90 jmd    ansi-fied
  15. */
  16.  
  17. #include "sed.h"
  18.  
  19. void sed_DeleteField(sed_type sed, int fieldno)
  20. /*
  21.     Delete a field.
  22. */
  23. {
  24.     menu_type menu;
  25.  
  26.     menu = sed_GetMenu(sed);
  27.  
  28.     menu_DeleteField(menu, fieldno);
  29.  
  30.     /* adjust fieldno and fieldpos */
  31.     if (sed_GetFieldCount(sed) > 0) {
  32.         if (sed_GetFieldNo(sed) >= menu_GetFieldCount(menu)) {
  33.             sed_SetFieldNo(sed, menu_GetFieldCount(menu) - 1);
  34.             sed_SetRecordPos(sed, menu_GetFirstFieldPos(menu, sed_GetFieldNo(sed)));
  35.         }
  36.         /* reset the current field pointer */
  37.         sed_SetCurrField(sed, menu_GetField(menu, sed_GetFieldNo(sed)));
  38.     }
  39.     else {
  40.         sed_SetFieldNo(sed, -1);
  41.         sed_SetRecordPos(sed, NO_WRITEABLES);
  42.         sed_SetCurrField(sed, NULL);
  43.     }
  44. }
  45.