/* * Copyright 1993, 1995 Christopher Seiwald. * * This file is part of Jam - see jam.c for Copyright information. */ /* * command.c - maintain lists of commands */ # include "jam.h" # include "lists.h" # include "parse.h" # include "variable.h" # include "rules.h" # include "command.h" /* * cmd_new() - return a new CMD or 0 if too many args */ CMD * cmd_new( RULE *rule, LIST *targets, LIST *sources, LIST *shell ) { CMD *cmd = (CMD *)malloc( sizeof( CMD ) ); cmd->rule = rule; cmd->shell = shell; cmd->next = 0; lol_init( &cmd->args ); lol_add( &cmd->args, targets ); lol_add( &cmd->args, sources ); /* Bail if the result won't fit in MAXLINE */ /* We don't free targets/sources/shell if bailing. */ if( var_string( rule->actions, cmd->buf, MAXLINE, &cmd->args ) < 0 ) { cmd_free( cmd ); return 0; } return cmd; } /* * cmd_free() - free a CMD */ void cmd_free( CMD *cmd ) { lol_free( &cmd->args ); list_free( cmd->shell ); free( (char *)cmd ); }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#10 | 3972 | Matt Armstrong |
bootstrap integrations from //guest/matt_armstrong/jam/fix/2/... (no code change) |
||
#9 | 3969 | Matt Armstrong |
Integrate from //guest/matt_armstrong/jam/fix/2/...@3963 -- no real changes. |
||
#8 | 3950 | Matt Armstrong |
Integrate from //guest/matt_armstrong/jam/fix/1/... thru change 3948 and make no changes. |
||
#7 | 3328 | Matt Armstrong |
patchlevel to a.d fix cmd_string() to not do response file stuff for all rules |
||
#6 | 3319 | Matt Armstrong | Plug a memory leak. | ||
#5 | 3311 | Matt Armstrong | Update from mainline. | ||
#4 | 2822 | Matt Armstrong | Initial implementation of response files. | ||
#3 | 2817 | Matt Armstrong | Update with current known working version. | ||
#2 | 2507 | Matt Armstrong | update from the mainline | ||
#1 | 1270 | Matt Armstrong | In prep for publishing all my patches to jam. | ||
//guest/perforce_software/jam/src/command.c | |||||
#3 | 486 | Perforce staff |
Jam 2.3. See RELNOTES for a list of changes from 2.2.x. Just about every source file was touched when jam got ANSI-fied. |
||
#2 | 76 | Laura Wingerd |
Integrate command-block-too-long fix, plus minor doc updates. Jam/MR release level is now 2.2.5. (change 72, change 73, change 74, change 75) |
||
#1 | 2 | laura | Add Jam/MR 2.2 source |