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

  1. /*
  2.       msyspars.c
  3.  
  4.     % msys_ParseChoice
  5.  
  6.     C-scape 3.2
  7.     Copyright (c) 1990, by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.     Revision History:
  11.     -----------------
  12.      1/05/90 jmd    moved into library
  13.      3/28/90 jmd    ansi-fied
  14. */
  15.  
  16. #include <stdio.h>
  17. #include <ctype.h>
  18. #include <string.h>
  19.  
  20. #include "cscape.h"
  21. #include "msys.h"
  22.  
  23. int msys_ParseChoice(char *in, char *out, int slen)
  24. /*
  25.     Searchs through a msys choice string (in).
  26.     replaces occurence of @x with x (where 'x' is some character)
  27.     and returns the number of the character with the @ in front
  28.     of it.  frame_Open and slug_Open use this information
  29.     to turn on character highlighting for the field.
  30.     Copies the string from 'in' to 'out' without '@' character
  31.     slen is the length of the 'out' buffer.
  32. */
  33. {
  34.     char *p;
  35.     int  hichar = -1;
  36.  
  37.     for(p = in; *p != '\0' && (p - in) < slen; p++) {
  38.         if (*p == '@') {
  39.             hichar = p - in;
  40.         }
  41.         else {
  42.             *out++ = *p;
  43.         }
  44.     }
  45.  
  46.     *out = '\0';
  47.     return(hichar);
  48. }
  49.