home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0020 - 0029 / ibm0020-0029 / ibm0028.tar / ibm0028 / GRLF-C-2.ZIP / GFUNC / PRS.C < prev    next >
Encoding:
C/C++ Source or Header  |  1990-05-30  |  3.7 KB  |  200 lines

  1. /*
  2.  * prs.c
  3.  * contains: cprs(),jprs(),prf(),cprf(),jprf(),
  4.  *
  5.  *   Copyright (C)1987-1990 Greenleaf Software Inc. All Rights Reserved.
  6.  *
  7.  */
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include "gfuncts.h"
  12.  
  13.  
  14. /*
  15.  *  void
  16.  * cprs(cols,string)
  17.  *
  18.  * ARGUMENT
  19.  *  (int)    cols    =    Number of columns to center on
  20.  *  (char *)    string  =    Pointer to string to print
  21.  *
  22.  * DESCRIPTION
  23.  *  Data is centered via centers() and output via prs().
  24.  */
  25. void GF_CONV cprs(cols,str)
  26. char *str;
  27. int cols;
  28. {
  29.     char *buf;
  30.  
  31.     if((buf=malloc(200))==NULL)
  32.         return;
  33.     centers(buf,str,cols);
  34.     prs(buf);
  35.     free(buf);
  36. }
  37.  
  38. /*
  39.  *  bool
  40.  * jprs(cols,str)
  41.  *
  42.  * ARGUMENT
  43.  *  (int)    cols    =    Number of columns to justify on
  44.  *  (char *)    str    =    pointer to string to print
  45.  *
  46.  * DESCRIPTION
  47.  *  Data is justified on a line and printed via prs().
  48.  *
  49.  * RETURNS
  50.  *  TRUE(1) if justification successful, else FALSE(0)
  51.  */
  52. bool GF_CONV jprs(width,str)
  53. char *str;
  54. int width;
  55. {
  56.     char *buf;
  57.     bool iret;
  58.  
  59.     if((buf=malloc(200))==NULL)
  60.         return(FALSE);
  61.     iret=justify(buf,str,width);
  62.     prs(buf);
  63.     free(buf);
  64.     return iret;
  65. }
  66.  
  67. /*
  68.  *  void
  69.  * prf(format,args,)
  70.  *
  71.  * ARGUMENT
  72.  *  (char *)    format    =    pointer to format string for sprintf()
  73.  *         args    =    arguments for sprintf()
  74.  *
  75.  * DESCRIPTION
  76.  *  Arguments are formatted by sprintf to an internal 200 character buffer
  77.  *  then printed via prs().
  78.  */
  79. #ifndef    _MSC
  80. void GF_CDECL prf(format)
  81. #else
  82. #if    _MSC > 4
  83. void GF_CDECL prf(format,...)
  84. #else
  85. void prf(format)
  86. #endif
  87. #endif
  88.  
  89. char *format;
  90. {
  91.     char *buf,**value;
  92.     
  93.     value=&format;
  94.     if((buf=malloc(200))==NULL)
  95.         return;
  96.     sprintf(buf,format,
  97.         value[1],value[2],value[3],value[4],value[5],value[6],
  98.         value[7],value[8],value[9],value[10]
  99. #ifndef _LDATA
  100.         ,value[11],value[12],value[13],value[14],value[15],value[16],
  101.         value[17],value[18],value[19],value[20]
  102. #endif
  103.             );
  104.     prs(buf);
  105.     free(buf);
  106. }
  107.  
  108. /*
  109.  *  void
  110.  * cprf(cols,format,args,)
  111.  *
  112.  * ARGUMENT
  113.  *  (int)    cols    =    Number of columns to center on
  114.  *  (char *)    format    =    format string for sprintf()
  115.  *        args    =    arguments for sprintf()
  116.  *
  117.  * DESCRIPTION
  118.  *  Data is formatted via sprintf() and then output via cprs().
  119.  */
  120. #ifndef    _MSC
  121. void GF_CDECL cprf(cols,format)
  122. #else
  123. #if    _MSC > 4
  124. void GF_CDECL cprf(cols,format,...)
  125. #else
  126. void cprf(cols,format)
  127. #endif
  128. #endif
  129.  
  130. int cols;
  131. char *format;
  132. {
  133.     char *buf,**value;
  134.     
  135.     value=&format;
  136.     if((buf=malloc(200))==NULL)
  137.         return;
  138.     sprintf(buf,format,
  139.         value[1],value[2],value[3],value[4],value[5],value[6],
  140.         value[7],value[8],value[9],value[10]
  141. #ifndef _LDATA
  142.         ,value[11],value[12],value[13],value[14],value[15],value[16],
  143.         value[17],value[18],value[19],value[20]
  144. #endif
  145.         );
  146.     cprs(cols,buf);
  147.     free(buf);
  148. }
  149.  
  150. /*
  151.  *  bool
  152.  * jprf(cols,format,args,)
  153.  *
  154.  * ARGUMENT
  155.  *  (int)    cols    =    Number of columns to justify on
  156.  *  (char *)    format    =    format string for sprintf()
  157.  *          args    =    arguments for sprintf
  158.  *
  159.  * DESCRIPTION
  160.  *  Data is formatted via sprintf(), then justified and printed via
  161.  *  jprs().
  162.  *
  163.  * RETURNS
  164.  *  TRUE if successful, FALSE if unable to allocate memory or unable
  165.  *  to justify.
  166.  */
  167.  
  168. #ifndef    _MSC
  169. bool GF_CDECL jprf(cols,format)
  170. #else
  171. #if    _MSC > 4
  172. bool GF_CDECL jprf(cols,format,...)
  173. #else
  174. bool jprf(cols,format)
  175. #endif
  176. #endif
  177.  
  178. int cols;
  179. char *format;
  180. {
  181.     char *buf;
  182.     bool bret;
  183.     char **value;
  184.     
  185.     value=&format;
  186.     if((buf=malloc(200))==NULL)
  187.         return(FALSE);
  188.     sprintf(buf,format,
  189.         value[1],value[2],value[3],value[4],value[5],value[6],
  190.         value[7],value[8],value[9],value[10]
  191. #ifndef _LDATA
  192.         ,value[11],value[12],value[13],value[14],value[15],value[16],
  193.         value[17],value[18],value[19],value[20]
  194. #endif
  195.         );
  196.     bret=jprs(cols,buf);
  197.     free(buf);
  198.     return bret;
  199. }
  200.