File: ftocstr.c

package info (click to toggle)
pvm 3.4.6-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 8,284 kB
  • sloc: ansic: 72,074; makefile: 1,198; fortran: 631; sh: 285; csh: 74; asm: 37
file content (55 lines) | stat: -rw-r--r-- 928 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

/* $Id: ftocstr.c,v 1.1 1997/06/27 16:08:08 pvmsrc Exp $ */

#include <windows.h>
#include <stdio.h>
#include "../../src/bfunc.h"

#ifndef min
#define min(i,j) ((i)<(j)?(i):(j))
#endif


ftocstr(ds, dl, ss, sl)
    char *ds, *ss;      /* dst, src ptrs */
    int dl;             /* dst max len */
    int sl;             /* src len */
{
    char *p;

    for (p = ss + sl; --p >= ss && *p == ' '; ) ;
    sl = p - ss + 1;
    dl--;
    ds[0] = 0;
    if (sl > dl)
        return 1;
    strncat(ds, ss, min(sl, dl));
    return 0;
}


ctofstr(ds, dl, ss)
	char *ds;		/* dest space */
	int dl;			/* max dest length */
	char *ss;		/* src string (0-term) */
{
	int sl = strlen(ss);

	if (dl <= sl)
		BCOPY(ss, ds, dl);

	else {
		
		if ((ds=malloc(sizeof(char)*sl)) == 0)
			fprintf(stderr,"malloc in ctofstr failed \n");
		memcpy(ds,ss,sl);
		return 0;

		dl -= sl;
		ds += sl;
		while (dl-- > 0)
			*ds++ = ' ';
	}
	return 0;
}