- Timestamp:
- Feb 26, 2016, 7:33:44 AM (10 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/cmd.basic/list.c (modified) (21 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.basic/list.c
r39328 r39403 2 2 # include <glob.h> 3 3 # define D_NLINES 100 4 # define MAX_LINE_LENGTH 1024 4 5 static char prompt[] = ">> "; 5 6 … … 11 12 12 13 int ThisList, depth, i, done, found; 13 char *input, line[ 1024];14 char *input, line[MAX_LINE_LENGTH]; 14 15 int N; 15 16 … … 93 94 set_str_variable (line, argv[i+3]); 94 95 } 95 snprintf (line, 1024, "%s:n", argv[1]);96 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[1]); 96 97 set_int_variable (line, i); 97 98 … … 108 109 int isFound; 109 110 110 snprintf (line, 1024, "%s:n", argv[1]);111 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[1]); 111 112 int nList = get_int_variable (line, &isFound); 112 113 if (!isFound) { … … 115 116 } 116 117 117 char tmpline[ 1024], output[1024];118 memset (tmpline, 0, 1024);119 memset (output, 0, 1024);118 char tmpline[MAX_LINE_LENGTH], output[MAX_LINE_LENGTH]; 119 memset (tmpline, 0, MAX_LINE_LENGTH); 120 memset (output, 0, MAX_LINE_LENGTH); 120 121 121 122 for (i = 0; i < nList; i++) { 122 snprintf (line, 1024, "%s:%d", argv[1], i);123 snprintf (line, MAX_LINE_LENGTH, "%s:%d", argv[1], i); 123 124 char *word = get_variable (line); 124 125 if (!word) break; 125 126 if (i > 0) { 126 snprintf (output, 1024, "%s %s", tmpline, word);127 snprintf (output, MAX_LINE_LENGTH, "%s %s", tmpline, word); 127 128 } else { 128 snprintf (output, 1024, "%s", word);129 snprintf (output, MAX_LINE_LENGTH, "%s", word); 129 130 } 130 131 strcpy (tmpline, output); … … 154 155 155 156 // old list must exist, or give an error 156 snprintf (line, 1024, "%s:n", argv[3]);157 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[3]); 157 158 N = get_int_variable (line, &found); 158 159 if (!found) { … … 163 164 164 165 165 snprintf (line, 1024, "%s:n", argv[1]);166 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[1]); 166 167 set_int_variable (line, N); 167 168 for (i = 0; i < N; i++) { 168 snprintf (line, 1024, "%s:%d", argv[3], i);169 snprintf (line, MAX_LINE_LENGTH, "%s:%d", argv[3], i); 169 170 value = get_variable (line); 170 // snprintf (line, 1024, "%s:%d", argv[1], i);171 // snprintf (line, MAX_LINE_LENGTH, "%s:%d", argv[1], i); 171 172 set_list_varname (line, argv[1], i, EXCEL_STYLE); 172 173 set_str_variable (line, value); … … 182 183 } 183 184 184 snprintf (line, 1024, "%s:n", argv[1]);185 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[1]); 185 186 N = get_int_variable (line, &found); 186 187 for (i = 0; i < argc - 3; i++) { 187 // snprintf (line, 1024, "%s:%d", argv[1], N + i);188 // snprintf (line, MAX_LINE_LENGTH, "%s:%d", argv[1], N + i); 188 189 set_list_varname (line, argv[1], N + i, EXCEL_STYLE); 189 190 set_str_variable (line, argv[i+3]); 190 191 } 191 snprintf (line, 1024, "%s:n", argv[1]);192 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[1]); 192 193 set_int_variable (line, N + i); 193 194 … … 204 205 int j; 205 206 char *value, *next_value; 206 char line2[ 1024];207 208 snprintf (line, 1024, "%s:n", argv[1]);207 char line2[MAX_LINE_LENGTH]; 208 209 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[1]); 209 210 N = get_int_variable (line, &found); 210 211 for (i = 0; i < N; i++) { 211 // snprintf (line, 1024, "%s:%d", argv[1], i);212 // snprintf (line, MAX_LINE_LENGTH, "%s:%d", argv[1], i); 212 213 set_list_varname (line, argv[1], i, EXCEL_STYLE); 213 214 value = get_variable (line); … … 216 217 free (value); 217 218 for (j = i + 1; j < N; j++) { 218 // snprintf (line, 10242, "%s:%d", argv[1], j);219 // snprintf (line, MAX_LINE_LENGTH, "%s:%d", argv[1], j); 219 220 set_list_varname (line2, argv[1], j, EXCEL_STYLE); 220 221 next_value = get_variable (line2); … … 223 224 } 224 225 DeleteNamedScalar (line); 225 snprintf (line, 10242, "%s:n", argv[1]);226 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[1]); 226 227 set_int_variable (line2, N - 1); 227 228 return (TRUE); … … 274 275 depth --; 275 276 if (depth < 0) { /* we hit the last "END", loop is done */ 276 snprintf (line, 1024, "%s:n", argv[1]);277 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[1]); 277 278 set_int_variable (line, i); 278 279 free (input); … … 282 283 283 284 if (*input) { 284 // snprintf (line, 1024, "%s:%d", argv[1], i);285 // snprintf (line, MAX_LINE_LENGTH, "%s:%d", argv[1], i); 285 286 set_list_varname (line, argv[1], i, EXCEL_STYLE); 286 287 set_str_variable (line, input); … … 294 295 int CommandToList (char *listname, char *Command, int EXCEL_STYLE) { 295 296 296 char line[ 1024];297 char line[MAX_LINE_LENGTH]; 297 298 298 299 /* val will hold the result */ 299 int NBYTES = 1024;300 int NBYTES = MAX_LINE_LENGTH; 300 301 char *val; 301 302 ALLOCATE (val, char, NBYTES); … … 315 316 if (Nread > 0) { 316 317 Nbytes += Nread; 317 NBYTES = 1024+ Nbytes;318 NBYTES = MAX_LINE_LENGTH + Nbytes; 318 319 REALLOCATE (val, char, NBYTES); 319 320 } … … 346 347 free (val); 347 348 348 snprintf (line, 1024, "%s:n", listname);349 snprintf (line, MAX_LINE_LENGTH, "%s:n", listname); 349 350 set_int_variable (line, i); 350 351 return (TRUE); … … 354 355 355 356 int i; 356 char line[ 1024];357 char line[MAX_LINE_LENGTH]; 357 358 glob_t globList; 358 359 … … 364 365 // otherwise save all glob matches 365 366 if (globList.gl_pathc == 0) { 366 snprintf (line, 1024, "%s:n", listname);367 snprintf (line, MAX_LINE_LENGTH, "%s:n", listname); 367 368 set_int_variable (line, 0); 368 369 return TRUE; … … 374 375 set_str_variable (line, globList.gl_pathv[i]); 375 376 } 376 snprintf (line, 1024, "%s:n", listname);377 snprintf (line, MAX_LINE_LENGTH, "%s:n", listname); 377 378 set_int_variable (line, Nfile); 378 379 return (TRUE); … … 382 383 383 384 int i, j; 384 char line[ 1024];385 char line[MAX_LINE_LENGTH]; 385 386 386 387 int nWords = 0; … … 407 408 FREE (new); 408 409 } 409 snprintf (line, 1024, "%s:n", argv[1]);410 snprintf (line, MAX_LINE_LENGTH, "%s:n", argv[1]); 410 411 set_int_variable (line, nWords); 411 412
Note:
See TracChangeset
for help on using the changeset viewer.
