Changeset 18116 for trunk/Ohana/src/opihi/pcontrol/stdout.c
- Timestamp:
- Jun 13, 2008, 8:30:49 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/pcontrol/stdout.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/pcontrol/stdout.c
r12840 r18116 1 1 # include "pcontrol.h" 2 2 3 // XXX unify by testing for value of argv[0] 3 4 int stdout_pc (int argc, char **argv) { 4 5 5 int JobID, StackID;6 int N, JobID, StackID; 6 7 Job *job; 7 8 IOBuffer *buffer; 9 char *varName; 10 11 varName = NULL; 12 if ((N = get_argument (argc, argv, "-var"))) { 13 remove_argument (N, &argc, argv); 14 varName = strcreate (argv[N]); 15 remove_argument (N, &argc, argv); 16 } 8 17 9 18 if (argc != 2) { 10 gprint (GP_ERR, "USAGE: stdout (JobID) \n");19 gprint (GP_ERR, "USAGE: stdout (JobID) [-var name]\n"); 11 20 gprint (GP_LOG, "STATUS %d\n", -1); 12 21 return (FALSE); … … 25 34 26 35 gprint (GP_ERR, "job not found in EXIT or CRASH\n"); 27 gprint (GP_LOG, "STATUS %d\n", -2); 36 if (varName == NULL) { 37 gprint (GP_LOG, "STATUS %d\n", -2); 38 } else { 39 set_str_variable (varName, "NULL"); 40 free (varName); 41 } 28 42 return (FALSE); 29 43 30 44 found_stdout: 31 45 buffer = &job[0].stdout_buff; 32 fwrite (buffer[0].buffer, 1, buffer[0].Nbuffer, stdout); 33 gprint (GP_LOG, "STATUS %d\n", 0); 46 if (varName == NULL) { 47 fwrite (buffer[0].buffer, 1, buffer[0].Nbuffer, stdout); 48 gprint (GP_LOG, "STATUS %d\n", 0); 49 } else { 50 // XXX this can drop '0' values 51 set_str_variable (varName, buffer[0].buffer); 52 free (varName); 53 } 34 54 PutJob (job, StackID, STACK_BOTTOM); 35 55 return (TRUE); … … 38 58 int stderr_pc (int argc, char **argv) { 39 59 40 int JobID, StackID;60 int N, JobID, StackID; 41 61 Job *job; 42 62 IOBuffer *buffer; 63 char *varName; 64 65 varName = NULL; 66 if ((N = get_argument (argc, argv, "-var"))) { 67 remove_argument (N, &argc, argv); 68 varName = strcreate (argv[N]); 69 remove_argument (N, &argc, argv); 70 } 43 71 44 72 if (argc != 2) { 45 gprint (GP_ERR, "USAGE: stderr (JobID) \n");73 gprint (GP_ERR, "USAGE: stderr (JobID) [-var name]\n"); 46 74 gprint (GP_LOG, "STATUS %d\n", -1); 47 75 return (FALSE); … … 60 88 61 89 gprint (GP_ERR, "job not found in EXIT or CRASH\n"); 62 gprint (GP_LOG, "STATUS %d\n", -2); 90 if (varName == NULL) { 91 gprint (GP_LOG, "STATUS %d\n", -2); 92 } else { 93 set_str_variable (varName, "NULL"); 94 free (varName); 95 } 63 96 return (FALSE); 64 97 65 98 found_stderr: 66 99 buffer = &job[0].stderr_buff; 67 fwrite (buffer[0].buffer, 1, buffer[0].Nbuffer, stdout); 68 gprint (GP_LOG, "STATUS %d\n", 0); 100 if (varName == NULL) { 101 fwrite (buffer[0].buffer, 1, buffer[0].Nbuffer, stdout); 102 gprint (GP_LOG, "STATUS %d\n", 0); 103 } else { 104 // XXX this can drop '0' values 105 set_str_variable (varName, buffer[0].buffer); 106 free (varName); 107 } 69 108 PutJob (job, StackID, STACK_BOTTOM); 70 109 return (TRUE);
Note:
See TracChangeset
for help on using the changeset viewer.
