Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 105478 | Differences between
and this patch

Collapse All | Expand All

(-)src/pcm/pcm_ladspa.c.orig (+25 lines)
Lines 28-34 Link Here
28
  
28
  
29
#include <dirent.h>
29
#include <dirent.h>
30
#include <dlfcn.h>
30
#include <dlfcn.h>
31
#ifdef HAS_WORDEXP
31
#include <wordexp.h>
32
#include <wordexp.h>
33
#else
34
#include <glob.h>
35
#endif
32
#include "pcm_local.h"
36
#include "pcm_local.h"
33
#include "pcm_plugin.h"
37
#include "pcm_plugin.h"
34
38
Lines 794-806 Link Here
794
{
798
{
795
	const char *c;
799
	const char *c;
796
	size_t l;
800
	size_t l;
801
#ifdef HAS_WORDEXP
797
	wordexp_t we;
802
	wordexp_t we;
803
#else
804
	glob_t globbuf;
805
#endif
798
	int err;
806
	int err;
799
	
807
	
800
	for (c = path; (l = strcspn(c, ": ")) > 0; ) {
808
	for (c = path; (l = strcspn(c, ": ")) > 0; ) {
801
		char name[l + 1];
809
		char name[l + 1];
802
		memcpy(name, c, l);
810
		memcpy(name, c, l);
803
		name[l] = 0;
811
		name[l] = 0;
812
#ifdef HAS_WORDEXP
804
		err = wordexp(name, &we, WRDE_NOCMD);
813
		err = wordexp(name, &we, WRDE_NOCMD);
805
		switch (err) {
814
		switch (err) {
806
		case WRDE_NOSPACE:
815
		case WRDE_NOSPACE:
Lines 814-819 Link Here
814
		}
823
		}
815
		err = snd_pcm_ladspa_check_dir(plugin, we.we_wordv[0], label, ladspa_id);
824
		err = snd_pcm_ladspa_check_dir(plugin, we.we_wordv[0], label, ladspa_id);
816
		wordfree(&we);
825
		wordfree(&we);
826
#else
827
		err = glob(name, 0, NULL, &globbuf);
828
		switch(err) {
829
		case GLOB_NOSPACE:
830
			return -ENOMEM;
831
		case 0:
832
			if (globbuf.gl_pathc == 1)
833
				break;
834
			/* Fall Through */
835
		default:
836
			return -EINVAL;
837
		}
838
		err = snd_pcm_ladspa_check_dir(plugin, globbuf.gl_pathv[0], label, ladspa_id);
839
		globfree(&globbuf);
840
#endif
841
817
		if (err < 0)
842
		if (err < 0)
818
			return err;
843
			return err;
819
		if (err > 0)
844
		if (err > 0)
(-)src/alisp/alisp.c.orig (-1 lines)
Lines 30-36 Link Here
30
#include <ctype.h>
30
#include <ctype.h>
31
#include <math.h>
31
#include <math.h>
32
#include <err.h>
32
#include <err.h>
33
#include <wordexp.h>
34
33
35
#define alisp_seq_iterator alisp_object
34
#define alisp_seq_iterator alisp_object
36
35
(-)src/conf.c.orig (-1 lines)
Lines 415-421 Link Here
415
415
416
416
417
#include <stdarg.h>
417
#include <stdarg.h>
418
#include <wordexp.h>
419
#include <dlfcn.h>
418
#include <dlfcn.h>
420
#include <limits.h>
419
#include <limits.h>
421
#include <sys/stat.h>
420
#include <sys/stat.h>
(-)src/userfile.c.orig (+26 lines)
Lines 20-26 Link Here
20
  
20
  
21
#include <string.h>
21
#include <string.h>
22
#include <errno.h>
22
#include <errno.h>
23
#ifdef HAS_WORDEXP
23
#include <wordexp.h>
24
#include <wordexp.h>
25
#else
26
#include <glob.h>
27
#endif
24
#include <assert.h>
28
#include <assert.h>
25
29
26
/**
30
/**
Lines 34-43 Link Here
34
 */
38
 */
35
int snd_user_file(const char *file, char **result)
39
int snd_user_file(const char *file, char **result)
36
{
40
{
41
#ifdef HAS_WORDEXP
37
	wordexp_t we;
42
	wordexp_t we;
43
#else
44
	glob_t	globbuf;
45
#endif
38
	int err;
46
	int err;
39
	
47
	
40
	assert(file && result);
48
	assert(file && result);
49
#ifdef HAS_WORDEXP
41
	err = wordexp(file, &we, WRDE_NOCMD);
50
	err = wordexp(file, &we, WRDE_NOCMD);
42
	switch (err) {
51
	switch (err) {
43
	case WRDE_NOSPACE:
52
	case WRDE_NOSPACE:
Lines 54-58 Link Here
54
	if (*result == NULL)
63
	if (*result == NULL)
55
		return -ENOMEM;
64
		return -ENOMEM;
56
	wordfree(&we);
65
	wordfree(&we);
66
#else
67
	err = glob(file, 0, NULL, &globbuf);
68
	switch (err){
69
	case GLOB_NOSPACE:
70
		err = -ENOMEM;
71
	case 0:
72
		if (globbuf.gl_pathc == 1)
73
			break;
74
		/* fall thru*/
75
	default:
76
		return -EINVAL;
77
	}
78
	*result = strdup(globbuf.gl_pathv[0]);
79
	if (*result == NULL)
80
		return -ENOMEM;
81
	globfree(&globbuf);
82
#endif
57
	return 0;
83
	return 0;
58
}
84
}
(-)src/names.c.orig (-1 lines)
Lines 31-37 Link Here
31
 */
31
 */
32
32
33
#include <stdarg.h>
33
#include <stdarg.h>
34
#include <wordexp.h>
35
#include <dlfcn.h>
34
#include <dlfcn.h>
36
#include <limits.h>
35
#include <limits.h>
37
#include <sys/stat.h>
36
#include <sys/stat.h>

Return to bug 105478