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

  1. /*
  2.     fnxstr.c         10/01/86
  3.  
  4.     % xstring_funcs
  5.  
  6.     String editing functions.
  7.     Supports insert mode (with big cursor).
  8.     The field variable should be a char *.
  9.  
  10.     This is an "extended" version of string_funcs that accepts
  11.     characters beyond the normal printable range (i.e. beyond
  12.     character 127)  This is useful for European character sets.
  13.  
  14.     C-scape 3.2
  15.     Copyright (c) 1986, 1987, 1988 by Oakland Group, Inc.
  16.     ALL RIGHTS RESERVED.
  17.  
  18.     Revision History:
  19.     -----------------
  20.      4/06/88 jmd     added call to sed_DoSpecial
  21.      9/15/88 jmd     removed vid_Cursor calls
  22.      9/17/88 jmd     added std_ funcs
  23.     10/14/88 jdc    added var_size element to field_funcs_struct
  24.  
  25.      6/07/89 jmd    added test for mouse code (later removed)
  26.      3/28/90 jmd    ansi-fied
  27. */
  28.  
  29. #include <stdio.h>
  30. #include <string.h>
  31. #include <ctype.h>
  32.  
  33. #include "cscape.h"
  34. #include "fnfunc.h"            /* for field functions */
  35. #include "scancode.h"
  36.  
  37. OSTATIC sfilter_func (xstring_filter);
  38.  
  39. OGLOBAL field_funcs_struct xstring_funcs = {
  40.     stdBigCur_fenter,
  41.     string_fexit,
  42.     xstring_fkey,
  43.     string_senter,
  44.     string_sexit,
  45.     VAR_STRING
  46. };
  47.  
  48. void xstring_fkey(sed_type sed)
  49. /*
  50.     Hands its work to StrCommon_fkey (fnstrcom.c)
  51.     Passes a filter function (below) to decide which
  52.     characters can be typed in.
  53. */
  54. {
  55.     StrCommon_fkey(sed, xstring_filter);
  56. }
  57.  
  58. static boolean xstring_filter(int key)
  59. /*
  60.     Filter function for xstring_funcs
  61.     for use with StrCommon_fkey
  62. */
  63. {
  64.     return(isprint(key) || ((unsigned char) (key)) > 127);
  65. }
  66.