Changeset 769 in kBuild
- Timestamp:
- Jan 19, 2007 4:41:59 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gmake/kmkbuiltin/append.c
r767 r769 29 29 #include "err.h" 30 30 #include "kmkbuiltin.h" 31 #ifndef kmk_builtin_append 32 # include "make.h" 33 # include "variable.h" 34 #endif 31 35 32 36 … … 36 40 static int usage(void) 37 41 { 38 fprintf(stderr, "usage: append [-n ] file [string ...]\n");42 fprintf(stderr, "usage: append [-nv] file [string ...]\n"); 39 43 return 1; 40 44 } … … 50 54 FILE *pFile; 51 55 int fNewLine = 0; 56 #ifndef kmk_builtin_append 57 int fVariables = 0; 58 #endif 52 59 53 60 g_progname = argv[0]; … … 60 67 && argv[i][0] == '-' 61 68 && argv[i][1] != '\0' /* '-' is a file */ 62 && strchr("n ", argv[i][1]) /* valid option char */69 && strchr("nv", argv[i][1]) /* valid option char */ 63 70 ) 64 71 { … … 71 78 fNewLine = 1; 72 79 break; 80 case 'v': 81 #ifndef kmk_builtin_append 82 fVariables = 1; 83 break; 84 #else 85 errx(1, "Option '-v' isn't supported in external mode."); 86 return usage(); 87 #endif 73 88 default: 74 89 errx(1, "Invalid option '%c'! (%s)", *psz, argv[i]); … … 101 116 if (!fFirst) 102 117 fputc(fNewLine ? '\n' : ' ', pFile); 118 #ifndef kmk_builtin_append 119 if (fVariables) 120 { 121 struct variable *pVar = lookup_variable(psz, cch); 122 if (!pVar) 123 continue; 124 if ( pVar->recursive 125 && memchr(pVar->value, '$', pVar->value_length)) 126 { 127 char *pszExpanded = allocated_variable_expand(pVar->value); 128 fwrite(pszExpanded, 1, strlen(pszExpanded), pFile); 129 free(pszExpanded); 130 } 131 else 132 fwrite(pVar->value, 1, pVar->value_length, pFile); 133 } 103 134 else 104 fFirst = 0; 105 fwrite(psz, 1, cch, pFile); 135 #endif 136 fwrite(psz, 1, cch, pFile); 137 fFirst = 0; 106 138 } 107 139
Note:
See TracChangeset
for help on using the changeset viewer.