- Timestamp:
- Jan 22, 2012, 6:26:57 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20111122/Ohana/src/libfits/header/F_modify.c
r28246 r33128 70 70 /* string value. Quotes must be at least 18 chars apart */ 71 71 if (!strcmp (mode, "%s")) { 72 strncpy (data, va_arg (argp, char *), 68); 72 char *ptr = va_arg (argp, char *); 73 if (!ptr) goto invalid; 74 strncpy (data, ptr, 68); 73 75 snprintf (string, 81, "%-8s= '%-18s' / %-s ", field, data, comment); 74 76 goto found_it; … … 76 78 77 79 /* failed to find mode */ 80 invalid: 81 va_end (argp); 78 82 return (FALSE); 79 83 … … 82 86 va_end (argp); 83 87 return (TRUE); 84 85 88 } 86 89 … … 143 146 /* comment type of value. */ 144 147 if (!strcmp (mode, "%S")) { 145 strncpy (data, va_arg (argp, char *), 71); 148 char *ptr = va_arg (argp, char *); 149 if (!ptr) goto invalid; 150 strncpy (data, ptr, 71); 146 151 snprintf (string, 81, "%-8s %-71s", field, data); 147 152 } … … 157 162 158 163 strncpy (data, qs, MAX (MIN (qe - qs, 71), 0)); 159 strncpy (comment, va_arg (argp, char *), 80); 164 165 char *ptr = va_arg (argp, char *); 166 if (!ptr) goto invalid; 167 strncpy (comment, ptr, 80); 160 168 gfits_pad_ending (comment, ' ', 82); /* comment must contain spaces to the end */ 161 169 snprintf (string, 81, "%-8s= %s / %-s", field, data, comment); … … 167 175 return (TRUE); 168 176 177 invalid: 178 va_end (argp); 179 return (FALSE); 169 180 } 170 181
Note:
See TracChangeset
for help on using the changeset viewer.
