• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/Security-57031.1.35/Security/libsecurity_apple_csp/open_ssl/stack/

Lines Matching refs:st

152 int sk_insert(STACK *st, char *data, int loc)
156 if(st == NULL) return 0;
157 if (st->num_alloc <= st->num+1)
159 s=(char **)Realloc((char *)st->data,
160 (unsigned int)sizeof(char *)*st->num_alloc*2);
163 st->data=s;
164 st->num_alloc*=2;
166 if ((loc >= (int)st->num) || (loc < 0))
167 st->data[st->num]=data;
173 f=(char **)st->data;
174 t=(char **)&(st->data[1]);
175 for (i=st->num; i>=loc; i--)
179 memmove( (char *)&(st->data[loc+1]),
180 (char *)&(st->data[loc]),
181 sizeof(char *)*(st->num-loc));
183 st->data[loc]=data;
185 st->num++;
186 st->sorted=0;
187 return(st->num);
190 char *sk_delete_ptr(STACK *st, char *p)
194 for (i=0; i<st->num; i++)
195 if (st->data[i] == p)
196 return(sk_delete(st,i));
200 char *sk_delete(STACK *st, int loc)
205 if ((st == NULL) || (st->num == 0) || (loc < 0)
206 || (loc >= st->num)) return(NULL);
208 ret=st->data[loc];
209 if (loc != st->num-1)
211 j=st->num-1;
213 st->data[i]=st->data[i+1];
215 * memcpy( &(st->data[loc]),
216 * &(st->data[loc+1]),
217 * sizeof(char *)*(st->num-loc-1));
220 st->num--;
224 int sk_find(STACK *st, char *data)
229 if(st == NULL) return -1;
231 if (st->comp == NULL)
233 for (i=0; i<st->num; i++)
234 if (st->data[i] == data)
238 sk_sort(st);
240 comp_func=(int (*)())st->comp;
241 r=(char **)bsearch(&data,(char *)st->data,
242 st->num,sizeof(char *),FP_ICC comp_func);
244 i=(int)(r-st->data);
246 if ((*st->comp)(&(st->data[i-1]),&data) < 0)
251 int sk_push(STACK *st, char *data)
253 return(sk_insert(st,data,st->num));
256 int sk_unshift(STACK *st, char *data)
258 return(sk_insert(st,data,0));
261 char *sk_shift(STACK *st)
263 if (st == NULL) return(NULL);
264 if (st->num <= 0) return(NULL);
265 return(sk_delete(st,0));
268 char *sk_pop(STACK *st)
270 if (st == NULL) return(NULL);
271 if (st->num <= 0) return(NULL);
272 return(sk_delete(st,st->num-1));
275 void sk_zero(STACK *st)
277 if (st == NULL) return;
278 if (st->num <= 0) return;
279 memset((char *)st->data,0,sizeof(st->data)*st->num);
280 st->num=0;
283 void sk_pop_free(STACK *st, void (*func)())
287 if (st == NULL) return;
288 for (i=0; i<st->num; i++)
289 if (st->data[i] != NULL)
290 func(st->data[i]);
291 sk_free(st);
294 void sk_free(STACK *st)
296 if (st == NULL) return;
297 if (st->data != NULL) Free(st->data);
298 Free(st);
301 int sk_num(STACK *st)
303 if(st == NULL) return -1;
304 return st->num;
307 char *sk_value(STACK *st, int i)
309 if(st == NULL) return NULL;
310 return st->data[i];
313 char *sk_set(STACK *st, int i, char *value)
315 if(st == NULL) return NULL;
316 return (st->data[i] = value);
319 void sk_sort(STACK *st)
321 if (!st->sorted)
325 comp_func=(int (*)())st->comp;
326 qsort(st->data,st->num,sizeof(char *),FP_ICC comp_func);
327 st->sorted=1;