home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume8 / gnuplot1.10A / part07 / help / append.c next >
C/C++ Source or Header  |  1989-09-09  |  1KB  |  53 lines

  1. /*
  2.  * Program    : help
  3.  * Module    : append.c
  4.  * Programmer    : R. Stolfa
  5.  *
  6.  * Purpose :    To append a basename and help topic to the
  7.  *        specified list
  8.  *
  9.  * Modification History:
  10.  *   08/27/87    Created
  11.  *   08/31/87    Changed exit on default to be a call to "catch()"
  12.  *    -    Streamlined the building of nodes
  13.  */
  14.  
  15. #include    "global.h"
  16.  
  17. append (cmd, basename, subject, command)
  18. int    cmd;
  19. char    *basename,
  20.     *subject,
  21.     *command;
  22. {
  23.     struct    LIST    *new;
  24.  
  25.     if ((strlen (basename) == 0) ||
  26.         (strlen (subject) == 0) ||
  27.         (cmd < 0) || (cmd >= 3))
  28.         /*
  29.          * Bad invocation of "append()"
  30.          */
  31.         return;
  32.  
  33.     /*
  34.      * Build the basic LIST structure for the new
  35.      * entry
  36.      */
  37.     new = (struct LIST *)
  38.         malloc (sizeof (struct LIST));
  39.   if(new==NULL){
  40.      fprintf(stderr,"Can't malloc %d bytes\n",sizeof (struct LIST));
  41.      exit(1);
  42.   }
  43.     strcpy (new->base, basename);
  44.     strcpy (new->topic, subject);
  45.     strcpy (new->cmd, command);
  46.  
  47.     /*
  48.      * Append the new element onto the correct list
  49.      */
  50.     new->prev = _list[cmd];
  51.     _list[cmd] = new;
  52. }
  53.